[INFO] fetching crate mini-c-parser 0.12.2...
[INFO] checking mini-c-parser-0.12.2 against master#61cc47e367d7be91e13bcd01e4e96e0e233d4f6d for pr-133502-20
[INFO] extracting crate mini-c-parser 0.12.2 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate mini-c-parser 0.12.2
[INFO] finished tweaking crates.io crate mini-c-parser 0.12.2
[INFO] tweaked toml for crates.io crate mini-c-parser 0.12.2 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate mini-c-parser 0.12.2 on toolchain 61cc47e367d7be91e13bcd01e4e96e0e233d4f6d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate mini-c-parser 0.12.2 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" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rusty_parser v1.1.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 55df74f186f5ca5df7f8ab6bc229f8e2528c3c5643efa92d73e900bc2afb36f1
[INFO] running `Command { std: "docker" "start" "-a" "55df74f186f5ca5df7f8ab6bc229f8e2528c3c5643efa92d73e900bc2afb36f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "55df74f186f5ca5df7f8ab6bc229f8e2528c3c5643efa92d73e900bc2afb36f1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "55df74f186f5ca5df7f8ab6bc229f8e2528c3c5643efa92d73e900bc2afb36f1", kill_on_drop: false }`
[INFO] [stdout] 55df74f186f5ca5df7f8ab6bc229f8e2528c3c5643efa92d73e900bc2afb36f1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+61cc47e367d7be91e13bcd01e4e96e0e233d4f6d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3efd8757774bb1577b4c1bd0e60827f8a6808e732a080726bc203b3eaf41bf7
[INFO] running `Command { std: "docker" "start" "-a" "b3efd8757774bb1577b4c1bd0e60827f8a6808e732a080726bc203b3eaf41bf7", kill_on_drop: false }`
[INFO] [stderr]     Checking rusty_parser v1.1.0
[INFO] [stderr]     Checking mini-c-parser v0.12.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 VariableData::UInt8(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 224 |                 VariableData::UInt16(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 225 |                 VariableData::UInt32(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 226 |                 VariableData::UInt64(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 233 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 VariableData::UInt8(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 237 |                 VariableData::UInt16(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 238 |                 VariableData::UInt32(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 239 |                 VariableData::UInt64(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 246 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:364:17
[INFO] [stdout]     |
[INFO] [stdout] 364 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:364:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 VariableData::UInt8(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 355 |                 VariableData::UInt16(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 356 |                 VariableData::UInt32(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 357 |                 VariableData::UInt64(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 364 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 VariableData::UInt8(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 368 |                 VariableData::UInt16(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 369 |                 VariableData::UInt32(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 370 |                 VariableData::UInt64(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 377 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:493:17
[INFO] [stdout]     |
[INFO] [stdout] 493 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:493:17
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 VariableData::UInt8(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 484 |                 VariableData::UInt16(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 485 |                 VariableData::UInt32(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 486 |                 VariableData::UInt64(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 493 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:506:17
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:506:17
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 VariableData::UInt8(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 497 |                 VariableData::UInt16(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 498 |                 VariableData::UInt32(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 499 |                 VariableData::UInt64(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 506 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 VariableData::UInt8(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 613 |                 VariableData::UInt16(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 614 |                 VariableData::UInt32(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 615 |                 VariableData::UInt64(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 622 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:635:17
[INFO] [stdout]     |
[INFO] [stdout] 635 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:635:17
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 VariableData::UInt8(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 626 |                 VariableData::UInt16(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 627 |                 VariableData::UInt32(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 628 |                 VariableData::UInt64(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 635 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/virtualmachine/instruction/unary.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             _ => panic!("Invalid type for negate"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/virtualmachine/instruction/unary.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             VariableData::UInt8(value) => VariableData::Int8(-(*value as i8)),
[INFO] [stdout]    |             -------------------------- matches some of the same values
[INFO] [stdout] 34 |             VariableData::UInt16(value) => VariableData::Int16(-(*value as i16)),
[INFO] [stdout]    |             --------------------------- matches some of the same values
[INFO] [stdout] 35 |             VariableData::UInt32(value) => VariableData::Int32(-(*value as i32)),
[INFO] [stdout]    |             --------------------------- matches some of the same values
[INFO] [stdout] 36 |             VariableData::UInt64(value) => VariableData::Int64(-(*value as i64)),
[INFO] [stdout]    |             --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 43 |             _ => panic!("Invalid type for negate"),
[INFO] [stdout]    |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/variable.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |             _ => None,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/variable.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout]  26 |             VariableData::UInt8(lu8) => match typeinfo {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  40 |             VariableData::UInt16(lu16) => match typeinfo {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  54 |             VariableData::UInt32(lu32) => match typeinfo {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  68 |             VariableData::UInt64(lu64) => match typeinfo {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 164 |             _ => None,
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/variable.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             _ => panic!("VariableData::to_f64: {:?}", self),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/variable.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |             VariableData::Int8(i) => *i as f64,
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 232 |             VariableData::Int16(i) => *i as f64,
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 233 |             VariableData::Int32(i) => *i as f64,
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 234 |             VariableData::Int64(i) => *i as f64,
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 241 |             _ => panic!("VariableData::to_f64: {:?}", self),
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_any` is never used
[INFO] [stdout]   --> src/ast/statement.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait Statement: core::fmt::Debug + Any {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] 17 |     fn emit(&self, instructions: &mut InstructionGenerator);
[INFO] [stdout] 18 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NullStatement` is never constructed
[INFO] [stdout]   --> src/ast/statement.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct NullStatement;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ConstantUnsignedLong` is never constructed
[INFO] [stdout]  --> src/token/token.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9 |     ConstantUnsignedLong(u64),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` 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: field `label` is never read
[INFO] [stdout]   --> src/virtualmachine/instruction/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DefineLabel {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 18 |     pub label: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefineLabel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const RAX: usize = 0; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RBX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const RBX: usize = 1; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RCX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const RCX: usize = 2; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const RDX: usize = 3; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_i64`, `from_u64`, and `from_f64` are never used
[INFO] [stdout]    --> src/virtualmachine/variable.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl VariableData {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn from_i64(i: i64, typeinfo: &TypeInfo) -> VariableData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn from_u64(i: u64, typeinfo: &TypeInfo) -> VariableData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn from_f64(f: f64, typeinfo: &TypeInfo) -> VariableData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 233 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:233:17
[INFO] [stdout]     |
[INFO] [stdout] 223 |                 VariableData::UInt8(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 224 |                 VariableData::UInt16(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 225 |                 VariableData::UInt32(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 226 |                 VariableData::UInt64(rhs) => *lhs += rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 233 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout]     = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 246 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:246:17
[INFO] [stdout]     |
[INFO] [stdout] 236 |                 VariableData::UInt8(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 237 |                 VariableData::UInt16(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 238 |                 VariableData::UInt32(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 239 |                 VariableData::UInt64(rhs) => *lhs += rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 246 |                 _ => panic!("Invalid type for add assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:364:17
[INFO] [stdout]     |
[INFO] [stdout] 364 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:364:17
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 VariableData::UInt8(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 355 |                 VariableData::UInt16(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 356 |                 VariableData::UInt32(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 357 |                 VariableData::UInt64(rhs) => *lhs -= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 364 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 377 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:377:17
[INFO] [stdout]     |
[INFO] [stdout] 367 |                 VariableData::UInt8(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 368 |                 VariableData::UInt16(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 369 |                 VariableData::UInt32(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 370 |                 VariableData::UInt64(rhs) => *lhs -= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 377 |                 _ => panic!("Invalid type for sub assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:493:17
[INFO] [stdout]     |
[INFO] [stdout] 493 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:493:17
[INFO] [stdout]     |
[INFO] [stdout] 483 |                 VariableData::UInt8(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 484 |                 VariableData::UInt16(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 485 |                 VariableData::UInt32(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 486 |                 VariableData::UInt64(rhs) => *lhs *= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 493 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:506:17
[INFO] [stdout]     |
[INFO] [stdout] 506 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:506:17
[INFO] [stdout]     |
[INFO] [stdout] 496 |                 VariableData::UInt8(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 497 |                 VariableData::UInt16(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 498 |                 VariableData::UInt32(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 499 |                 VariableData::UInt64(rhs) => *lhs *= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 506 |                 _ => panic!("Invalid type for mul assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 622 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:622:17
[INFO] [stdout]     |
[INFO] [stdout] 612 |                 VariableData::UInt8(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 613 |                 VariableData::UInt16(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 614 |                 VariableData::UInt32(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 615 |                 VariableData::UInt64(rhs) => *lhs /= rhs as f32,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 622 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:635:17
[INFO] [stdout]     |
[INFO] [stdout] 635 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/instruction/binary.rs:635:17
[INFO] [stdout]     |
[INFO] [stdout] 625 |                 VariableData::UInt8(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------ matches some of the same values
[INFO] [stdout] 626 |                 VariableData::UInt16(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 627 |                 VariableData::UInt32(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] 628 |                 VariableData::UInt64(rhs) => *lhs /= rhs as f64,
[INFO] [stdout]     |                 ------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 635 |                 _ => panic!("Invalid type for div assign"),
[INFO] [stdout]     |                 ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/virtualmachine/instruction/unary.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 43 |             _ => panic!("Invalid type for negate"),
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/virtualmachine/instruction/unary.rs:43:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             VariableData::UInt8(value) => VariableData::Int8(-(*value as i8)),
[INFO] [stdout]    |             -------------------------- matches some of the same values
[INFO] [stdout] 34 |             VariableData::UInt16(value) => VariableData::Int16(-(*value as i16)),
[INFO] [stdout]    |             --------------------------- matches some of the same values
[INFO] [stdout] 35 |             VariableData::UInt32(value) => VariableData::Int32(-(*value as i32)),
[INFO] [stdout]    |             --------------------------- matches some of the same values
[INFO] [stdout] 36 |             VariableData::UInt64(value) => VariableData::Int64(-(*value as i64)),
[INFO] [stdout]    |             --------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 43 |             _ => panic!("Invalid type for negate"),
[INFO] [stdout]    |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/variable.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout] 164 |             _ => None,
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/variable.rs:164:13
[INFO] [stdout]     |
[INFO] [stdout]  26 |             VariableData::UInt8(lu8) => match typeinfo {
[INFO] [stdout]     |             ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  40 |             VariableData::UInt16(lu16) => match typeinfo {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  54 |             VariableData::UInt32(lu32) => match typeinfo {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout]  68 |             VariableData::UInt64(lu64) => match typeinfo {
[INFO] [stdout]     |             -------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 164 |             _ => None,
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/virtualmachine/variable.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 241 |             _ => panic!("VariableData::to_f64: {:?}", self),
[INFO] [stdout]     |             ^ no value can reach this
[INFO] [stdout]     |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]    --> src/virtualmachine/variable.rs:241:13
[INFO] [stdout]     |
[INFO] [stdout] 231 |             VariableData::Int8(i) => *i as f64,
[INFO] [stdout]     |             --------------------- matches some of the same values
[INFO] [stdout] 232 |             VariableData::Int16(i) => *i as f64,
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 233 |             VariableData::Int32(i) => *i as f64,
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] 234 |             VariableData::Int64(i) => *i as f64,
[INFO] [stdout]     |             ---------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 241 |             _ => panic!("VariableData::to_f64: {:?}", self),
[INFO] [stdout]     |             ^ ...and 6 other patterns collectively make this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_any` is never used
[INFO] [stdout]   --> src/ast/statement.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait Statement: core::fmt::Debug + Any {
[INFO] [stdout]    |           --------- method in this trait
[INFO] [stdout] 17 |     fn emit(&self, instructions: &mut InstructionGenerator);
[INFO] [stdout] 18 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NullStatement` is never constructed
[INFO] [stdout]   --> src/ast/statement.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct NullStatement;
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `ConstantUnsignedLong` is never constructed
[INFO] [stdout]  --> src/token/token.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum Token {
[INFO] [stdout]   |          ----- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 9 |     ConstantUnsignedLong(u64),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `Token` 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: field `label` is never read
[INFO] [stdout]   --> src/virtualmachine/instruction/mod.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct DefineLabel {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 18 |     pub label: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DefineLabel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RAX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:28:11
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub const RAX: usize = 0; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RBX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:29:11
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub const RBX: usize = 1; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RCX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:30:11
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub const RCX: usize = 2; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `RDX` is never used
[INFO] [stdout]   --> src/virtualmachine/program.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub const RDX: usize = 3; // index of register for use as rax
[INFO] [stdout]    |           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `from_i64`, `from_u64`, and `from_f64` are never used
[INFO] [stdout]    --> src/virtualmachine/variable.rs:168:12
[INFO] [stdout]     |
[INFO] [stdout]  23 | impl VariableData {
[INFO] [stdout]     | ----------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 168 |     pub fn from_i64(i: i64, typeinfo: &TypeInfo) -> VariableData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub fn from_u64(i: u64, typeinfo: &TypeInfo) -> VariableData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn from_f64(f: f64, typeinfo: &TypeInfo) -> VariableData {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.60s
[INFO] running `Command { std: "docker" "inspect" "b3efd8757774bb1577b4c1bd0e60827f8a6808e732a080726bc203b3eaf41bf7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3efd8757774bb1577b4c1bd0e60827f8a6808e732a080726bc203b3eaf41bf7", kill_on_drop: false }`
[INFO] [stdout] b3efd8757774bb1577b4c1bd0e60827f8a6808e732a080726bc203b3eaf41bf7
