[INFO] cloning repository https://github.com/DillonJettCallis/rustLetLang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/DillonJettCallis/rustLetLang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDillonJettCallis%2FrustLetLang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDillonJettCallis%2FrustLetLang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1fbaba7221bf2e084a009adc95552c340ea0db9b
[INFO] checking DillonJettCallis/rustLetLang against master#5518eaa946291f00471af8b254b2a1715f234882 for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDillonJettCallis%2FrustLetLang" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/DillonJettCallis/rustLetLang on toolchain 5518eaa946291f00471af8b254b2a1715f234882
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/DillonJettCallis/rustLetLang
[INFO] finished tweaking git repo https://github.com/DillonJettCallis/rustLetLang
[INFO] tweaked toml for git repo https://github.com/DillonJettCallis/rustLetLang written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/DillonJettCallis/rustLetLang 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" "+5518eaa946291f00471af8b254b2a1715f234882" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.90
[INFO] [stderr]   Downloaded serde v1.0.90
[INFO] [stderr]   Downloaded autocfg v0.1.2
[INFO] [stderr]   Downloaded bincode v1.1.3
[INFO] [stderr]   Downloaded quote v0.6.12
[INFO] [stderr]   Downloaded byteorder v1.3.1
[INFO] [stderr]   Downloaded proc-macro2 v0.4.27
[INFO] [stderr]   Downloaded syn v0.15.32
[INFO] [stderr]   Downloaded simple-error v0.1.11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ec123d91d096775cc2cfc709cd45f3b41ef9b44d8e3a39423b7d344b42974aaa
[INFO] running `Command { std: "docker" "start" "-a" "ec123d91d096775cc2cfc709cd45f3b41ef9b44d8e3a39423b7d344b42974aaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ec123d91d096775cc2cfc709cd45f3b41ef9b44d8e3a39423b7d344b42974aaa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ec123d91d096775cc2cfc709cd45f3b41ef9b44d8e3a39423b7d344b42974aaa", kill_on_drop: false }`
[INFO] [stdout] ec123d91d096775cc2cfc709cd45f3b41ef9b44d8e3a39423b7d344b42974aaa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+5518eaa946291f00471af8b254b2a1715f234882" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8a1a963a1dcba01bb61be858adb4a02ed38255fd965d6fd644f146a396abdc91
[INFO] running `Command { std: "docker" "start" "-a" "8a1a963a1dcba01bb61be858adb4a02ed38255fd965d6fd644f146a396abdc91", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]     Checking simple-error v0.1.11
[INFO] [stderr]    Compiling bincode v1.1.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]     Checking rust_let_lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::AstModule`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::AstModule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitModule`, `BitPackage`
[INFO] [stdout]   --> src/main.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use bytecode::{BitApplication, BitModule, BitPackage};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::BitFunction`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bytecode::BitFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::Instruction`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bytecode::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interpreter::RunFunction`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use interpreter::RunFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compile_ir_module`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ir::compile_ir_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::parse`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use parser::parse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BaseShapeKind`, `shape_unknown`
[INFO] [stdout]   --> src/main.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use shapes::{BaseShapeKind, shape_unknown, shape_float};
[INFO] [stdout]    |              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `typechecker::check_module`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use typechecker::check_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ast.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/bytecode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bytecode.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/bytecode.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, ErrorKind, Write};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/bytecode.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Value`
[INFO] [stdout]   --> src/bytecode.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use runtime::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]   --> src/bytecode.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::BaseShapeKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/compiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/compiler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `create_dir_all`
[INFO] [stdout]  --> src/compiler.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, DirEntry, File, create_dir_all};
[INFO] [stdout]   |                     ^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/compiler.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/compiler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssignmentEx`, `FunctionContext`
[INFO] [stdout]   --> src/compiler.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ast::{AssignmentEx, FunctionContext, Parameter};
[INFO] [stdout]    |           ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BinaryOpEx`
[INFO] [stdout]   --> src/compiler.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::BinaryOpEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BlockEx`
[INFO] [stdout]   --> src/compiler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ast::BlockEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::CallEx`
[INFO] [stdout]   --> src/compiler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ast::CallEx;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression`
[INFO] [stdout]   --> src/compiler.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ast::Expression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::FunctionDeclarationEx`
[INFO] [stdout]   --> src/compiler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ast::FunctionDeclarationEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Location`
[INFO] [stdout]   --> src/compiler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ast::Location;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::NumberLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ast::NumberLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::StringLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ast::StringLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::VariableEx`
[INFO] [stdout]   --> src/compiler.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use ast::VariableEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IrFunction`
[INFO] [stdout]   --> src/compiler.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 | use ir::{compile_ir_module, Ir, IrFunction, IrModule};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::shape_float`
[INFO] [stdout]   --> src/compiler.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use shapes::shape_float;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::Shape::SimpleFunctionShape`
[INFO] [stdout]   --> src/interpreter.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::Shape::SimpleFunctionShape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/ir.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufWriter`, `Error`
[INFO] [stdout]  --> src/ir.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{BufWriter, Error, Read, Write};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::ScopeLookup::Local`
[INFO] [stdout]   --> src/ir.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ir::ScopeLookup::Local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ir.rs:365:24
[INFO] [stdout]     |
[INFO] [stdout] 365 |         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout]     |                        ^                                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 365 -         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout] 365 +         context.append(Ir::StoreValue { local: self.id.clone() });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:426:6
[INFO] [stdout]     |
[INFO] [stdout] 426 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:472:6
[INFO] [stdout]     |
[INFO] [stdout] 472 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression::BinaryOp`
[INFO] [stdout]  --> src/lib_core.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ast::Expression::BinaryOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_list`
[INFO] [stdout]   --> src/lib_core.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use shapes::{Shape, BaseShapeKind, shape_list};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/lib_core.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitFunction`, `BitModule`
[INFO] [stdout]  --> src/optimize/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytecode::{BitModule, BitFunction};
[INFO] [stdout]   |                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]  --> src/runtime.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shapes::BaseShapeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::AstModule`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::AstModule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitModule`, `BitPackage`
[INFO] [stdout]   --> src/main.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use bytecode::{BitApplication, BitModule, BitPackage};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::BitFunction`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bytecode::BitFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::Instruction`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bytecode::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interpreter::RunFunction`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use interpreter::RunFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compile_ir_module`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ir::compile_ir_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::parse`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use parser::parse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BaseShapeKind`, `shape_unknown`
[INFO] [stdout]   --> src/main.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use shapes::{BaseShapeKind, shape_unknown, shape_float};
[INFO] [stdout]    |              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `typechecker::check_module`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use typechecker::check_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ast.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/bytecode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bytecode.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/bytecode.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, ErrorKind, Write};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/bytecode.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Value`
[INFO] [stdout]   --> src/bytecode.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use runtime::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]   --> src/bytecode.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::BaseShapeKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/compiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/compiler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `create_dir_all`
[INFO] [stdout]  --> src/compiler.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, DirEntry, File, create_dir_all};
[INFO] [stdout]   |                     ^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/compiler.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/compiler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssignmentEx`, `FunctionContext`
[INFO] [stdout]   --> src/compiler.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ast::{AssignmentEx, FunctionContext, Parameter};
[INFO] [stdout]    |           ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BinaryOpEx`
[INFO] [stdout]   --> src/compiler.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::BinaryOpEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BlockEx`
[INFO] [stdout]   --> src/compiler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ast::BlockEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::CallEx`
[INFO] [stdout]   --> src/compiler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ast::CallEx;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression`
[INFO] [stdout]   --> src/compiler.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ast::Expression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::FunctionDeclarationEx`
[INFO] [stdout]   --> src/compiler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ast::FunctionDeclarationEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Location`
[INFO] [stdout]   --> src/compiler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ast::Location;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::NumberLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ast::NumberLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::StringLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ast::StringLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::VariableEx`
[INFO] [stdout]   --> src/compiler.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use ast::VariableEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IrFunction`
[INFO] [stdout]   --> src/compiler.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 | use ir::{compile_ir_module, Ir, IrFunction, IrModule};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::shape_float`
[INFO] [stdout]   --> src/compiler.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use shapes::shape_float;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::Shape::SimpleFunctionShape`
[INFO] [stdout]   --> src/interpreter.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::Shape::SimpleFunctionShape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/ir.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufWriter`, `Error`
[INFO] [stdout]  --> src/ir.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{BufWriter, Error, Read, Write};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::ScopeLookup::Local`
[INFO] [stdout]   --> src/ir.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ir::ScopeLookup::Local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ir.rs:365:24
[INFO] [stdout]     |
[INFO] [stdout] 365 |         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout]     |                        ^                                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 365 -         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout] 365 +         context.append(Ir::StoreValue { local: self.id.clone() });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:426:6
[INFO] [stdout]     |
[INFO] [stdout] 426 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:472:6
[INFO] [stdout]     |
[INFO] [stdout] 472 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression::BinaryOp`
[INFO] [stdout]  --> src/lib_core.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ast::Expression::BinaryOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_list`
[INFO] [stdout]   --> src/lib_core.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use shapes::{Shape, BaseShapeKind, shape_list};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/lib_core.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitFunction`, `BitModule`
[INFO] [stdout]  --> src/optimize/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytecode::{BitModule, BitFunction};
[INFO] [stdout]   |                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]  --> src/runtime.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shapes::BaseShapeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<FunctionHandle>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<dyn FunctionHandle>,
[INFO] [stdout]     |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<dyn Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<dyn Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/runtime.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<FunctionHandle>),
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<dyn FunctionHandle>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:425:33
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<PackageShapes>>,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<dyn PackageShapes>>,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:459:32
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<ModuleShapes>>,
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<dyn ModuleShapes>>,
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for FunctionHandle {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for dyn FunctionHandle {
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<dyn FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<dyn Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:503:26
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<PackageShapes> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<dyn PackageShapes> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:514:25
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:452:56
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>>;
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>>;
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:440:71
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:463:56
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<FunctionHandle>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<dyn FunctionHandle>,
[INFO] [stdout]     |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<dyn Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<dyn Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/runtime.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<FunctionHandle>),
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<dyn FunctionHandle>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:425:33
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<PackageShapes>>,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<dyn PackageShapes>>,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:459:32
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<ModuleShapes>>,
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<dyn ModuleShapes>>,
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for FunctionHandle {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for dyn FunctionHandle {
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<dyn FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<dyn Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:503:26
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<PackageShapes> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<dyn PackageShapes> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:514:25
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:452:56
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>>;
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>>;
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:440:71
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:463:56
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex`
[INFO] [stdout]   --> src/ast.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |       Expression::Import(ex) => shape_unit(),
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_ex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn compile(mut module: IrModule) -> Result<BitModule, SimpleError> {
[INFO] [stdout]    |                ----^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:126:23
[INFO] [stdout]     |
[INFO] [stdout] 126 |                   for i in 0..size {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 for i in 0..param_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex`
[INFO] [stdout]   --> src/ast.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |       Expression::Import(ex) => shape_unit(),
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_ex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn compile(mut module: IrModule) -> Result<BitModule, SimpleError> {
[INFO] [stdout]    |                ----^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:126:23
[INFO] [stdout]     |
[INFO] [stdout] 126 |                   for i in 0..size {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 for i in 0..param_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let CallEx { shape, loc, func, args } = self;
[INFO] [stdout]     |                  ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/ir.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/ir.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                                ^^^ help: try ignoring the field: `loc: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let BinaryOpEx { shape, loc, op, left, right } = self;
[INFO] [stdout]     |                      ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `machine`
[INFO] [stdout]    --> src/lib_core.rs:147:29
[INFO] [stdout]     |
[INFO] [stdout] 147 |   let func = Box::new(move |machine: &Machine, args: Vec<Value>| {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_machine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/typechecker.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let mut app = AppShapes::new();
[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/typechecker.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let mut imports = module.imports.clone();
[INFO] [stdout]    |       ----^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]   --> src/typechecker.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let BlockEx{shape: raw_shape, loc, body: raw_body} = self;
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:121:37
[INFO] [stdout]     |
[INFO] [stdout] 121 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let BinaryOpEx{shape: raw_shape, left: raw_left, right: raw_right, op, loc} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:158:23
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let CallEx{shape: raw_shape, loc, func: raw_func, args: raw_args} = self;
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:157:37
[INFO] [stdout]     |
[INFO] [stdout] 157 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let IfEx{shape: raw_shape, loc, condition: raw_condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:216:27
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let VariableEx{shape: raw_shape, loc, id} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:215:37
[INFO] [stdout]     |
[INFO] [stdout] 215 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:224:37
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:230:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:230:37
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let CallEx { shape, loc, func, args } = self;
[INFO] [stdout]     |                  ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/ir.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/ir.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                                ^^^ help: try ignoring the field: `loc: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let BinaryOpEx { shape, loc, op, left, right } = self;
[INFO] [stdout]     |                      ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fill_shape_native` is never used
[INFO] [stdout]   --> src/shapes.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Shape {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn fill_shape_native(self) -> Shape {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericShape` is never constructed
[INFO] [stdout]    --> src/shapes.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct GenericShape {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]   --> src/ast.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Location {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn error(&self, message: &str) -> SimpleError {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Import` is never constructed
[INFO] [stdout]   --> src/ast.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum Expression {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 29 |   NoOp(Location),
[INFO] [stdout] 30 |   Import(Box<ImportEx>),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pretty` is never used
[INFO] [stdout]    --> src/ast.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Parameter {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 121 |
[INFO] [stdout] 122 |   pub fn pretty(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wrap` is never used
[INFO] [stdout]    --> src/ast.rs:285:10
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl ImportEx {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 285 |   pub fn wrap(self) -> Expression {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bytecode.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl BitPackage {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |   pub fn new() -> BitPackage {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]   --> src/bytecode.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BitModule {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub fn lookup_shape(&self, id: ConstantId) -> Result<Shape, SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `result` is never used
[INFO] [stdout]    --> src/bytecode.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl FunctionRef {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn result(&self) -> Shape {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]    --> src/compiler.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl ModuleContext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 193 |   fn lookup_shape(&mut self, shape: &Shape) -> ConstantId {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]   --> src/ir.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl IrModule {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 23 |   pub fn debug(&self) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `debug` and `pretty_print` are never used
[INFO] [stdout]   --> src/ir.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl IrFunction {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 46 |   pub fn debug(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   pub fn pretty_print<Writer: Write>(&self, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `pretty_print` is never used
[INFO] [stdout]    --> src/ir.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Ir {
[INFO] [stdout]     | ------- associated function in this implementation
[INFO] [stdout] 115 |   pub fn pretty_print<Writer: Write>(block: &Vec<Ir>, indent: &str, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:663:8
[INFO] [stdout]     |
[INFO] [stdout] 663 | pub fn serialize_ir_module<Writer: Write>(writer: &mut Writer, module: &IrModule) -> Result<(), SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:668:8
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub fn deserialize_ir_module<Reader: Read>(reader: &mut Reader) -> Result<IrModule, SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register` is never used
[INFO] [stdout]   --> src/optimize/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Optimizer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_kind` is never used
[INFO] [stdout]    --> src/parser.rs:511:6
[INFO] [stdout]     |
[INFO] [stdout] 47  | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 511 |   fn check_kind(&mut self, kind: TokenKind) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]    --> src/parser.rs:620:3
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub enum TokenKind {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 620 |   String,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenKind` 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: constant `COMPARE_OPS` is never used
[INFO] [stdout]    --> src/typechecker.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 | const COMPARE_OPS: &'static [&'static str] = &["==", "!=", "<", ">", "<=", ">="];
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/typechecker.rs:444:6
[INFO] [stdout]     |
[INFO] [stdout] 428 | impl AppShapes {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |   fn lookup(&self, package: &str, module: &str, name: &str) -> Option<Shape> {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `machine`
[INFO] [stdout]    --> src/lib_core.rs:147:29
[INFO] [stdout]     |
[INFO] [stdout] 147 |   let func = Box::new(move |machine: &Machine, args: Vec<Value>| {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_machine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/compiler.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     bytecode.debug();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let _ = bytecode.debug();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/typechecker.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |       scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[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] 24 |       let _ = scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/typechecker.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let mut app = AppShapes::new();
[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/typechecker.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let mut imports = module.imports.clone();
[INFO] [stdout]    |       ----^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]   --> src/typechecker.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let BlockEx{shape: raw_shape, loc, body: raw_body} = self;
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:121:37
[INFO] [stdout]     |
[INFO] [stdout] 121 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let BinaryOpEx{shape: raw_shape, left: raw_left, right: raw_right, op, loc} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:158:23
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let CallEx{shape: raw_shape, loc, func: raw_func, args: raw_args} = self;
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:157:37
[INFO] [stdout]     |
[INFO] [stdout] 157 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let IfEx{shape: raw_shape, loc, condition: raw_condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:216:27
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let VariableEx{shape: raw_shape, loc, id} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:215:37
[INFO] [stdout]     |
[INFO] [stdout] 215 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:224:37
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:230:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:230:37
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fill_shape_native` is never used
[INFO] [stdout]   --> src/shapes.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Shape {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn fill_shape_native(self) -> Shape {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericShape` is never constructed
[INFO] [stdout]    --> src/shapes.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct GenericShape {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]   --> src/ast.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Location {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn error(&self, message: &str) -> SimpleError {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Import` is never constructed
[INFO] [stdout]   --> src/ast.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum Expression {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 29 |   NoOp(Location),
[INFO] [stdout] 30 |   Import(Box<ImportEx>),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pretty` is never used
[INFO] [stdout]    --> src/ast.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Parameter {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 121 |
[INFO] [stdout] 122 |   pub fn pretty(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wrap` is never used
[INFO] [stdout]    --> src/ast.rs:285:10
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl ImportEx {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 285 |   pub fn wrap(self) -> Expression {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bytecode.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl BitPackage {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |   pub fn new() -> BitPackage {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]   --> src/bytecode.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BitModule {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub fn lookup_shape(&self, id: ConstantId) -> Result<Shape, SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `result` is never used
[INFO] [stdout]    --> src/bytecode.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl FunctionRef {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn result(&self) -> Shape {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]    --> src/compiler.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl ModuleContext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 193 |   fn lookup_shape(&mut self, shape: &Shape) -> ConstantId {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]   --> src/ir.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl IrModule {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 23 |   pub fn debug(&self) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `debug` and `pretty_print` are never used
[INFO] [stdout]   --> src/ir.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl IrFunction {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 46 |   pub fn debug(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   pub fn pretty_print<Writer: Write>(&self, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `pretty_print` is never used
[INFO] [stdout]    --> src/ir.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Ir {
[INFO] [stdout]     | ------- associated function in this implementation
[INFO] [stdout] 115 |   pub fn pretty_print<Writer: Write>(block: &Vec<Ir>, indent: &str, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:663:8
[INFO] [stdout]     |
[INFO] [stdout] 663 | pub fn serialize_ir_module<Writer: Write>(writer: &mut Writer, module: &IrModule) -> Result<(), SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:668:8
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub fn deserialize_ir_module<Reader: Read>(reader: &mut Reader) -> Result<IrModule, SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register` is never used
[INFO] [stdout]   --> src/optimize/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Optimizer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_kind` is never used
[INFO] [stdout]    --> src/parser.rs:511:6
[INFO] [stdout]     |
[INFO] [stdout] 47  | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 511 |   fn check_kind(&mut self, kind: TokenKind) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]    --> src/parser.rs:620:3
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub enum TokenKind {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 620 |   String,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenKind` 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: constant `COMPARE_OPS` is never used
[INFO] [stdout]    --> src/typechecker.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 | const COMPARE_OPS: &'static [&'static str] = &["==", "!=", "<", ">", "<=", ">="];
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/typechecker.rs:444:6
[INFO] [stdout]     |
[INFO] [stdout] 428 | impl AppShapes {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |   fn lookup(&self, package: &str, module: &str, name: &str) -> Option<Shape> {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/compiler.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     bytecode.debug();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let _ = bytecode.debug();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/typechecker.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |       scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[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] 24 |       let _ = scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 8.33s
[INFO] running `Command { std: "docker" "inspect" "8a1a963a1dcba01bb61be858adb4a02ed38255fd965d6fd644f146a396abdc91", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a1a963a1dcba01bb61be858adb4a02ed38255fd965d6fd644f146a396abdc91", kill_on_drop: false }`
[INFO] [stdout] 8a1a963a1dcba01bb61be858adb4a02ed38255fd965d6fd644f146a396abdc91
[INFO] checking DillonJettCallis/rustLetLang against try#7622c0f807a4e13c4db886a1681bf343795692df+rustflags=-Dnon_local_definitions for pr-120393-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FDillonJettCallis%2FrustLetLang" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/DillonJettCallis/rustLetLang on toolchain 7622c0f807a4e13c4db886a1681bf343795692df
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/DillonJettCallis/rustLetLang
[INFO] finished tweaking git repo https://github.com/DillonJettCallis/rustLetLang
[INFO] tweaked toml for git repo https://github.com/DillonJettCallis/rustLetLang written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/DillonJettCallis/rustLetLang 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" "+7622c0f807a4e13c4db886a1681bf343795692df" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8955d069201b17f55f3883a8639465fb4ea1c27eeb8b4e254a81115daa6b2d3c
[INFO] running `Command { std: "docker" "start" "-a" "8955d069201b17f55f3883a8639465fb4ea1c27eeb8b4e254a81115daa6b2d3c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8955d069201b17f55f3883a8639465fb4ea1c27eeb8b4e254a81115daa6b2d3c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8955d069201b17f55f3883a8639465fb4ea1c27eeb8b4e254a81115daa6b2d3c", kill_on_drop: false }`
[INFO] [stdout] 8955d069201b17f55f3883a8639465fb4ea1c27eeb8b4e254a81115daa6b2d3c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dnon_local_definitions" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+7622c0f807a4e13c4db886a1681bf343795692df" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 225546394c738ad56b9063db36865431ff49bc7a99c30ae2d2aae9974d989321
[INFO] running `Command { std: "docker" "start" "-a" "225546394c738ad56b9063db36865431ff49bc7a99c30ae2d2aae9974d989321", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling syn v0.15.32
[INFO] [stderr]    Compiling serde v1.0.90
[INFO] [stderr]    Compiling byteorder v1.3.1
[INFO] [stderr]    Compiling autocfg v0.1.2
[INFO] [stderr]     Checking simple-error v0.1.11
[INFO] [stderr]    Compiling bincode v1.1.3
[INFO] [stderr]    Compiling quote v0.6.12
[INFO] [stderr]    Compiling serde_derive v1.0.90
[INFO] [stderr]     Checking rust_let_lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::AstModule`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::AstModule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitModule`, `BitPackage`
[INFO] [stdout]   --> src/main.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use bytecode::{BitApplication, BitModule, BitPackage};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::BitFunction`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bytecode::BitFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::Instruction`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bytecode::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interpreter::RunFunction`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use interpreter::RunFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compile_ir_module`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ir::compile_ir_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::parse`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use parser::parse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BaseShapeKind`, `shape_unknown`
[INFO] [stdout]   --> src/main.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use shapes::{BaseShapeKind, shape_unknown, shape_float};
[INFO] [stdout]    |              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `typechecker::check_module`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use typechecker::check_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ast.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/bytecode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bytecode.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/bytecode.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, ErrorKind, Write};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/bytecode.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Value`
[INFO] [stdout]   --> src/bytecode.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use runtime::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]   --> src/bytecode.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::BaseShapeKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/compiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/compiler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `create_dir_all`
[INFO] [stdout]  --> src/compiler.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, DirEntry, File, create_dir_all};
[INFO] [stdout]   |                     ^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/compiler.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/compiler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/main.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssignmentEx`, `FunctionContext`
[INFO] [stdout]   --> src/compiler.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ast::{AssignmentEx, FunctionContext, Parameter};
[INFO] [stdout]    |           ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BinaryOpEx`
[INFO] [stdout]   --> src/compiler.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::BinaryOpEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BlockEx`
[INFO] [stdout]   --> src/compiler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ast::BlockEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/main.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::CallEx`
[INFO] [stdout]   --> src/compiler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ast::CallEx;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression`
[INFO] [stdout]   --> src/compiler.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ast::Expression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::AstModule`
[INFO] [stdout]   --> src/main.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::AstModule;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::FunctionDeclarationEx`
[INFO] [stdout]   --> src/compiler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ast::FunctionDeclarationEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitModule`, `BitPackage`
[INFO] [stdout]   --> src/main.rs:12:32
[INFO] [stdout]    |
[INFO] [stdout] 12 | use bytecode::{BitApplication, BitModule, BitPackage};
[INFO] [stdout]    |                                ^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Location`
[INFO] [stdout]   --> src/compiler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ast::Location;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::BitFunction`
[INFO] [stdout]   --> src/main.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use bytecode::BitFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::NumberLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ast::NumberLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `bytecode::Instruction`
[INFO] [stdout]   --> src/main.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use bytecode::Instruction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::StringLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ast::StringLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `interpreter::RunFunction`
[INFO] [stdout]   --> src/main.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use interpreter::RunFunction;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::compile_ir_module`
[INFO] [stdout]   --> src/main.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ir::compile_ir_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::VariableEx`
[INFO] [stdout]   --> src/compiler.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use ast::VariableEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `parser::parse`
[INFO] [stdout]   --> src/main.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use parser::parse;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IrFunction`
[INFO] [stdout]   --> src/compiler.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 | use ir::{compile_ir_module, Ir, IrFunction, IrModule};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::shape_float`
[INFO] [stdout]   --> src/compiler.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use shapes::shape_float;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BaseShapeKind`, `shape_unknown`
[INFO] [stdout]   --> src/main.rs:22:14
[INFO] [stdout]    |
[INFO] [stdout] 22 | use shapes::{BaseShapeKind, shape_unknown, shape_float};
[INFO] [stdout]    |              ^^^^^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::Shape::SimpleFunctionShape`
[INFO] [stdout]   --> src/interpreter.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::Shape::SimpleFunctionShape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `typechecker::check_module`
[INFO] [stdout]   --> src/main.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use typechecker::check_module;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/ir.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufWriter`, `Error`
[INFO] [stdout]  --> src/ir.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{BufWriter, Error, Read, Write};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/ast.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::error::Error`
[INFO] [stdout]  --> src/bytecode.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::error::Error;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::ScopeLookup::Local`
[INFO] [stdout]   --> src/ir.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ir::ScopeLookup::Local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]  --> src/bytecode.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::fs::File;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ErrorKind`
[INFO] [stdout]  --> src/bytecode.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{self, ErrorKind, Write};
[INFO] [stdout]   |                     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/bytecode.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `runtime::Value`
[INFO] [stdout]   --> src/bytecode.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use runtime::Value;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]   --> src/bytecode.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::BaseShapeKind;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::borrow::BorrowMut`
[INFO] [stdout]  --> src/compiler.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use core::borrow::BorrowMut;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::cmp::max`
[INFO] [stdout]  --> src/compiler.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::cmp::max;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DirEntry`, `File`, `create_dir_all`
[INFO] [stdout]  --> src/compiler.rs:4:21
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::fs::{self, DirEntry, File, create_dir_all};
[INFO] [stdout]   |                     ^^^^^^^^  ^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `PathBuf`
[INFO] [stdout]  --> src/compiler.rs:5:23
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Path, PathBuf};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::rc::Rc`
[INFO] [stdout]  --> src/compiler.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::rc::Rc;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AssignmentEx`, `FunctionContext`
[INFO] [stdout]   --> src/compiler.rs:10:11
[INFO] [stdout]    |
[INFO] [stdout] 10 | use ast::{AssignmentEx, FunctionContext, Parameter};
[INFO] [stdout]    |           ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BinaryOpEx`
[INFO] [stdout]   --> src/compiler.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use ast::BinaryOpEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::BlockEx`
[INFO] [stdout]   --> src/compiler.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ast::BlockEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::CallEx`
[INFO] [stdout]   --> src/compiler.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use ast::CallEx;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression`
[INFO] [stdout]   --> src/compiler.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ast::Expression;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::FunctionDeclarationEx`
[INFO] [stdout]   --> src/compiler.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ast::FunctionDeclarationEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Location`
[INFO] [stdout]   --> src/compiler.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use ast::Location;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::NumberLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use ast::NumberLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::StringLiteralEx`
[INFO] [stdout]   --> src/compiler.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | use ast::StringLiteralEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::VariableEx`
[INFO] [stdout]   --> src/compiler.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use ast::VariableEx;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `IrFunction`
[INFO] [stdout]   --> src/compiler.rs:28:33
[INFO] [stdout]    |
[INFO] [stdout] 28 | use ir::{compile_ir_module, Ir, IrFunction, IrModule};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::shape_float`
[INFO] [stdout]   --> src/compiler.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use shapes::shape_float;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/interpreter.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::Shape::SimpleFunctionShape`
[INFO] [stdout]   --> src/interpreter.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use shapes::Shape::SimpleFunctionShape;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::hash::Hash`
[INFO] [stdout]  --> src/ir.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::hash::Hash;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufWriter`, `Error`
[INFO] [stdout]  --> src/ir.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{BufWriter, Error, Read, Write};
[INFO] [stdout]   |               ^^^^^^^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::ScopeLookup::Local`
[INFO] [stdout]   --> src/ir.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use ir::ScopeLookup::Local;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ir.rs:365:24
[INFO] [stdout]     |
[INFO] [stdout] 365 |         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout]     |                        ^                                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 365 -         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout] 365 +         context.append(Ir::StoreValue { local: self.id.clone() });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:426:6
[INFO] [stdout]     |
[INFO] [stdout] 426 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:472:6
[INFO] [stdout]     |
[INFO] [stdout] 472 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression::BinaryOp`
[INFO] [stdout]  --> src/lib_core.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ast::Expression::BinaryOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_list`
[INFO] [stdout]   --> src/lib_core.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use shapes::{Shape, BaseShapeKind, shape_list};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/lib_core.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitFunction`, `BitModule`
[INFO] [stdout]  --> src/optimize/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytecode::{BitModule, BitFunction};
[INFO] [stdout]   |                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]  --> src/runtime.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shapes::BaseShapeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around method argument
[INFO] [stdout]    --> src/ir.rs:365:24
[INFO] [stdout]     |
[INFO] [stdout] 365 |         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout]     |                        ^                                         ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 365 -         context.append((Ir::StoreValue { local: self.id.clone() }));
[INFO] [stdout] 365 +         context.append(Ir::StoreValue { local: self.id.clone() });
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:426:6
[INFO] [stdout]     |
[INFO] [stdout] 426 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/ir.rs:472:6
[INFO] [stdout]     |
[INFO] [stdout] 472 |     };
[INFO] [stdout]     |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ast::Expression::BinaryOp`
[INFO] [stdout]  --> src/lib_core.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use ast::Expression::BinaryOp;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shape_list`
[INFO] [stdout]   --> src/lib_core.rs:10:36
[INFO] [stdout]    |
[INFO] [stdout] 10 | use shapes::{Shape, BaseShapeKind, shape_list};
[INFO] [stdout]    |                                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::borrow::Borrow`
[INFO] [stdout]   --> src/lib_core.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::borrow::Borrow;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BitFunction`, `BitModule`
[INFO] [stdout]  --> src/optimize/mod.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use bytecode::{BitModule, BitFunction};
[INFO] [stdout]   |                ^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `shapes::BaseShapeKind`
[INFO] [stdout]  --> src/runtime.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use shapes::BaseShapeKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<FunctionHandle>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<dyn FunctionHandle>,
[INFO] [stdout]     |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<dyn Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<dyn Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/runtime.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<FunctionHandle>),
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<dyn FunctionHandle>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:425:33
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<PackageShapes>>,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<dyn PackageShapes>>,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:459:32
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<ModuleShapes>>,
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<dyn ModuleShapes>>,
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<FunctionHandle>,
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]     = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 282 |   func: Rc<dyn FunctionHandle>,
[INFO] [stdout]     |            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/interpreter.rs:295:17
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 295 |   pub func: Box<dyn Fn(&Machine, Vec<Value>) -> Result<Value, SimpleError>>,
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:12:16
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 12 |   ops: Vec<Box<dyn Fn(&mut IrFunction) -> ()>>
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/runtime.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<FunctionHandle>),
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 |   Function(Rc<dyn FunctionHandle>),
[INFO] [stdout]    |               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:425:33
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<PackageShapes>>,
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 425 |   packages: HashMap<String, Box<dyn PackageShapes>>,
[INFO] [stdout]     |                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:459:32
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<ModuleShapes>>,
[INFO] [stdout]     |                                ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 459 |   modules: HashMap<String, Box<dyn ModuleShapes>>,
[INFO] [stdout]     |                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for FunctionHandle {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for dyn FunctionHandle {
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<dyn FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:25:16
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for FunctionHandle {
[INFO] [stdout]    |                ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl Debug for dyn FunctionHandle {
[INFO] [stdout]    |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/interpreter.rs:45:43
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 45 |   pub fn execute_handle(&self, handle: Rc<dyn FunctionHandle>, locals: Vec<Value>) -> Result<Value, SimpleError> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<dyn Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/optimize/mod.rs:31:40
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<dyn Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:503:26
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<PackageShapes> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<dyn PackageShapes> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:514:25
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:452:56
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>>;
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>>;
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:440:71
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:503:26
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<PackageShapes> {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 503 | fn core_package() -> Box<dyn PackageShapes> {
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:463:56
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:514:25
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 514 | fn list_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:554:25
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<ModuleShapes> {
[INFO] [stdout]     |                         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 554 | fn core_module() -> Box<dyn ModuleShapes> {
[INFO] [stdout]     |                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:452:56
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>>;
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 452 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>>;
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:440:71
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                                       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 440 |   fn lookup_module(&self, package: &str, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/typechecker.rs:463:56
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<ModuleShapes>> {
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 463 |   fn lookup_module(&self, module: &str) -> Option<&Box<dyn ModuleShapes>> {
[INFO] [stdout]     |                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex`
[INFO] [stdout]   --> src/ast.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |       Expression::Import(ex) => shape_unit(),
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_ex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ex`
[INFO] [stdout]   --> src/ast.rs:64:26
[INFO] [stdout]    |
[INFO] [stdout] 64 |       Expression::Import(ex) => shape_unit(),
[INFO] [stdout]    |                          ^^ help: if this is intentional, prefix it with an underscore: `_ex`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn compile(mut module: IrModule) -> Result<BitModule, SimpleError> {
[INFO] [stdout]    |                ----^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:126:23
[INFO] [stdout]     |
[INFO] [stdout] 126 |                   for i in 0..size {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 for i in 0..param_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/compiler.rs:84:16
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub fn compile(mut module: IrModule) -> Result<BitModule, SimpleError> {
[INFO] [stdout]    |                ----^^^^^^
[INFO] [stdout]    |                |
[INFO] [stdout]    |                help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:126:23
[INFO] [stdout]     |
[INFO] [stdout] 126 |                   for i in 0..size {
[INFO] [stdout]     |                       ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `i`
[INFO] [stdout]    --> src/interpreter.rs:150:21
[INFO] [stdout]     |
[INFO] [stdout] 150 |                 for i in 0..param_count {
[INFO] [stdout]     |                     ^ help: if this is intentional, prefix it with an underscore: `_i`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let CallEx { shape, loc, func, args } = self;
[INFO] [stdout]     |                  ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/ir.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/ir.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                                ^^^ help: try ignoring the field: `loc: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let BinaryOpEx { shape, loc, op, left, right } = self;
[INFO] [stdout]     |                      ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `machine`
[INFO] [stdout]    --> src/lib_core.rs:147:29
[INFO] [stdout]     |
[INFO] [stdout] 147 |   let func = Box::new(move |machine: &Machine, args: Vec<Value>| {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_machine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:275:18
[INFO] [stdout]     |
[INFO] [stdout] 275 |     let CallEx { shape, loc, func, args } = self;
[INFO] [stdout]     |                  ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/ir.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `loc`
[INFO] [stdout]    --> src/ir.rs:306:32
[INFO] [stdout]     |
[INFO] [stdout] 306 |     let IfEx{shape: raw_shape, loc, condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                                ^^^ help: try ignoring the field: `loc: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `shape`
[INFO] [stdout]    --> src/ir.rs:325:22
[INFO] [stdout]     |
[INFO] [stdout] 325 |     let BinaryOpEx { shape, loc, op, left, right } = self;
[INFO] [stdout]     |                      ^^^^^ help: try ignoring the field: `shape: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `machine`
[INFO] [stdout]    --> src/lib_core.rs:147:29
[INFO] [stdout]     |
[INFO] [stdout] 147 |   let func = Box::new(move |machine: &Machine, args: Vec<Value>| {
[INFO] [stdout]     |                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_machine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/typechecker.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let mut app = AppShapes::new();
[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/typechecker.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let mut imports = module.imports.clone();
[INFO] [stdout]    |       ----^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]   --> src/typechecker.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let BlockEx{shape: raw_shape, loc, body: raw_body} = self;
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:121:37
[INFO] [stdout]     |
[INFO] [stdout] 121 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let BinaryOpEx{shape: raw_shape, left: raw_left, right: raw_right, op, loc} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:158:23
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let CallEx{shape: raw_shape, loc, func: raw_func, args: raw_args} = self;
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:157:37
[INFO] [stdout]     |
[INFO] [stdout] 157 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let IfEx{shape: raw_shape, loc, condition: raw_condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:216:27
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let VariableEx{shape: raw_shape, loc, id} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:215:37
[INFO] [stdout]     |
[INFO] [stdout] 215 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:224:37
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:230:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:230:37
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/typechecker.rs:10:7
[INFO] [stdout]    |
[INFO] [stdout] 10 |   let mut app = AppShapes::new();
[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/typechecker.rs:11:7
[INFO] [stdout]    |
[INFO] [stdout] 11 |   let mut imports = module.imports.clone();
[INFO] [stdout]    |       ----^^^^^^^
[INFO] [stdout]    |       |
[INFO] [stdout]    |       help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]   --> src/typechecker.rs:91:24
[INFO] [stdout]    |
[INFO] [stdout] 91 |     let BlockEx{shape: raw_shape, loc, body: raw_body} = self;
[INFO] [stdout]    |                        ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:121:37
[INFO] [stdout]     |
[INFO] [stdout] 121 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:137:27
[INFO] [stdout]     |
[INFO] [stdout] 137 |     let BinaryOpEx{shape: raw_shape, left: raw_left, right: raw_right, op, loc} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:136:37
[INFO] [stdout]     |
[INFO] [stdout] 136 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:158:23
[INFO] [stdout]     |
[INFO] [stdout] 158 |     let CallEx{shape: raw_shape, loc, func: raw_func, args: raw_args} = self;
[INFO] [stdout]     |                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:157:37
[INFO] [stdout]     |
[INFO] [stdout] 157 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:192:21
[INFO] [stdout]     |
[INFO] [stdout] 192 |     let IfEx{shape: raw_shape, loc, condition: raw_condition, then_block: raw_then_block, else_block: raw_else_block} = self;
[INFO] [stdout]     |                     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fill_shape_native` is never used
[INFO] [stdout]   --> src/shapes.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Shape {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn fill_shape_native(self) -> Shape {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:191:37
[INFO] [stdout]     |
[INFO] [stdout] 191 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericShape` is never constructed
[INFO] [stdout]    --> src/shapes.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct GenericShape {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]   --> src/ast.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Location {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn error(&self, message: &str) -> SimpleError {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Import` is never constructed
[INFO] [stdout]   --> src/ast.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum Expression {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 29 |   NoOp(Location),
[INFO] [stdout] 30 |   Import(Box<ImportEx>),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pretty` is never used
[INFO] [stdout]    --> src/ast.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Parameter {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 121 |
[INFO] [stdout] 122 |   pub fn pretty(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wrap` is never used
[INFO] [stdout]    --> src/ast.rs:285:10
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl ImportEx {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 285 |   pub fn wrap(self) -> Expression {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bytecode.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl BitPackage {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |   pub fn new() -> BitPackage {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]   --> src/bytecode.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BitModule {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub fn lookup_shape(&self, id: ConstantId) -> Result<Shape, SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `result` is never used
[INFO] [stdout]    --> src/bytecode.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl FunctionRef {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn result(&self) -> Shape {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]    --> src/compiler.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl ModuleContext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 193 |   fn lookup_shape(&mut self, shape: &Shape) -> ConstantId {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]   --> src/ir.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl IrModule {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 23 |   pub fn debug(&self) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `debug` and `pretty_print` are never used
[INFO] [stdout]   --> src/ir.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl IrFunction {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 46 |   pub fn debug(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   pub fn pretty_print<Writer: Write>(&self, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `pretty_print` is never used
[INFO] [stdout]    --> src/ir.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Ir {
[INFO] [stdout]     | ------- associated function in this implementation
[INFO] [stdout] 115 |   pub fn pretty_print<Writer: Write>(block: &Vec<Ir>, indent: &str, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:663:8
[INFO] [stdout]     |
[INFO] [stdout] 663 | pub fn serialize_ir_module<Writer: Write>(writer: &mut Writer, module: &IrModule) -> Result<(), SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:668:8
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub fn deserialize_ir_module<Reader: Read>(reader: &mut Reader) -> Result<IrModule, SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `raw_shape`
[INFO] [stdout]    --> src/typechecker.rs:216:27
[INFO] [stdout]     |
[INFO] [stdout] 216 |     let VariableEx{shape: raw_shape, loc, id} = self;
[INFO] [stdout]     |                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_raw_shape`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register` is never used
[INFO] [stdout]   --> src/optimize/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Optimizer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:215:37
[INFO] [stdout]     |
[INFO] [stdout] 215 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_kind` is never used
[INFO] [stdout]    --> src/parser.rs:511:6
[INFO] [stdout]     |
[INFO] [stdout] 47  | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 511 |   fn check_kind(&mut self, kind: TokenKind) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]    --> src/parser.rs:620:3
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub enum TokenKind {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 620 |   String,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenKind` 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: constant `COMPARE_OPS` is never used
[INFO] [stdout]    --> src/typechecker.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 | const COMPARE_OPS: &'static [&'static str] = &["==", "!=", "<", ">", "<=", ">="];
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/typechecker.rs:444:6
[INFO] [stdout]     |
[INFO] [stdout] 428 | impl AppShapes {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |   fn lookup(&self, package: &str, module: &str, name: &str) -> Option<Shape> {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:224:18
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/shapes.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Shape`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:224:37
[INFO] [stdout]     |
[INFO] [stdout] 224 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope`
[INFO] [stdout]    --> src/typechecker.rs:230:18
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                  ^^^^^ help: if this is intentional, prefix it with an underscore: `_scope`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/shapes.rs:5:50
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |                                                  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Shape`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `expected`
[INFO] [stdout]    --> src/typechecker.rs:230:37
[INFO] [stdout]     |
[INFO] [stdout] 230 |   fn check(self, scope: &mut Scope, expected: Shape) -> Result<Expression, SimpleError> {
[INFO] [stdout]     |                                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/shapes.rs:65:39
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_BaseShapeKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/shapes.rs:65:50
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_BaseShapeKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/ast.rs:114:24
[INFO] [stdout]     |
[INFO] [stdout] 114 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Parameter`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/ast.rs:114:35
[INFO] [stdout]     |
[INFO] [stdout] 114 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Parameter`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/bytecode.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FunctionRef`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/bytecode.rs:106:35
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FunctionRef`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/compiler.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     bytecode.debug();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let _ = bytecode.debug();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_IrModule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_IrModule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_IrFunction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_IrFunction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Ir`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Ir`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/typechecker.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |       scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[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] 24 |       let _ = scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `fill_shape_native` is never used
[INFO] [stdout]   --> src/shapes.rs:60:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | impl Shape {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 60 |   pub fn fill_shape_native(self) -> Shape {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenericShape` is never constructed
[INFO] [stdout]    --> src/shapes.rs:102:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | pub struct GenericShape {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `error` is never used
[INFO] [stdout]   --> src/ast.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Location {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |   pub fn error(&self, message: &str) -> SimpleError {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Import` is never constructed
[INFO] [stdout]   --> src/ast.rs:30:3
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub enum Expression {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 29 |   NoOp(Location),
[INFO] [stdout] 30 |   Import(Box<ImportEx>),
[INFO] [stdout]    |   ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `pretty` is never used
[INFO] [stdout]    --> src/ast.rs:122:10
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl Parameter {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 121 |
[INFO] [stdout] 122 |   pub fn pretty(&self) -> String {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wrap` is never used
[INFO] [stdout]    --> src/ast.rs:285:10
[INFO] [stdout]     |
[INFO] [stdout] 284 | impl ImportEx {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] 285 |   pub fn wrap(self) -> Expression {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/bytecode.rs:53:10
[INFO] [stdout]    |
[INFO] [stdout] 51 | impl BitPackage {
[INFO] [stdout]    | --------------- associated function in this implementation
[INFO] [stdout] 52 |
[INFO] [stdout] 53 |   pub fn new() -> BitPackage {
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]   --> src/bytecode.rs:79:10
[INFO] [stdout]    |
[INFO] [stdout] 65 | impl BitModule {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 79 |   pub fn lookup_shape(&self, id: ConstantId) -> Result<Shape, SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `result` is never used
[INFO] [stdout]    --> src/bytecode.rs:121:10
[INFO] [stdout]     |
[INFO] [stdout] 115 | impl FunctionRef {
[INFO] [stdout]     | ---------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |   pub fn result(&self) -> Shape {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup_shape` is never used
[INFO] [stdout]    --> src/compiler.rs:193:6
[INFO] [stdout]     |
[INFO] [stdout] 176 | impl ModuleContext {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 193 |   fn lookup_shape(&mut self, shape: &Shape) -> ConstantId {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `debug` is never used
[INFO] [stdout]   --> src/ir.rs:23:10
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl IrModule {
[INFO] [stdout]    | ------------- method in this implementation
[INFO] [stdout] 23 |   pub fn debug(&self) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `debug` and `pretty_print` are never used
[INFO] [stdout]   --> src/ir.rs:46:10
[INFO] [stdout]    |
[INFO] [stdout] 45 | impl IrFunction {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 46 |   pub fn debug(&self) {
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |   pub fn pretty_print<Writer: Write>(&self, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]    |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `pretty_print` is never used
[INFO] [stdout]    --> src/ir.rs:115:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | impl Ir {
[INFO] [stdout]     | ------- associated function in this implementation
[INFO] [stdout] 115 |   pub fn pretty_print<Writer: Write>(block: &Vec<Ir>, indent: &str, writer: &mut Writer) -> Result<(), SimpleError> {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `serialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:663:8
[INFO] [stdout]     |
[INFO] [stdout] 663 | pub fn serialize_ir_module<Writer: Write>(writer: &mut Writer, module: &IrModule) -> Result<(), SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `deserialize_ir_module` is never used
[INFO] [stdout]    --> src/ir.rs:668:8
[INFO] [stdout]     |
[INFO] [stdout] 668 | pub fn deserialize_ir_module<Reader: Read>(reader: &mut Reader) -> Result<IrModule, SimpleError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `register` is never used
[INFO] [stdout]   --> src/optimize/mod.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl Optimizer {
[INFO] [stdout]    | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 31 |   pub fn register(&mut self, func: Box<Fn(&mut IrFunction) -> ()>) {
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `check_kind` is never used
[INFO] [stdout]    --> src/parser.rs:511:6
[INFO] [stdout]     |
[INFO] [stdout] 47  | impl Parser {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 511 |   fn check_kind(&mut self, kind: TokenKind) -> bool {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `String` is never constructed
[INFO] [stdout]    --> src/parser.rs:620:3
[INFO] [stdout]     |
[INFO] [stdout] 616 | pub enum TokenKind {
[INFO] [stdout]     |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 620 |   String,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TokenKind` 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: constant `COMPARE_OPS` is never used
[INFO] [stdout]    --> src/typechecker.rs:133:7
[INFO] [stdout]     |
[INFO] [stdout] 133 | const COMPARE_OPS: &'static [&'static str] = &["==", "!=", "<", ">", "<=", ">="];
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `lookup` is never used
[INFO] [stdout]    --> src/typechecker.rs:444:6
[INFO] [stdout]     |
[INFO] [stdout] 428 | impl AppShapes {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 444 |   fn lookup(&self, package: &str, module: &str, name: &str) -> Option<Shape> {
[INFO] [stdout]     |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/shapes.rs:5:39
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |                                       ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Shape`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: requested on the command line with `-D non-local-definitions`
[INFO] [stdout]   = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]  --> src/shapes.rs:5:50
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]   |                                                  ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Shape`
[INFO] [stdout]   = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]   = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]   = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/shapes.rs:65:39
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                       ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_BaseShapeKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/shapes.rs:65:50
[INFO] [stdout]    |
[INFO] [stdout] 65 | #[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
[INFO] [stdout]    |                                                  ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_BaseShapeKind`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/ast.rs:114:24
[INFO] [stdout]     |
[INFO] [stdout] 114 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Parameter`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/ast.rs:114:35
[INFO] [stdout]     |
[INFO] [stdout] 114 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Parameter`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/bytecode.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                        ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_FunctionRef`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]    --> src/bytecode.rs:106:35
[INFO] [stdout]     |
[INFO] [stdout] 106 | #[derive(Debug, Clone, Serialize, Deserialize)]
[INFO] [stdout]     |                                   ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_FunctionRef`
[INFO] [stdout]     = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]     = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]     = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/compiler.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 44 |     bytecode.debug();
[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)]` on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 44 |     let _ = bytecode.debug();
[INFO] [stdout]    |     +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 14 previous errors; 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_IrModule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_IrModule`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_IrFunction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:37:21
[INFO] [stdout]    |
[INFO] [stdout] 37 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_IrFunction`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:66:10
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_SERIALIZE_FOR_Ir`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: non-local `impl` definition, they should be avoided as they go against expectation
[INFO] [stdout]   --> src/ir.rs:66:21
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[derive(Serialize, Deserialize)]
[INFO] [stdout]    |                     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: move this `impl` block outside the of the current constant `_IMPL_DESERIALIZE_FOR_Ir`
[INFO] [stdout]    = note: an `impl` definition is non-local if it is nested inside an item and neither the type nor the trait are at the same nesting level as the `impl` block
[INFO] [stdout]    = note: this lint may become deny-by-default in the edition 2024 and higher, see the tracking issue <https://github.com/rust-lang/rust/issues/120363>
[INFO] [stdout]    = note: this error originates in the derive macro `Deserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/typechecker.rs:24:7
[INFO] [stdout]    |
[INFO] [stdout] 24 |       scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[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] 24 |       let _ = scope.pre_fill_module_function( format!("{}.{}", module_name, func), shape, &imp.loc);
[INFO] [stdout]    |       +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_let_lang` (bin "rust_let_lang" test) due to 15 previous errors; 111 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 14 previous errors; 111 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_let_lang` (bin "rust_let_lang") due to 15 previous errors; 111 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "225546394c738ad56b9063db36865431ff49bc7a99c30ae2d2aae9974d989321", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "225546394c738ad56b9063db36865431ff49bc7a99c30ae2d2aae9974d989321", kill_on_drop: false }`
[INFO] [stdout] 225546394c738ad56b9063db36865431ff49bc7a99c30ae2d2aae9974d989321
