[INFO] cloning repository https://github.com/Saltedf/tiny-compiler-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Saltedf/tiny-compiler-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaltedf%2Ftiny-compiler-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaltedf%2Ftiny-compiler-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 233dcc876a291e21fc5792fffeb8eb97d9fde973
[INFO] checking Saltedf/tiny-compiler-rust against try#04ea1e1f1a12cfa912c228ca278237d92d0bb6df for pr-148477-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaltedf%2Ftiny-compiler-rust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Saltedf/tiny-compiler-rust
[INFO] finished tweaking git repo https://github.com/Saltedf/tiny-compiler-rust
[INFO] tweaked toml for git repo https://github.com/Saltedf/tiny-compiler-rust written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Saltedf/tiny-compiler-rust on toolchain 04ea1e1f1a12cfa912c228ca278237d92d0bb6df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Saltedf/tiny-compiler-rust 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" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "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
[ERROR] error running command: no output for 300 seconds
[INFO] checking Saltedf/tiny-compiler-rust against try#04ea1e1f1a12cfa912c228ca278237d92d0bb6df for pr-148477-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FSaltedf%2Ftiny-compiler-rust" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Saltedf/tiny-compiler-rust
[INFO] finished tweaking git repo https://github.com/Saltedf/tiny-compiler-rust
[INFO] tweaked toml for git repo https://github.com/Saltedf/tiny-compiler-rust written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Saltedf/tiny-compiler-rust on toolchain 04ea1e1f1a12cfa912c228ca278237d92d0bb6df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Saltedf/tiny-compiler-rust 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" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "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-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] dbf08d68c578a5fd5bbc76f4f485af8c305bc13db52015b3a3c9fa9009a5312c
[INFO] running `Command { std: "docker" "start" "-a" "dbf08d68c578a5fd5bbc76f4f485af8c305bc13db52015b3a3c9fa9009a5312c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "dbf08d68c578a5fd5bbc76f4f485af8c305bc13db52015b3a3c9fa9009a5312c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dbf08d68c578a5fd5bbc76f4f485af8c305bc13db52015b3a3c9fa9009a5312c", kill_on_drop: false }`
[INFO] [stdout] dbf08d68c578a5fd5bbc76f4f485af8c305bc13db52015b3a3c9fa9009a5312c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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" "-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" "+04ea1e1f1a12cfa912c228ca278237d92d0bb6df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f1a5163633f2276904f778e589ac6187579626a4e8994aa0ad2414615d8373d3
[INFO] running `Command { std: "docker" "start" "-a" "f1a5163633f2276904f778e589ac6187579626a4e8994aa0ad2414615d8373d3", kill_on_drop: false }`
[INFO] [stderr]     Checking fixedbitset v0.4.2
[INFO] [stderr]     Checking petgraph v0.6.3
[INFO] [stderr]     Checking eoc-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `path::PathBuf` and `str::FromStr`
[INFO] [stdout]   --> src/main.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{error::Error, fs::read_to_string, path::PathBuf, process::exit, str::FromStr};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::current`
[INFO] [stdout]  --> src/parser.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, thread::current};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoNodeIdentifiers`
[INFO] [stdout]   --> src/pass/allocate.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     visit::{IntoNeighbors, IntoNodeIdentifiers},
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]  --> src/pass/build_interference.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Graph,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]  --> src/pass/clike.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::token::{Kind, Token};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `token`
[INFO] [stdout]  --> src/pass/clike.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{ast, token};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque` and `fmt::format`
[INFO] [stdout]  --> src/pass/explicate_control.rs:7:40
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::{HashMap, LinkedList, VecDeque},
[INFO] [stdout]   |                                        ^^^^^^^^
[INFO] [stdout] 8 |     error::Error,
[INFO] [stdout] 9 |     fmt::format,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/pass/gen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Reg`
[INFO] [stdout]  --> src/pass/patch.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::x86::{Arg, Instr, Reg};
[INFO] [stdout]   |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/scanner.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, error::Error, fmt::format};
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]    --> src/type_checking.rs:191:42
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 use super::token::{Kind, Token};
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]    --> src/type_checking.rs:225:42
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 use super::token::{Kind, Token};
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `path::PathBuf` and `str::FromStr`
[INFO] [stdout]   --> src/main.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::{error::Error, fs::read_to_string, path::PathBuf, process::exit, str::FromStr};
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^                 ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::*`
[INFO] [stdout]    --> src/env.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 110 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::current`
[INFO] [stdout]  --> src/parser.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{error::Error, thread::current};
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoNodeIdentifiers`
[INFO] [stdout]   --> src/pass/allocate.rs:14:28
[INFO] [stdout]    |
[INFO] [stdout] 14 |     visit::{IntoNeighbors, IntoNodeIdentifiers},
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]  --> src/pass/build_interference.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     Graph,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]  --> src/pass/clike.rs:5:26
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::token::{Kind, Token};
[INFO] [stdout]   |                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `token`
[INFO] [stdout]  --> src/pass/clike.rs:6:18
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{ast, token};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `VecDeque` and `fmt::format`
[INFO] [stdout]  --> src/pass/explicate_control.rs:7:40
[INFO] [stdout]   |
[INFO] [stdout] 7 |     collections::{HashMap, LinkedList, VecDeque},
[INFO] [stdout]   |                                        ^^^^^^^^
[INFO] [stdout] 8 |     error::Error,
[INFO] [stdout] 9 |     fmt::format,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::VecDeque`
[INFO] [stdout]  --> src/pass/gen.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::VecDeque;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Reg`
[INFO] [stdout]  --> src/pass/patch.rs:1:30
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::x86::{Arg, Instr, Reg};
[INFO] [stdout]   |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fmt::format`
[INFO] [stdout]  --> src/scanner.rs:1:47
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{collections::HashMap, error::Error, fmt::format};
[INFO] [stdout]   |                                               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]    --> src/type_checking.rs:191:42
[INFO] [stdout]     |
[INFO] [stdout] 191 |                 use super::token::{Kind, Token};
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Token`
[INFO] [stdout]    --> src/type_checking.rs:225:42
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 use super::token::{Kind, Token};
[INFO] [stdout]     |                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/main.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     return Ok(());
[INFO] [stdout]    |     ------------- any code following this expression is unreachable
[INFO] [stdout] 60 |
[INFO] [stdout] 61 |     println!("============Select Instrucitons===========");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoNeighbors`
[INFO] [stdout]   --> src/pass/allocate.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |     visit::{IntoNeighbors, IntoNodeIdentifiers},
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable statement
[INFO] [stdout]   --> src/main.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     return Ok(());
[INFO] [stdout]    |     ------------- any code following this expression is unreachable
[INFO] [stdout] 60 |
[INFO] [stdout] 61 |     println!("============Select Instrucitons===========");
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout]    = note: this warning originates in the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IntoNeighbors`
[INFO] [stdout]   --> src/pass/allocate.rs:14:13
[INFO] [stdout]    |
[INFO] [stdout] 14 |     visit::{IntoNeighbors, IntoNodeIdentifiers},
[INFO] [stdout]    |             ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/pass/explicate_control.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Expr(e) => {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/pass/explicate_control.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Assign { name, binding } => {}
[INFO] [stdout]    |                      ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binding`
[INFO] [stdout]   --> src/pass/explicate_control.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Assign { name, binding } => {}
[INFO] [stdout]    |                            ^^^^^^^ help: try ignoring the field: `binding: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/pass/explicate_control.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 condition,
[INFO] [stdout]    |                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `then`
[INFO] [stdout]   --> src/pass/explicate_control.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 then,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `then: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_`
[INFO] [stdout]   --> src/pass/explicate_control.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 else_,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `else_: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/pass/explicate_control.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 condition,
[INFO] [stdout]    |                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `then`
[INFO] [stdout]   --> src/pass/explicate_control.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 then,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `then: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_`
[INFO] [stdout]   --> src/pass/explicate_control.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 else_,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `else_: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/pass/explicate_control.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Block { body, result } => {}
[INFO] [stdout]    |                     ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/pass/explicate_control.rs:61:27
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Block { body, result } => {}
[INFO] [stdout]    |                           ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/pass/explicate_control.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Block { body, result } => {
[INFO] [stdout]    |                     ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/pass/explicate_control.rs:95:27
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Block { body, result } => {
[INFO] [stdout]    |                           ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/pass/explicate_control.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Block { body, result } => {
[INFO] [stdout]     |                     ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/pass/explicate_control.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Block { body, result } => {
[INFO] [stdout]     |                           ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]   --> src/pass/explicate_control.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 27 |             Expr(e) => {}
[INFO] [stdout]    |                  ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> src/pass/explicate_control.rs:28:22
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Assign { name, binding } => {}
[INFO] [stdout]    |                      ^^^^ help: try ignoring the field: `name: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `binding`
[INFO] [stdout]   --> src/pass/explicate_control.rs:28:28
[INFO] [stdout]    |
[INFO] [stdout] 28 |             Assign { name, binding } => {}
[INFO] [stdout]    |                            ^^^^^^^ help: try ignoring the field: `binding: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/pass/explicate_control.rs:30:17
[INFO] [stdout]    |
[INFO] [stdout] 30 |                 condition,
[INFO] [stdout]    |                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `then`
[INFO] [stdout]   --> src/pass/explicate_control.rs:31:17
[INFO] [stdout]    |
[INFO] [stdout] 31 |                 then,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `then: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_`
[INFO] [stdout]   --> src/pass/explicate_control.rs:32:17
[INFO] [stdout]    |
[INFO] [stdout] 32 |                 else_,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `else_: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `condition`
[INFO] [stdout]   --> src/pass/explicate_control.rs:44:17
[INFO] [stdout]    |
[INFO] [stdout] 44 |                 condition,
[INFO] [stdout]    |                 ^^^^^^^^^ help: try ignoring the field: `condition: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `then`
[INFO] [stdout]   --> src/pass/explicate_control.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 then,
[INFO] [stdout]    |                 ^^^^ help: try ignoring the field: `then: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `else_`
[INFO] [stdout]   --> src/pass/explicate_control.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 |                 else_,
[INFO] [stdout]    |                 ^^^^^ help: try ignoring the field: `else_: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/pass/explicate_control.rs:61:21
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Block { body, result } => {}
[INFO] [stdout]    |                     ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/pass/explicate_control.rs:61:27
[INFO] [stdout]    |
[INFO] [stdout] 61 |             Block { body, result } => {}
[INFO] [stdout]    |                           ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]   --> src/pass/explicate_control.rs:95:21
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Block { body, result } => {
[INFO] [stdout]    |                     ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]   --> src/pass/explicate_control.rs:95:27
[INFO] [stdout]    |
[INFO] [stdout] 95 |             Block { body, result } => {
[INFO] [stdout]    |                           ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/pass/explicate_control.rs:170:21
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Block { body, result } => {
[INFO] [stdout]     |                     ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/pass/explicate_control.rs:170:27
[INFO] [stdout]     |
[INFO] [stdout] 170 |             Block { body, result } => {
[INFO] [stdout]     |                           ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/pass/x86.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/pass/x86.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Retq => write!(f, "retq"),
[INFO] [stdout]    |             ---- matches some of the same values
[INFO] [stdout] 25 |             Jump(l) => write!(f, "jmpq {}", l),
[INFO] [stdout]    |             ------- matches some of the same values
[INFO] [stdout] 26 |             Callq(l, _) => write!(f, "callq {}", l),
[INFO] [stdout]    |             ----------- matches some of the same values
[INFO] [stdout] 27 |             Pushq(a) => write!(f, "pushq {}", a),
[INFO] [stdout]    |             -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 33 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/pass/x86.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |             Callq(_, len) => {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/pass/x86.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Pushq(loc) => {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pass/x86.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 |             Addq(s, d) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pass/x86.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Subq(s, d) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pass/x86.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |             Movq(s, d) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/pass/x86.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/pass/x86.rs:33:13
[INFO] [stdout]    |
[INFO] [stdout] 24 |             Retq => write!(f, "retq"),
[INFO] [stdout]    |             ---- matches some of the same values
[INFO] [stdout] 25 |             Jump(l) => write!(f, "jmpq {}", l),
[INFO] [stdout]    |             ------- matches some of the same values
[INFO] [stdout] 26 |             Callq(l, _) => write!(f, "callq {}", l),
[INFO] [stdout]    |             ----------- matches some of the same values
[INFO] [stdout] 27 |             Pushq(a) => write!(f, "pushq {}", a),
[INFO] [stdout]    |             -------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 33 |             _ => unimplemented!(),
[INFO] [stdout]    |             ^ ...and 5 other patterns collectively make this unreachable
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `len`
[INFO] [stdout]    --> src/pass/x86.rs:107:22
[INFO] [stdout]     |
[INFO] [stdout] 107 |             Callq(_, len) => {
[INFO] [stdout]     |                      ^^^ help: if this is intentional, prefix it with an underscore: `_len`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/pass/x86.rs:114:19
[INFO] [stdout]     |
[INFO] [stdout] 114 |             Pushq(loc) => {
[INFO] [stdout]     |                   ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pass/x86.rs:123:18
[INFO] [stdout]     |
[INFO] [stdout] 123 |             Addq(s, d) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pass/x86.rs:128:18
[INFO] [stdout]     |
[INFO] [stdout] 128 |             Subq(s, d) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/pass/x86.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |             Movq(s, d) => {
[INFO] [stdout]     |                  ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/type_checking.rs:168:27
[INFO] [stdout]     |
[INFO] [stdout] 168 |             ExprData::Int(i) => return Ok(Type::Int),
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/type_checking.rs:169:29
[INFO] [stdout]     |
[INFO] [stdout] 169 |             ExprData::Float(n) => return Ok(Type::Float),
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/type_checking.rs:179:29
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         let e = &args[index];
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/type_checking.rs:239:28
[INFO] [stdout]     |
[INFO] [stdout] 239 |             ExprData::Bool(b) => Ok(Type::Bool),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/type_checking.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 |             ExprData::Block { body, result } => {
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let instrs = SelectInstructions::new().select_stmts(stmts);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_live_after`
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let inst_live_after = UncoverLive::uncover_live(instrs);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_live_after`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut instrs = vec![];
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |     for (inst, liveafter) in &inst_live_after {
[INFO] [stdout]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `liveafter`
[INFO] [stdout]   --> src/main.rs:69:16
[INFO] [stdout]    |
[INFO] [stdout] 69 |     for (inst, liveafter) in &inst_live_after {
[INFO] [stdout]    |                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_liveafter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]   --> src/main.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let (graph, move_graph) = BuildInterference::new().build_graph(inst_live_after);
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_graph`
[INFO] [stdout]   --> src/main.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let (graph, move_graph) = BuildInterference::new().build_graph(inst_live_after);
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mapping`
[INFO] [stdout]   --> src/main.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let (mapping, frame) = Allocation::new(graph, move_graph).color_graph();
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]   --> src/main.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let (mapping, frame) = Allocation::new(graph, move_graph).color_graph();
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/main.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for (v, loc) in &mapping {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]   --> src/main.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for (v, loc) in &mapping {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let instrs = AssignHomes::new(instrs, mapping).assign_homes();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let instrs = PatchInstructions::new(instrs).patch_instructions();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let instrs = CodeGen::new(instrs, frame).code_gen();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `arg` is never used
[INFO] [stdout]    --> src/ast_builder.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl FunctionCall {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn arg(mut self, arg: Expr) -> Self {
[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 `contains`, `update`, and `level` are never used
[INFO] [stdout]   --> src/env.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<T> Env<T> {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn contains(&mut self, sym: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn update(&mut self, symbol: String, data: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn level(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_stmt` is never used
[INFO] [stdout]    --> src/parser.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'r> Parser<'r> {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn print_stmt(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Label` is never used
[INFO] [stdout]  --> src/pass/clike.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Label = String;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CProgrom` is never constructed
[INFO] [stdout]   --> src/pass/clike.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct CProgrom {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockData` is never constructed
[INFO] [stdout]   --> src/pass/clike.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BlockData(Vec<Stmt>);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Stmt` is never used
[INFO] [stdout]   --> src/pass/clike.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Stmt {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_tail` is never used
[INFO] [stdout]   --> src/pass/clike.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Stmt {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 36 |     pub fn is_tail(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/pass/clike.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Atom` is never used
[INFO] [stdout]   --> src/pass/clike.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum Atom {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClikeError` is never used
[INFO] [stdout]   --> src/pass/clike.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum ClikeError {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/pass/explicate_control.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | type Result<T> = std::result::Result<T, Box<dyn Error>>;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExplicateControl` is never constructed
[INFO] [stdout]   --> src/pass/explicate_control.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ExplicateControl {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `explicate_stmt`, `explicate_effect`, `explicate_assign`, `explicate_pred`, `create_block`, and `gen_block_name` are never used
[INFO] [stdout]    --> src/pass/explicate_control.rs:24:8
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl ExplicateControl {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  24 |     fn explicate_stmt(&mut self, s: Stmt) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn explicate_effect(&mut self, e: Expr) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn explicate_assign(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn explicate_pred(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn create_block(&mut self, stmts: Vec<clike::Stmt>) -> (String, Vec<clike::Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn gen_block_name(&mut self, prefix: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Location` is never used
[INFO] [stdout]   --> src/pass/liveness.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Location {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/pass/x86.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Program(Vec<Instr>);
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Jump` is never constructed
[INFO] [stdout]   --> src/pass/x86.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum Instr {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout]  9 |     Retq,
[INFO] [stdout] 10 |     Jump(Label),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Rbx`, `R12`, `R13`, and `R14` are never constructed
[INFO] [stdout]    --> src/pass/x86.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub enum Reg {
[INFO] [stdout]     |          --- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 193 |     Rbx,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     R12,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 203 |     R13,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 204 |     R14,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Reg` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `callee_saved` is never used
[INFO] [stdout]    --> src/pass/x86.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl Reg {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn callee_saved() -> Vec<Reg> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/ast.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 writeln!(f, "{{");
[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] 126 |                 let _ = writeln!(f, "{{");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pass/liveness.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn iter(&self) -> Iter<Arg> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn iter(&self) -> Iter<'_, Arg> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/type_checking.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 self.expect_same_type(&t1, &t2, then);
[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] 143 |                 let _ = self.expect_same_type(&t1, &t2, then);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/type_checking.rs:168:27
[INFO] [stdout]     |
[INFO] [stdout] 168 |             ExprData::Int(i) => return Ok(Type::Int),
[INFO] [stdout]     |                           ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `n`
[INFO] [stdout]    --> src/type_checking.rs:169:29
[INFO] [stdout]     |
[INFO] [stdout] 169 |             ExprData::Float(n) => return Ok(Type::Float),
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_n`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `e`
[INFO] [stdout]    --> src/type_checking.rs:179:29
[INFO] [stdout]     |
[INFO] [stdout] 179 |                         let e = &args[index];
[INFO] [stdout]     |                             ^ help: if this is intentional, prefix it with an underscore: `_e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `b`
[INFO] [stdout]    --> src/type_checking.rs:239:28
[INFO] [stdout]     |
[INFO] [stdout] 239 |             ExprData::Bool(b) => Ok(Type::Bool),
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_b`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `body`
[INFO] [stdout]    --> src/type_checking.rs:258:31
[INFO] [stdout]     |
[INFO] [stdout] 258 |             ExprData::Block { body, result } => {
[INFO] [stdout]     |                               ^^^^ help: try ignoring the field: `body: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let instrs = SelectInstructions::new().select_stmts(stmts);
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:63:9
[INFO] [stdout]    |
[INFO] [stdout] 63 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst_live_after`
[INFO] [stdout]   --> src/main.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 67 |     let inst_live_after = UncoverLive::uncover_live(instrs);
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_inst_live_after`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let mut instrs = vec![];
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:69:10
[INFO] [stdout]    |
[INFO] [stdout] 69 |     for (inst, liveafter) in &inst_live_after {
[INFO] [stdout]    |          ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `liveafter`
[INFO] [stdout]   --> src/main.rs:69:16
[INFO] [stdout]    |
[INFO] [stdout] 69 |     for (inst, liveafter) in &inst_live_after {
[INFO] [stdout]    |                ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_liveafter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]   --> src/main.rs:76:10
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let (graph, move_graph) = BuildInterference::new().build_graph(inst_live_after);
[INFO] [stdout]    |          ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `move_graph`
[INFO] [stdout]   --> src/main.rs:76:17
[INFO] [stdout]    |
[INFO] [stdout] 76 |     let (graph, move_graph) = BuildInterference::new().build_graph(inst_live_after);
[INFO] [stdout]    |                 ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_move_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mapping`
[INFO] [stdout]   --> src/main.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let (mapping, frame) = Allocation::new(graph, move_graph).color_graph();
[INFO] [stdout]    |          ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_mapping`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `frame`
[INFO] [stdout]   --> src/main.rs:79:19
[INFO] [stdout]    |
[INFO] [stdout] 79 |     let (mapping, frame) = Allocation::new(graph, move_graph).color_graph();
[INFO] [stdout]    |                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_frame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/main.rs:80:10
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for (v, loc) in &mapping {
[INFO] [stdout]    |          ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]   --> src/main.rs:80:13
[INFO] [stdout]    |
[INFO] [stdout] 80 |     for (v, loc) in &mapping {
[INFO] [stdout]    |             ^^^ help: if this is intentional, prefix it with an underscore: `_loc`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:85:9
[INFO] [stdout]    |
[INFO] [stdout] 85 |     let instrs = AssignHomes::new(instrs, mapping).assign_homes();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:86:9
[INFO] [stdout]    |
[INFO] [stdout] 86 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let instrs = PatchInstructions::new(instrs).patch_instructions();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:92:9
[INFO] [stdout]    |
[INFO] [stdout] 92 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `instrs`
[INFO] [stdout]   --> src/main.rs:97:9
[INFO] [stdout]    |
[INFO] [stdout] 97 |     let instrs = CodeGen::new(instrs, frame).code_gen();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_instrs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `inst`
[INFO] [stdout]   --> src/main.rs:98:9
[INFO] [stdout]    |
[INFO] [stdout] 98 |     for inst in &instrs {
[INFO] [stdout]    |         ^^^^ help: if this is intentional, prefix it with an underscore: `_inst`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `arg` is never used
[INFO] [stdout]    --> src/ast_builder.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl FunctionCall {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 141 |     pub fn arg(mut self, arg: Expr) -> Self {
[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 `contains`, `update`, and `level` are never used
[INFO] [stdout]   --> src/env.rs:44:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl<T> Env<T> {
[INFO] [stdout]    | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn contains(&mut self, sym: &str) -> bool {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     pub fn update(&mut self, symbol: String, data: T) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn level(&self) -> usize {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `print_stmt` is never used
[INFO] [stdout]    --> src/parser.rs:107:8
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl<'r> Parser<'r> {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn print_stmt(&mut self) -> Result<Stmt> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Label` is never used
[INFO] [stdout]  --> src/pass/clike.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub type Label = String;
[INFO] [stdout]   |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CProgrom` is never constructed
[INFO] [stdout]   --> src/pass/clike.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct CProgrom {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BlockData` is never constructed
[INFO] [stdout]   --> src/pass/clike.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct BlockData(Vec<Stmt>);
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Stmt` is never used
[INFO] [stdout]   --> src/pass/clike.rs:19:10
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum Stmt {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_tail` is never used
[INFO] [stdout]   --> src/pass/clike.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout] 35 | impl Stmt {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 36 |     pub fn is_tail(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/pass/clike.rs:54:10
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Atom` is never used
[INFO] [stdout]   --> src/pass/clike.rs:65:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub enum Atom {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ClikeError` is never used
[INFO] [stdout]   --> src/pass/clike.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub enum ClikeError {
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]   --> src/pass/explicate_control.rs:14:6
[INFO] [stdout]    |
[INFO] [stdout] 14 | type Result<T> = std::result::Result<T, Box<dyn Error>>;
[INFO] [stdout]    |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExplicateControl` is never constructed
[INFO] [stdout]   --> src/pass/explicate_control.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ExplicateControl {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `explicate_stmt`, `explicate_effect`, `explicate_assign`, `explicate_pred`, `create_block`, and `gen_block_name` are never used
[INFO] [stdout]    --> src/pass/explicate_control.rs:24:8
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl ExplicateControl {
[INFO] [stdout]     | --------------------- methods in this implementation
[INFO] [stdout]  24 |     fn explicate_stmt(&mut self, s: Stmt) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     fn explicate_effect(&mut self, e: Expr) -> Result<()> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn explicate_assign(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn explicate_pred(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn create_block(&mut self, stmts: Vec<clike::Stmt>) -> (String, Vec<clike::Stmt>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     fn gen_block_name(&mut self, prefix: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Location` is never used
[INFO] [stdout]   --> src/pass/liveness.rs:10:6
[INFO] [stdout]    |
[INFO] [stdout] 10 | enum Location {
[INFO] [stdout]    |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Program` is never constructed
[INFO] [stdout]  --> src/pass/x86.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct Program(Vec<Instr>);
[INFO] [stdout]   |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Jump` is never constructed
[INFO] [stdout]   --> src/pass/x86.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum Instr {
[INFO] [stdout]    |          ----- variant in this enum
[INFO] [stdout]  9 |     Retq,
[INFO] [stdout] 10 |     Jump(Label),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Instr` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Rbx`, `R12`, `R13`, and `R14` are never constructed
[INFO] [stdout]    --> src/pass/x86.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub enum Reg {
[INFO] [stdout]     |          --- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 193 |     Rbx,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 202 |     R12,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 203 |     R13,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 204 |     R14,
[INFO] [stdout]     |     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Reg` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `callee_saved` is never used
[INFO] [stdout]    --> src/pass/x86.rs:225:12
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl Reg {
[INFO] [stdout]     | -------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 225 |     pub fn callee_saved() -> Vec<Reg> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/ast.rs:126:17
[INFO] [stdout]     |
[INFO] [stdout] 126 |                 writeln!(f, "{{");
[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] 126 |                 let _ = writeln!(f, "{{");
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/pass/liveness.rs:40:17
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn iter(&self) -> Iter<Arg> {
[INFO] [stdout]    |                 ^^^^^     ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub fn iter(&self) -> Iter<'_, Arg> {
[INFO] [stdout]    |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `std::result::Result` that must be used
[INFO] [stdout]    --> src/type_checking.rs:143:17
[INFO] [stdout]     |
[INFO] [stdout] 143 |                 self.expect_same_type(&t1, &t2, then);
[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] 143 |                 let _ = self.expect_same_type(&t1, &t2, then);
[INFO] [stdout]     |                 +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.16s
[INFO] running `Command { std: "docker" "inspect" "f1a5163633f2276904f778e589ac6187579626a4e8994aa0ad2414615d8373d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1a5163633f2276904f778e589ac6187579626a4e8994aa0ad2414615d8373d3", kill_on_drop: false }`
[INFO] [stdout] f1a5163633f2276904f778e589ac6187579626a4e8994aa0ad2414615d8373d3
