[INFO] cloning repository https://github.com/ArmedGuy/rusty-rust-interpreter
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ArmedGuy/rusty-rust-interpreter" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArmedGuy%2Frusty-rust-interpreter", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArmedGuy%2Frusty-rust-interpreter'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 049b40e52d8f26f09545e4222eb9402370e7fe86
[INFO] checking ArmedGuy/rusty-rust-interpreter against try#4f260f0f20b3133d20cfb50353c0221943af5796+rustflags=-Dunmustuse_in_always_ok for pr-148577
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArmedGuy%2Frusty-rust-interpreter" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ArmedGuy/rusty-rust-interpreter
[INFO] finished tweaking git repo https://github.com/ArmedGuy/rusty-rust-interpreter
[INFO] tweaked toml for git repo https://github.com/ArmedGuy/rusty-rust-interpreter written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ArmedGuy/rusty-rust-interpreter on toolchain 4f260f0f20b3133d20cfb50353c0221943af5796
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ArmedGuy/rusty-rust-interpreter 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" "+4f260f0f20b3133d20cfb50353c0221943af5796" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 95f17c95a129392e31faac09df16bc38b99733bbea7aff5974068014a31df0a3
[INFO] running `Command { std: "docker" "start" "-a" "95f17c95a129392e31faac09df16bc38b99733bbea7aff5974068014a31df0a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "95f17c95a129392e31faac09df16bc38b99733bbea7aff5974068014a31df0a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95f17c95a129392e31faac09df16bc38b99733bbea7aff5974068014a31df0a3", kill_on_drop: false }`
[INFO] [stdout] 95f17c95a129392e31faac09df16bc38b99733bbea7aff5974068014a31df0a3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dunmustuse_in_always_ok" "-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+4f260f0f20b3133d20cfb50353c0221943af5796" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 328a15e741aad8e8a71f9b4d7bb539563a03d27b68e08d8945b9a10c9c8a3067
[INFO] running `Command { std: "docker" "start" "-a" "328a15e741aad8e8a71f9b4d7bb539563a03d27b68e08d8945b9a10c9c8a3067", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.3.3
[INFO] [stderr]    Compiling proc-macro2 v1.0.19
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling libc v0.2.76
[INFO] [stderr]    Compiling typenum v1.12.0
[INFO] [stderr]    Compiling byteorder v1.3.4
[INFO] [stderr]    Compiling syn v1.0.39
[INFO] [stderr]    Compiling serde_derive v1.0.115
[INFO] [stderr]    Compiling serde v1.0.115
[INFO] [stderr]    Compiling log v0.4.11
[INFO] [stderr]    Compiling byte-tools v0.3.1
[INFO] [stderr]    Compiling regex-syntax v0.6.18
[INFO] [stderr]    Compiling siphasher v0.3.3
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling hashbrown v0.8.2
[INFO] [stderr]    Compiling thread_local v1.0.1
[INFO] [stderr]    Compiling indexmap v1.5.2
[INFO] [stderr]    Compiling block-padding v0.1.5
[INFO] [stderr]    Compiling fake-simd v0.1.2
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling opaque-debug v0.2.3
[INFO] [stderr]    Compiling phf_shared v0.8.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.4
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling either v1.6.0
[INFO] [stderr]    Compiling bit-vec v0.6.2
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling diff v0.1.12
[INFO] [stderr]    Compiling ena v0.14.0
[INFO] [stderr]    Compiling dirs v1.0.5
[INFO] [stderr]    Compiling aho-corasick v0.7.13
[INFO] [stderr]    Compiling bit-set v0.5.2
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling term v0.5.2
[INFO] [stderr]    Compiling ascii-canvas v2.0.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling generic-array v0.12.3
[INFO] [stderr]    Compiling digest v0.8.1
[INFO] [stderr]    Compiling block-buffer v0.7.3
[INFO] [stderr]    Compiling sha2 v0.8.2
[INFO] [stderr]    Compiling regex v1.3.9
[INFO] [stderr]    Compiling lalrpop-util v0.19.0
[INFO] [stderr]    Compiling string_cache v0.8.0
[INFO] [stderr]    Compiling docopt v1.1.0
[INFO] [stderr]    Compiling lalrpop v0.19.0
[INFO] [stderr]    Compiling d7050e_2020 v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> tests/w1_2.rs:62:15
[INFO] [stdout]    |
[INFO] [stdout] 62 |         while (b < 10) {
[INFO] [stdout]    |               ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 62 -         while (b < 10) {
[INFO] [stdout] 62 +         while b < 10 {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/w1_2.rs:60:13
[INFO] [stdout]    |
[INFO] [stdout] 60 |         let mut b: i32 = 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 import: `parser::*`
[INFO] [stdout]  --> src/comments/main.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use parser::*;
[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 variable: `x`
[INFO] [stdout]   --> tests/w1_2.rs:59:10
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn c(x: bool, y: bool) -> i32 {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `y`
[INFO] [stdout]   --> tests/w1_2.rs:59:19
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn c(x: bool, y: bool) -> i32 {
[INFO] [stdout]    |                   ^ help: if this is intentional, prefix it with an underscore: `_y`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/grammar.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     String::from_str(__0).unwrap()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/comments/parser.rs:1326:5
[INFO] [stdout]      |
[INFO] [stdout] 1326 |     String::from_str(__0).unwrap()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]    --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/grammar.rs:334:5
[INFO] [stdout]     |
[INFO] [stdout] 334 |     String::from_str(__0).unwrap()
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "d7050e_2020") due to 1 previous error
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/minimal/parser.rs:1324:5
[INFO] [stdout]      |
[INFO] [stdout] 1324 |     String::from_str(__0).unwrap()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "comments" test) due to 1 previous error
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "d7050e_2020" test) due to 1 previous error
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "minimal") due to 1 previous error
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/minimal/parser.rs:1324:5
[INFO] [stdout]      |
[INFO] [stdout] 1324 |     String::from_str(__0).unwrap()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]     --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/comments/parser.rs:1326:5
[INFO] [stdout]      |
[INFO] [stdout] 1326 |     String::from_str(__0).unwrap()
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "minimal" test) due to 1 previous error
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "comments") due to 1 previous error; 1 warning emitted
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/ast/inderpaderper.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     while (!br) {
[INFO] [stdout]    |           ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 -     while (!br) {
[INFO] [stdout] 14 +     while !br  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `while` condition
[INFO] [stdout]   --> src/ast/inderpaderper.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 |     while (!br) {
[INFO] [stdout]    |           ^   ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 -     while (!br) {
[INFO] [stdout] 14 +     while !br  {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast/type_checking.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut scope = self.vartable.get_mut(&current).unwrap();
[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: `span`
[INFO] [stdout]    --> src/ast/type_checking.rs:129:42
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let ast::Expr::Identifier(id, span) = expr {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/type_checking.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut scope = self.vartable.get_mut(&current).unwrap();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/type_checking.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 let mut var = scope.get_mut(id).unwrap();
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/ast/type_checking.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 |         ast::Expr::Str(s) => Ok(ast::Typedef::Str),
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/type_checking.rs:503:41
[INFO] [stdout]     |
[INFO] [stdout] 503 |             ast::Statement::Block(_, _, span) => block_type_check(scope, Box::new(stmt)).0,
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/ast/inderpaderper.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut br = false;
[INFO] [stdout]   |         ----^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast/shittyvm.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut scope = self.vartable.get_mut(&current).unwrap();
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast/shittyvm.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 let mut var = scope.get_mut(id).unwrap();
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:165:35
[INFO] [stdout]     |
[INFO] [stdout] 165 |         ast::Expr::Op(e1, op, e2, span) => {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:274:47
[INFO] [stdout]     |
[INFO] [stdout] 274 |         ast::Expr::ModOp(ast::Opcode::Neg, e, span) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:286:47
[INFO] [stdout]     |
[INFO] [stdout] 286 |         ast::Expr::ModOp(ast::Opcode::Sub, e, span) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:371:44
[INFO] [stdout]     |
[INFO] [stdout] 371 |         ast::Statement::Block(stmts, None, span) => {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:374:50
[INFO] [stdout]     |
[INFO] [stdout] 374 |         ast::Statement::Block(stmts, Some(ret2), span) => {
[INFO] [stdout]     |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:379:50
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 if let ast::Statement::Return(e, inner_span) = *ret2 {
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/ast/shittyvm.rs:465:17
[INFO] [stdout]     |
[INFO] [stdout] 465 |             let ret = if ret.is_some() { ret.as_ref().unwrap().clone() } else { ast::Typedef::Unit };
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vars`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:41
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:52
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:58
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:64
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vars`
[INFO] [stdout]    --> src/ast/shittyvm.rs:481:41
[INFO] [stdout]     |
[INFO] [stdout] 481 |             ast::Statement::Function(_, vars, None, body, span) => {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/ast/shittyvm.rs:481:53
[INFO] [stdout]     |
[INFO] [stdout] 481 |             ast::Statement::Function(_, vars, None, body, span) => {
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:481:59
[INFO] [stdout]     |
[INFO] [stdout] 481 |             ast::Statement::Function(_, vars, None, body, span) => {
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:484:41
[INFO] [stdout]     |
[INFO] [stdout] 484 |             ast::Statement::Block(_, _, span) => eval_block(scope, Box::new(stmt)),
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def`
[INFO] [stdout]    --> src/ast/shittyvm.rs:489:51
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if let ast::Statement::VarDef(id, def) = *vardef {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:501:47
[INFO] [stdout]     |
[INFO] [stdout] 501 |             ast::Statement::Assignment(id, e, span) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:515:48
[INFO] [stdout]     |
[INFO] [stdout] 515 |             ast::Statement::WhileLoop(e, body, span) => {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast/type_checking.rs:93:17
[INFO] [stdout]    |
[INFO] [stdout] 93 |             let mut scope = self.vartable.get_mut(&current).unwrap();
[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: `span`
[INFO] [stdout]    --> src/ast/type_checking.rs:129:42
[INFO] [stdout]     |
[INFO] [stdout] 129 |         if let ast::Expr::Identifier(id, span) = expr {
[INFO] [stdout]     |                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/type_checking.rs:140:17
[INFO] [stdout]     |
[INFO] [stdout] 140 |             let mut scope = self.vartable.get_mut(&current).unwrap();
[INFO] [stdout]     |                 ----^^^^^
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/ast/type_checking.rs:142:21
[INFO] [stdout]     |
[INFO] [stdout] 142 |                 let mut var = scope.get_mut(id).unwrap();
[INFO] [stdout]     |                     ----^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reference` is never read
[INFO] [stdout]   --> src/ast/type_checking.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct VarFeatures {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     reference: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VarFeatures` has a derived impl for the trait `Clone`, but this is 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: fields `mutable`, `reference`, `borrowed`, `mutborrowed`, and `transferred` are never read
[INFO] [stdout]   --> src/ast/shittyvm.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct VarFeatures {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 14 |     expr: ast::Expr,
[INFO] [stdout] 15 |     mutable: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     reference: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     borrowed: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 18 |     mutborrowed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 19 |     transferred: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VarFeatures` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_function_if_err` is never used
[INFO] [stdout]    --> src/ast/shittyvm.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl Scope {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn format_function_if_err(&self, res: Result<ast::Expr, Error>, span: ast::CodeSpan) -> Result<ast::Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/ast/parser.rs:26471:5
[INFO] [stdout]       |
[INFO] [stdout] 26471 |     String::from_str(__0).unwrap()
[INFO] [stdout]       |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/ast/parser.rs:26482:5
[INFO] [stdout]       |
[INFO] [stdout] 26482 |     String::from_str(__0).unwrap()
[INFO] [stdout]       |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/ast/type_checking.rs:230:24
[INFO] [stdout]     |
[INFO] [stdout] 230 |         ast::Expr::Str(s) => Ok(ast::Typedef::Str),
[INFO] [stdout]     |                        ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/type_checking.rs:503:41
[INFO] [stdout]     |
[INFO] [stdout] 503 |             ast::Statement::Block(_, _, span) => block_type_check(scope, Box::new(stmt)).0,
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]  --> src/ast/inderpaderper.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let mut br = false;
[INFO] [stdout]   |         ----^^
[INFO] [stdout]   |         |
[INFO] [stdout]   |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast/shittyvm.rs:90:17
[INFO] [stdout]    |
[INFO] [stdout] 90 |             let mut scope = self.vartable.get_mut(&current).unwrap();
[INFO] [stdout]    |                 ----^^^^^
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/ast/shittyvm.rs:92:21
[INFO] [stdout]    |
[INFO] [stdout] 92 |                 let mut var = scope.get_mut(id).unwrap();
[INFO] [stdout]    |                     ----^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:165:35
[INFO] [stdout]     |
[INFO] [stdout] 165 |         ast::Expr::Op(e1, op, e2, span) => {
[INFO] [stdout]     |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:274:47
[INFO] [stdout]     |
[INFO] [stdout] 274 |         ast::Expr::ModOp(ast::Opcode::Neg, e, span) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:286:47
[INFO] [stdout]     |
[INFO] [stdout] 286 |         ast::Expr::ModOp(ast::Opcode::Sub, e, span) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:371:44
[INFO] [stdout]     |
[INFO] [stdout] 371 |         ast::Statement::Block(stmts, None, span) => {
[INFO] [stdout]     |                                            ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:374:50
[INFO] [stdout]     |
[INFO] [stdout] 374 |         ast::Statement::Block(stmts, Some(ret2), span) => {
[INFO] [stdout]     |                                                  ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inner_span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:379:50
[INFO] [stdout]     |
[INFO] [stdout] 379 |                 if let ast::Statement::Return(e, inner_span) = *ret2 {
[INFO] [stdout]     |                                                  ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inner_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ast/inderpaderper.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         stdout.flush();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let _ = stdout.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast/shittyvm.rs:526:33
[INFO] [stdout]     |
[INFO] [stdout] 526 | ...                   eval_block(scope, body.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 526 |                                 let _ = eval_block(scope, body.clone());
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast/shittyvm.rs:586:9
[INFO] [stdout]     |
[INFO] [stdout] 586 |         eval_statements(scope, stmts);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let _ = eval_statements(scope, stmts);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/ast/shittyvm.rs:465:17
[INFO] [stdout]     |
[INFO] [stdout] 465 |             let ret = if ret.is_some() { ret.as_ref().unwrap().clone() } else { ast::Typedef::Unit };
[INFO] [stdout]     |                 ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vars`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:41
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ret`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:52
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                                    ^^^ help: if this is intentional, prefix it with an underscore: `_ret`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:58
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                                          ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:478:64
[INFO] [stdout]     |
[INFO] [stdout] 478 |             ast::Statement::Function(_, vars, Some(ret), body, span) => {
[INFO] [stdout]     |                                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `vars`
[INFO] [stdout]    --> src/ast/shittyvm.rs:481:41
[INFO] [stdout]     |
[INFO] [stdout] 481 |             ast::Statement::Function(_, vars, None, body, span) => {
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_vars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/ast/shittyvm.rs:481:53
[INFO] [stdout]     |
[INFO] [stdout] 481 |             ast::Statement::Function(_, vars, None, body, span) => {
[INFO] [stdout]     |                                                     ^^^^ help: if this is intentional, prefix it with an underscore: `_body`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:481:59
[INFO] [stdout]     |
[INFO] [stdout] 481 |             ast::Statement::Function(_, vars, None, body, span) => {
[INFO] [stdout]     |                                                           ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:484:41
[INFO] [stdout]     |
[INFO] [stdout] 484 |             ast::Statement::Block(_, _, span) => eval_block(scope, Box::new(stmt)),
[INFO] [stdout]     |                                         ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `def`
[INFO] [stdout]    --> src/ast/shittyvm.rs:489:51
[INFO] [stdout]     |
[INFO] [stdout] 489 |                 if let ast::Statement::VarDef(id, def) = *vardef {
[INFO] [stdout]     |                                                   ^^^ help: if this is intentional, prefix it with an underscore: `_def`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:501:47
[INFO] [stdout]     |
[INFO] [stdout] 501 |             ast::Statement::Assignment(id, e, span) => {
[INFO] [stdout]     |                                               ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/shittyvm.rs:515:48
[INFO] [stdout]     |
[INFO] [stdout] 515 |             ast::Statement::WhileLoop(e, body, span) => {
[INFO] [stdout]     |                                                ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reference` is never read
[INFO] [stdout]   --> src/ast/type_checking.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct VarFeatures {
[INFO] [stdout]    |        ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 16 |     reference: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VarFeatures` has a derived impl for the trait `Clone`, but this is 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: fields `mutable`, `reference`, `borrowed`, `mutborrowed`, and `transferred` are never read
[INFO] [stdout]   --> src/ast/shittyvm.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | struct VarFeatures {
[INFO] [stdout]    |        ----------- fields in this struct
[INFO] [stdout] 14 |     expr: ast::Expr,
[INFO] [stdout] 15 |     mutable: bool,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     reference: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 17 |     borrowed: bool,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 18 |     mutborrowed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 19 |     transferred: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `VarFeatures` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `format_function_if_err` is never used
[INFO] [stdout]    --> src/ast/shittyvm.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl Scope {
[INFO] [stdout]     | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 137 |     fn format_function_if_err(&self, res: Result<ast::Expr, Error>, span: ast::CodeSpan) -> Result<ast::Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/ast/parser.rs:26471:5
[INFO] [stdout]       |
[INFO] [stdout] 26471 |     String::from_str(__0).unwrap()
[INFO] [stdout]       |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]       |
[INFO] [stdout]       = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<String, Infallible>
[INFO] [stdout]      --> /opt/rustwide/target/debug/build/d7050e_2020-f1edfc25c8717ec3/out/ast/parser.rs:26482:5
[INFO] [stdout]       |
[INFO] [stdout] 26482 |     String::from_str(__0).unwrap()
[INFO] [stdout]       |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/ast/inderpaderper.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         stdout.flush();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 20 |         let _ = stdout.flush();
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast/shittyvm.rs:526:33
[INFO] [stdout]     |
[INFO] [stdout] 526 | ...                   eval_block(scope, body.clone());
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 526 |                                 let _ = eval_block(scope, body.clone());
[INFO] [stdout]     |                                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "ast") due to 2 previous errors; 34 warnings emitted
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/ast/shittyvm.rs:586:9
[INFO] [stdout]     |
[INFO] [stdout] 586 |         eval_statements(scope, stmts);
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]     |
[INFO] [stdout] 586 |         let _ = eval_statements(scope, stmts);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `d7050e_2020` (bin "ast" test) due to 2 previous errors; 34 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "328a15e741aad8e8a71f9b4d7bb539563a03d27b68e08d8945b9a10c9c8a3067", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "328a15e741aad8e8a71f9b4d7bb539563a03d27b68e08d8945b9a10c9c8a3067", kill_on_drop: false }`
[INFO] [stdout] 328a15e741aad8e8a71f9b4d7bb539563a03d27b68e08d8945b9a10c9c8a3067
