[INFO] cloning repository https://github.com/bam-lang/bam
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/bam-lang/bam" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbam-lang%2Fbam", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fbam-lang%2Fbam'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] af5dd0b6d9e9f728f9475757fe3ffea278626263
[INFO] checking bam-lang/bam 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%2Fbam-lang%2Fbam" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc2/source/.cargo/config.toml
[INFO] removed /workspace/builds/worker-2-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/bam-lang/bam
[INFO] finished tweaking git repo https://github.com/bam-lang/bam
[INFO] tweaked toml for git repo https://github.com/bam-lang/bam written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/bam-lang/bam 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/bam-lang/bam 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-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 5b6c32f14faf1f1039aa7c5537429cad7116c7ab69fd67c4f19272dd3d9752fe
[INFO] running `Command { std: "docker" "start" "-a" "5b6c32f14faf1f1039aa7c5537429cad7116c7ab69fd67c4f19272dd3d9752fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "5b6c32f14faf1f1039aa7c5537429cad7116c7ab69fd67c4f19272dd3d9752fe", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b6c32f14faf1f1039aa7c5537429cad7116c7ab69fd67c4f19272dd3d9752fe", kill_on_drop: false }`
[INFO] [stdout] 5b6c32f14faf1f1039aa7c5537429cad7116c7ab69fd67c4f19272dd3d9752fe
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] f974016b5583325bbae9b5a68b469e50b1ddea01dc0effce5907b8a944bd4c2a
[INFO] running `Command { std: "docker" "start" "-a" "f974016b5583325bbae9b5a68b469e50b1ddea01dc0effce5907b8a944bd4c2a", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.40
[INFO] [stderr]    Compiling libc v0.2.126
[INFO] [stderr]    Compiling io-lifetimes v0.7.2
[INFO] [stderr]    Compiling rustix v0.35.7
[INFO] [stderr]     Checking tracing-core v0.1.28
[INFO] [stderr]     Checking linux-raw-sys v0.0.46
[INFO] [stderr]     Checking nibble_vec v0.1.0
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking os_str_bytes v6.2.0
[INFO] [stderr]     Checking endian-type v0.1.2
[INFO] [stderr]    Compiling anyhow v1.0.58
[INFO] [stderr]     Checking thread_local v1.1.4
[INFO] [stderr]     Checking utf8parse v0.2.0
[INFO] [stderr]     Checking textwrap v0.15.0
[INFO] [stderr]     Checking unicode-segmentation v1.9.0
[INFO] [stderr]     Checking clap_lex v0.2.4
[INFO] [stderr]     Checking radix_trie v0.2.1
[INFO] [stderr]     Checking tracing-log v0.1.3
[INFO] [stderr]     Checking tracing-subscriber v0.3.15
[INFO] [stderr]    Compiling getrandom v0.2.7
[INFO] [stderr]    Compiling const-random-macro v0.1.13
[INFO] [stderr]    Compiling quote v1.0.20
[INFO] [stderr]    Compiling syn v1.0.98
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]     Checking const-random v0.1.13
[INFO] [stderr]     Checking ahash v0.3.8
[INFO] [stderr]     Checking dirs-sys-next v0.1.2
[INFO] [stderr]     Checking atty v0.2.14
[INFO] [stderr]     Checking nix v0.24.2
[INFO] [stderr]     Checking chumsky v0.8.0
[INFO] [stderr]     Checking dirs-next v2.0.0
[INFO] [stderr]     Checking fd-lock v3.0.6
[INFO] [stderr]     Checking rustyline v10.0.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.22
[INFO] [stderr]    Compiling clap_derive v3.2.7
[INFO] [stderr]     Checking thiserror v1.0.31
[INFO] [stderr]     Checking tracing v0.1.35
[INFO] [stderr]     Checking clap v3.2.14
[INFO] [stderr]     Checking bam v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]  --> src/main.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, bail, Context, Error, Result};
[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: `tracing::Level`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::Level;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/compiler.rs:74:38
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     .reduce(|acc, s| (acc + ", " + s.as_str()))
[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] 74 -                     .reduce(|acc, s| (acc + ", " + s.as_str()))
[INFO] [stdout] 74 +                     .reduce(|acc, s| acc + ", " + s.as_str())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/syntax.rs:96:40
[INFO] [stdout]    |
[INFO] [stdout] 96 |                     .reduce(|acc, val| (acc + ", " + val.as_str()))
[INFO] [stdout]    |                                        ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -                     .reduce(|acc, val| (acc + ", " + val.as_str()))
[INFO] [stdout] 96 +                     .reduce(|acc, val| acc + ", " + val.as_str() )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/types.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Loop` and `SharedFlow`
[INFO] [stdout]   --> src/main.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | use eval::{Loop, SharedFlow};
[INFO] [stdout]    |            ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bail`
[INFO] [stdout]  --> src/main.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use anyhow::{anyhow, bail, Context, Error, Result};
[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: `tracing::Level`
[INFO] [stdout]   --> src/main.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::Level;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/compiler.rs:74:38
[INFO] [stdout]    |
[INFO] [stdout] 74 |                     .reduce(|acc, s| (acc + ", " + s.as_str()))
[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] 74 -                     .reduce(|acc, s| (acc + ", " + s.as_str()))
[INFO] [stdout] 74 +                     .reduce(|acc, s| acc + ", " + s.as_str())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around closure body
[INFO] [stdout]   --> src/syntax.rs:96:40
[INFO] [stdout]    |
[INFO] [stdout] 96 |                     .reduce(|acc, val| (acc + ", " + val.as_str()))
[INFO] [stdout]    |                                        ^                         ^
[INFO] [stdout]    |
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 96 -                     .reduce(|acc, val| (acc + ", " + val.as_str()))
[INFO] [stdout] 96 +                     .reduce(|acc, val| acc + ", " + val.as_str() )
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `debug`
[INFO] [stdout]  --> src/types.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, info};
[INFO] [stdout]   |               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Loop` and `SharedFlow`
[INFO] [stdout]   --> src/main.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | use eval::{Loop, SharedFlow};
[INFO] [stdout]    |            ^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut tenv = GlobalTypeEnv::new();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let mut parse_program = |source: String| -> Result<Vec<Definition>> {
[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/main.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let mut load_stream =
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tenv`
[INFO] [stdout]    --> src/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut tenv = GlobalTypeEnv::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tenv`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `input` is never used
[INFO] [stdout]   --> src/compiler.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Handle {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn input() -> 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: variants `Stdin` and `Copy` are never constructed
[INFO] [stdout]   --> src/compiler.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum FlatStream {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 39 |     /// Standard input.
[INFO] [stdout] 40 |     Stdin,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     Copy(Handle),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlatStream` 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: method `current_mut` is never used
[INFO] [stdout]    --> src/compiler.rs:424:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Compiler {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn current_mut(&mut self) -> &Unit {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Loop` is never constructed
[INFO] [stdout]   --> src/eval.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Loop {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `step` is never used
[INFO] [stdout]   --> src/eval.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Loop {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 26 |     /// Steps through the stream.
[INFO] [stdout] 27 |     pub fn step(&self) -> Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_from_head` and `get_from_outer` are never used
[INFO] [stdout]    --> src/eval.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl SharedEnv {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_from_head(&self, handle: Handle) -> Option<SharedFlow> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn get_from_outer(&self, handle: Handle) -> Option<SharedFlow> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_loop` is never used
[INFO] [stdout]    --> src/eval.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl Factory {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn make_loop(&self, name: &str) -> Loop {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Num`, `Bool`, `String`, `Tuple`, `TyVar`, and `UnifVar` are never constructed
[INFO] [stdout]    --> src/types.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub enum Type {
[INFO] [stdout]     |          ---- variants in this enum
[INFO] [stdout] 138 |     Num,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 139 |     Bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 140 |     String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 141 |     Tuple(Vec<Type>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 142 |     TyVar(usize),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 143 |     UnifVar(usize),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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: enum `TypeError` is never used
[INFO] [stdout]    --> src/types.rs:169:10
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub enum TypeError {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `machine_types` is never read
[INFO] [stdout]    --> src/types.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct GlobalTypeEnv {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 194 |     machine_types: HashMap<String, MachineType>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalTypeEnv` is never constructed
[INFO] [stdout]    --> src/types.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | struct LocalTypeEnv {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/types.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn check(program: &Program) -> Result<(), TypeError> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_machine_def` is never used
[INFO] [stdout]    --> src/types.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn check_machine_def(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_statement` is never used
[INFO] [stdout]    --> src/types.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn check_statement(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `infer_stream` is never used
[INFO] [stdout]    --> src/types.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn infer_stream(
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_builtin_ty` is never used
[INFO] [stdout]    --> src/types.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn get_builtin_ty(builtin: &Builtin) -> Option<MachineType> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_unif_var` is never used
[INFO] [stdout]    --> src/types.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn new_unif_var(local_env: &mut LocalTypeEnv) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `instantiate` is never used
[INFO] [stdout]    --> src/types.rs:391:4
[INFO] [stdout]     |
[INFO] [stdout] 391 | fn instantiate(local_env: &mut LocalTypeEnv, machine_ty: MachineType) -> MachineType {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_ty_var` is never used
[INFO] [stdout]    --> src/types.rs:410:4
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn replace_ty_var(ty: Type, var: usize, to_replace: &Type) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_unif_var` is never used
[INFO] [stdout]    --> src/types.rs:428:4
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn replace_unif_var(ty: Type, var: usize, to_replace: &Type) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_substitution` is never used
[INFO] [stdout]    --> src/types.rs:446:4
[INFO] [stdout]     |
[INFO] [stdout] 446 | fn apply_substitution(subst: &HashMap<usize, Type>, ty: Type) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unify` is never used
[INFO] [stdout]    --> src/types.rs:461:4
[INFO] [stdout]     |
[INFO] [stdout] 461 | fn unify(local_env: &LocalTypeEnv) -> Result<HashMap<usize, Type>, TypeError> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unify_types` is never used
[INFO] [stdout]    --> src/types.rs:472:4
[INFO] [stdout]     |
[INFO] [stdout] 472 | fn unify_types(subst: &mut HashMap<usize, Type>, ty1: &Type, ty2: &Type) -> Result<(), TypeError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `free_unif_vars` is never used
[INFO] [stdout]    --> src/types.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn free_unif_vars(subst: &HashMap<usize, Type>, result: &mut HashSet<usize>, ty: &Type) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generalize` is never used
[INFO] [stdout]    --> src/types.rs:522:4
[INFO] [stdout]     |
[INFO] [stdout] 522 | fn generalize(subst: &HashMap<usize, Type>, machine_ty: MachineType) -> MachineType {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     filename: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/types.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         check_statement(global_env, &mut local_env, statement);
[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] 246 |         let _ = check_statement(global_env, &mut local_env, statement);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bam` (bin "bam" test) due to 1 previous error; 36 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut tenv = GlobalTypeEnv::new();
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/main.rs:119:9
[INFO] [stdout]     |
[INFO] [stdout] 119 |     let mut parse_program = |source: String| -> Result<Vec<Definition>> {
[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/main.rs:198:9
[INFO] [stdout]     |
[INFO] [stdout] 198 |     let mut load_stream =
[INFO] [stdout]     |         ----^^^^^^^^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tenv`
[INFO] [stdout]    --> src/main.rs:103:9
[INFO] [stdout]     |
[INFO] [stdout] 103 |     let mut tenv = GlobalTypeEnv::new();
[INFO] [stdout]     |         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_tenv`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `input` is never used
[INFO] [stdout]   --> src/compiler.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl Handle {
[INFO] [stdout]    | ----------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub fn input() -> 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: variants `Stdin` and `Copy` are never constructed
[INFO] [stdout]   --> src/compiler.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub enum FlatStream {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout] 39 |     /// Standard input.
[INFO] [stdout] 40 |     Stdin,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     Copy(Handle),
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FlatStream` 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: method `current_mut` is never used
[INFO] [stdout]    --> src/compiler.rs:424:12
[INFO] [stdout]     |
[INFO] [stdout] 273 | impl Compiler {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 424 |     pub fn current_mut(&mut self) -> &Unit {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Loop` is never constructed
[INFO] [stdout]   --> src/eval.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct Loop {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `step` is never used
[INFO] [stdout]   --> src/eval.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Loop {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 26 |     /// Steps through the stream.
[INFO] [stdout] 27 |     pub fn step(&self) -> Result<Value> {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_from_head` and `get_from_outer` are never used
[INFO] [stdout]    --> src/eval.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout]  71 | impl SharedEnv {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 104 |     pub fn get_from_head(&self, handle: Handle) -> Option<SharedFlow> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 110 |     pub fn get_from_outer(&self, handle: Handle) -> Option<SharedFlow> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `make_loop` is never used
[INFO] [stdout]    --> src/eval.rs:197:12
[INFO] [stdout]     |
[INFO] [stdout] 187 | impl Factory {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 197 |     pub fn make_loop(&self, name: &str) -> Loop {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Num`, `Bool`, `String`, `Tuple`, `TyVar`, and `UnifVar` are never constructed
[INFO] [stdout]    --> src/types.rs:138:5
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub enum Type {
[INFO] [stdout]     |          ---- variants in this enum
[INFO] [stdout] 138 |     Num,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 139 |     Bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 140 |     String,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 141 |     Tuple(Vec<Type>),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 142 |     TyVar(usize),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 143 |     UnifVar(usize),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` 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: enum `TypeError` is never used
[INFO] [stdout]    --> src/types.rs:169:10
[INFO] [stdout]     |
[INFO] [stdout] 169 | pub enum TypeError {
[INFO] [stdout]     |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `machine_types` is never read
[INFO] [stdout]    --> src/types.rs:194:5
[INFO] [stdout]     |
[INFO] [stdout] 193 | pub struct GlobalTypeEnv {
[INFO] [stdout]     |            ------------- field in this struct
[INFO] [stdout] 194 |     machine_types: HashMap<String, MachineType>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `LocalTypeEnv` is never constructed
[INFO] [stdout]    --> src/types.rs:205:8
[INFO] [stdout]     |
[INFO] [stdout] 205 | struct LocalTypeEnv {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check` is never used
[INFO] [stdout]    --> src/types.rs:211:8
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub fn check(program: &Program) -> Result<(), TypeError> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_machine_def` is never used
[INFO] [stdout]    --> src/types.rs:219:8
[INFO] [stdout]     |
[INFO] [stdout] 219 | pub fn check_machine_def(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_statement` is never used
[INFO] [stdout]    --> src/types.rs:270:4
[INFO] [stdout]     |
[INFO] [stdout] 270 | fn check_statement(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `infer_stream` is never used
[INFO] [stdout]    --> src/types.rs:310:4
[INFO] [stdout]     |
[INFO] [stdout] 310 | fn infer_stream(
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_builtin_ty` is never used
[INFO] [stdout]    --> src/types.rs:381:4
[INFO] [stdout]     |
[INFO] [stdout] 381 | fn get_builtin_ty(builtin: &Builtin) -> Option<MachineType> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `new_unif_var` is never used
[INFO] [stdout]    --> src/types.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn new_unif_var(local_env: &mut LocalTypeEnv) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `instantiate` is never used
[INFO] [stdout]    --> src/types.rs:391:4
[INFO] [stdout]     |
[INFO] [stdout] 391 | fn instantiate(local_env: &mut LocalTypeEnv, machine_ty: MachineType) -> MachineType {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_ty_var` is never used
[INFO] [stdout]    --> src/types.rs:410:4
[INFO] [stdout]     |
[INFO] [stdout] 410 | fn replace_ty_var(ty: Type, var: usize, to_replace: &Type) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `replace_unif_var` is never used
[INFO] [stdout]    --> src/types.rs:428:4
[INFO] [stdout]     |
[INFO] [stdout] 428 | fn replace_unif_var(ty: Type, var: usize, to_replace: &Type) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `apply_substitution` is never used
[INFO] [stdout]    --> src/types.rs:446:4
[INFO] [stdout]     |
[INFO] [stdout] 446 | fn apply_substitution(subst: &HashMap<usize, Type>, ty: Type) -> Type {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unify` is never used
[INFO] [stdout]    --> src/types.rs:461:4
[INFO] [stdout]     |
[INFO] [stdout] 461 | fn unify(local_env: &LocalTypeEnv) -> Result<HashMap<usize, Type>, TypeError> {
[INFO] [stdout]     |    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `unify_types` is never used
[INFO] [stdout]    --> src/types.rs:472:4
[INFO] [stdout]     |
[INFO] [stdout] 472 | fn unify_types(subst: &mut HashMap<usize, Type>, ty1: &Type, ty2: &Type) -> Result<(), TypeError> {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `free_unif_vars` is never used
[INFO] [stdout]    --> src/types.rs:505:4
[INFO] [stdout]     |
[INFO] [stdout] 505 | fn free_unif_vars(subst: &HashMap<usize, Type>, result: &mut HashSet<usize>, ty: &Type) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `generalize` is never used
[INFO] [stdout]    --> src/types.rs:522:4
[INFO] [stdout]     |
[INFO] [stdout] 522 | fn generalize(subst: &HashMap<usize, Type>, machine_ty: MachineType) -> MachineType {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: this type will no longer be must used: Result<std::string::String, Infallible>
[INFO] [stdout]   --> src/main.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     filename: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: requested on the command line with `-D unmustuse-in-always-ok`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]    --> src/types.rs:246:9
[INFO] [stdout]     |
[INFO] [stdout] 246 |         check_statement(global_env, &mut local_env, statement);
[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] 246 |         let _ = check_statement(global_env, &mut local_env, statement);
[INFO] [stdout]     |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bam` (bin "bam") due to 1 previous error; 36 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "f974016b5583325bbae9b5a68b469e50b1ddea01dc0effce5907b8a944bd4c2a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f974016b5583325bbae9b5a68b469e50b1ddea01dc0effce5907b8a944bd4c2a", kill_on_drop: false }`
[INFO] [stdout] f974016b5583325bbae9b5a68b469e50b1ddea01dc0effce5907b8a944bd4c2a
