[INFO] cloning repository https://github.com/iho/phi [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iho/phi" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiho%2Fphi", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiho%2Fphi'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] defba557ad959a29ef57abc9058cba02552fa2c5 [INFO] testing iho/phi against 1.99.0-beta.1+cargoflags=--release for beta-release-1.99-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiho%2Fphi" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/iho/phi [INFO] finished tweaking git repo https://github.com/iho/phi [INFO] tweaked toml for git repo https://github.com/iho/phi written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/iho/phi on toolchain 1.99.0-beta.1 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/iho/phi 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" "+1.99.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03 [INFO] running `Command { std: "docker" "start" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Compiling find-msvc-tools v0.1.9 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling zerocopy v0.8.40 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling typenum v1.19.0 [INFO] [stderr] Compiling logos-codegen v0.15.1 [INFO] [stderr] Compiling cfg-if v1.0.4 [INFO] [stderr] Compiling libc v0.2.182 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling bitmaps v2.1.0 [INFO] [stderr] Compiling stacker v0.1.23 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling im v15.1.0 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling rand_xoshiro v0.6.0 [INFO] [stderr] Compiling sized-chunks v0.6.5 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling unicode-width v0.1.14 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling ariadne v0.4.1 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling ar_archive_writer v0.5.1 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling logos-derive v0.15.1 [INFO] [stderr] Compiling logos v0.15.1 [INFO] [stderr] Compiling psm v0.1.30 [INFO] [stderr] Compiling chumsky v0.9.3 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling phi v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ir::Instr::*` [INFO] [stdout] --> src/asm_writer.rs:1338:13 [INFO] [stdout] | [INFO] [stdout] 1338 | use ir::Instr::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:1596:9 [INFO] [stdout] | [INFO] [stdout] 1477 | ... ast::Expr::Number(_) | ast::Expr::Float(_) | ast::Expr::String(_) | ast::Expr::Char(_) | ast::Expr::Atom(_) | ast::Expr::Unit => {} [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 1596 | ... ast::Expr::Unit => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1702 | ast::Binder::Var(n) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1723 | ast::Binder::Wildcard => Ok(()), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 1724 | ast::Binder::Number(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1728 | ast::Binder::Atom(a) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2912:9 [INFO] [stdout] | [INFO] [stdout] 2692 | ast::Expr::Record(fields) => { [INFO] [stdout] | ------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2912 | ast::Expr::Record(_) => Err(BeamGenError::Internal("record_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2913:9 [INFO] [stdout] | [INFO] [stdout] 2739 | ast::Expr::RecordUpdate(base, updates) => { [INFO] [stdout] | -------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2913 | ast::Expr::RecordUpdate(_, _) => Err(BeamGenError::Internal("record_update_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2914:9 [INFO] [stdout] | [INFO] [stdout] 2722 | ast::Expr::FieldAccess(rec_expr, field) => { [INFO] [stdout] | --------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2914 | ast::Expr::FieldAccess(_, _) => Err(BeamGenError::Internal("field_access_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 1958 | ast::Expr::Number(n) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1963 | ast::Expr::Char(c) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1969 | ast::Expr::String(s) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2005 | ast::Expr::Float(f) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ ...and 22 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/asm_writer.rs:1236:69 [INFO] [stdout] | [INFO] [stdout] 1236 | ... Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1236 | Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); let _ = self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ir::Instr::*` [INFO] [stdout] --> src/asm_writer.rs:1338:13 [INFO] [stdout] | [INFO] [stdout] 1338 | use ir::Instr::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:1596:9 [INFO] [stdout] | [INFO] [stdout] 1477 | ... ast::Expr::Number(_) | ast::Expr::Float(_) | ast::Expr::String(_) | ast::Expr::Char(_) | ast::Expr::Atom(_) | ast::Expr::Unit => {} [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 1596 | ... ast::Expr::Unit => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1702 | ast::Binder::Var(n) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1723 | ast::Binder::Wildcard => Ok(()), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 1724 | ast::Binder::Number(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1728 | ast::Binder::Atom(a) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2912:9 [INFO] [stdout] | [INFO] [stdout] 2692 | ast::Expr::Record(fields) => { [INFO] [stdout] | ------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2912 | ast::Expr::Record(_) => Err(BeamGenError::Internal("record_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2913:9 [INFO] [stdout] | [INFO] [stdout] 2739 | ast::Expr::RecordUpdate(base, updates) => { [INFO] [stdout] | -------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2913 | ast::Expr::RecordUpdate(_, _) => Err(BeamGenError::Internal("record_update_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2914:9 [INFO] [stdout] | [INFO] [stdout] 2722 | ast::Expr::FieldAccess(rec_expr, field) => { [INFO] [stdout] | --------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2914 | ast::Expr::FieldAccess(_, _) => Err(BeamGenError::Internal("field_access_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 1958 | ast::Expr::Number(n) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1963 | ast::Expr::Char(c) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1969 | ast::Expr::String(s) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2005 | ast::Expr::Float(f) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ ...and 22 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regex_capture` is never used [INFO] [stdout] --> src/main.rs:789:4 [INFO] [stdout] | [INFO] [stdout] 789 | fn regex_capture(pattern: &[u8], content: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `args` and `members` are never read [INFO] [stdout] --> src/env.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ClassInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 10 | pub args: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub members: Vec, // TypeSignature decls [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassInfo` 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: fields `dict_name`, `members`, `constraints`, and `module` are never read [INFO] [stdout] --> src/env.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct InstanceInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 16 | pub types: Vec, [INFO] [stdout] 17 | pub dict_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub members: Vec, // Value decls [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | pub constraints: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 20 | pub module: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstanceInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `TOTAL` is never used [INFO] [stdout] --> src/ir.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 30 | impl PReg { [INFO] [stdout] | --------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub const TOTAL: u8 = 16; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `invert` is never used [INFO] [stdout] --> src/ir.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Cond { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn invert(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Load`, `BranchEq`, and `BranchTrue` are never constructed [INFO] [stdout] --> src/ir.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub enum Instr { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 121 | Load(VReg, VReg, i32), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | BranchEq(VReg, i64, Label), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | BranchTrue(VReg, Label), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instr` 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: fields `name` and `arity` are never read [INFO] [stdout] --> src/ir.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 153 | pub struct IrFun { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 154 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 155 | pub arity: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrFun` 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: struct `IrModule` is never constructed [INFO] [stdout] --> src/ir.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct IrModule { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_expired_before` and `starts_at_or_before` are never used [INFO] [stdout] --> src/ir.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl Interval { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 184 | pub fn is_expired_before(&self, pos: u32) -> bool { self.end <= pos } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 185 | pub fn starts_at_or_before(&self, pos: u32) -> bool { self.start <= pos } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_reg` and `reg` are never used [INFO] [stdout] --> src/regalloc.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Location { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 30 | pub fn is_reg(self) -> bool { matches!(self, Location::Reg(_)) } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 31 | pub fn reg(self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spill_offset` is never used [INFO] [stdout] --> src/regalloc.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn spill_offset(slot: u32, spill_base: u32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/asm_writer.rs:1236:69 [INFO] [stdout] | [INFO] [stdout] 1236 | ... Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1236 | Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); let _ = self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 3m 23s [INFO] running `Command { std: "docker" "inspect" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stdout] warning: unused import: `ir::Instr::*` [INFO] [stdout] --> src/asm_writer.rs:1338:13 [INFO] [stdout] | [INFO] [stdout] 1338 | use ir::Instr::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:1596:9 [INFO] [stdout] | [INFO] [stdout] 1477 | ... ast::Expr::Number(_) | ast::Expr::Float(_) | ast::Expr::String(_) | ast::Expr::Char(_) | ast::Expr::Atom(_) | ast::Expr::Unit => {} [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 1596 | ... ast::Expr::Unit => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1702 | ast::Binder::Var(n) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1723 | ast::Binder::Wildcard => Ok(()), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 1724 | ast::Binder::Number(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1728 | ast::Binder::Atom(a) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2912:9 [INFO] [stdout] | [INFO] [stdout] 2692 | ast::Expr::Record(fields) => { [INFO] [stdout] | ------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2912 | ast::Expr::Record(_) => Err(BeamGenError::Internal("record_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2913:9 [INFO] [stdout] | [INFO] [stdout] 2739 | ast::Expr::RecordUpdate(base, updates) => { [INFO] [stdout] | -------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2913 | ast::Expr::RecordUpdate(_, _) => Err(BeamGenError::Internal("record_update_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2914:9 [INFO] [stdout] | [INFO] [stdout] 2722 | ast::Expr::FieldAccess(rec_expr, field) => { [INFO] [stdout] | --------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2914 | ast::Expr::FieldAccess(_, _) => Err(BeamGenError::Internal("field_access_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 1958 | ast::Expr::Number(n) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1963 | ast::Expr::Char(c) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1969 | ast::Expr::String(s) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2005 | ast::Expr::Float(f) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ ...and 22 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/asm_writer.rs:1236:69 [INFO] [stdout] | [INFO] [stdout] 1236 | ... Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1236 | Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); let _ = self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ir::Instr::*` [INFO] [stdout] --> src/asm_writer.rs:1338:13 [INFO] [stdout] | [INFO] [stdout] 1338 | use ir::Instr::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling phi v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:1596:9 [INFO] [stdout] | [INFO] [stdout] 1477 | ... ast::Expr::Number(_) | ast::Expr::Float(_) | ast::Expr::String(_) | ast::Expr::Char(_) | ast::Expr::Atom(_) | ast::Expr::Unit => {} [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 1596 | ... ast::Expr::Unit => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1702 | ast::Binder::Var(n) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1723 | ast::Binder::Wildcard => Ok(()), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 1724 | ast::Binder::Number(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1728 | ast::Binder::Atom(a) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2912:9 [INFO] [stdout] | [INFO] [stdout] 2692 | ast::Expr::Record(fields) => { [INFO] [stdout] | ------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2912 | ast::Expr::Record(_) => Err(BeamGenError::Internal("record_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2913:9 [INFO] [stdout] | [INFO] [stdout] 2739 | ast::Expr::RecordUpdate(base, updates) => { [INFO] [stdout] | -------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2913 | ast::Expr::RecordUpdate(_, _) => Err(BeamGenError::Internal("record_update_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2914:9 [INFO] [stdout] | [INFO] [stdout] 2722 | ast::Expr::FieldAccess(rec_expr, field) => { [INFO] [stdout] | --------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2914 | ast::Expr::FieldAccess(_, _) => Err(BeamGenError::Internal("field_access_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 1958 | ast::Expr::Number(n) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1963 | ast::Expr::Char(c) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1969 | ast::Expr::String(s) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2005 | ast::Expr::Float(f) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ ...and 22 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regex_capture` is never used [INFO] [stdout] --> src/main.rs:789:4 [INFO] [stdout] | [INFO] [stdout] 789 | fn regex_capture(pattern: &[u8], content: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `args` and `members` are never read [INFO] [stdout] --> src/env.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ClassInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 10 | pub args: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub members: Vec, // TypeSignature decls [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassInfo` 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: fields `dict_name`, `members`, `constraints`, and `module` are never read [INFO] [stdout] --> src/env.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct InstanceInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 16 | pub types: Vec, [INFO] [stdout] 17 | pub dict_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub members: Vec, // Value decls [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | pub constraints: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 20 | pub module: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstanceInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `TOTAL` is never used [INFO] [stdout] --> src/ir.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 30 | impl PReg { [INFO] [stdout] | --------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub const TOTAL: u8 = 16; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `invert` is never used [INFO] [stdout] --> src/ir.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Cond { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn invert(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Load`, `BranchEq`, and `BranchTrue` are never constructed [INFO] [stdout] --> src/ir.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub enum Instr { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 121 | Load(VReg, VReg, i32), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | BranchEq(VReg, i64, Label), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | BranchTrue(VReg, Label), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instr` 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: fields `name` and `arity` are never read [INFO] [stdout] --> src/ir.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 153 | pub struct IrFun { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 154 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 155 | pub arity: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrFun` 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: struct `IrModule` is never constructed [INFO] [stdout] --> src/ir.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct IrModule { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_expired_before` and `starts_at_or_before` are never used [INFO] [stdout] --> src/ir.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl Interval { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 184 | pub fn is_expired_before(&self, pos: u32) -> bool { self.end <= pos } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 185 | pub fn starts_at_or_before(&self, pos: u32) -> bool { self.start <= pos } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_reg` and `reg` are never used [INFO] [stdout] --> src/regalloc.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Location { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 30 | pub fn is_reg(self) -> bool { matches!(self, Location::Reg(_)) } [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 31 | pub fn reg(self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spill_offset` is never used [INFO] [stdout] --> src/regalloc.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn spill_offset(slot: u32, spill_base: u32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/asm_writer.rs:1236:69 [INFO] [stdout] | [INFO] [stdout] 1236 | ... Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1236 | Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); let _ = self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> tests/beam_tests.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TAG_U` is never used [INFO] [stdout] --> tests/beam_tests.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const TAG_U: u8 = 0; [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ir::Instr::*` [INFO] [stdout] --> src/asm_writer.rs:1338:13 [INFO] [stdout] | [INFO] [stdout] 1338 | use ir::Instr::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ir::Instr::*` [INFO] [stdout] --> src/asm_writer.rs:1338:13 [INFO] [stdout] | [INFO] [stdout] 1338 | use ir::Instr::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:1596:9 [INFO] [stdout] | [INFO] [stdout] 1477 | ... ast::Expr::Number(_) | ast::Expr::Float(_) | ast::Expr::String(_) | ast::Expr::Char(_) | ast::Expr::Atom(_) | ast::Expr::Unit => {} [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 1596 | ... ast::Expr::Unit => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1702 | ast::Binder::Var(n) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1723 | ast::Binder::Wildcard => Ok(()), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 1724 | ast::Binder::Number(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1728 | ast::Binder::Atom(a) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2912:9 [INFO] [stdout] | [INFO] [stdout] 2692 | ast::Expr::Record(fields) => { [INFO] [stdout] | ------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2912 | ast::Expr::Record(_) => Err(BeamGenError::Internal("record_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2913:9 [INFO] [stdout] | [INFO] [stdout] 2739 | ast::Expr::RecordUpdate(base, updates) => { [INFO] [stdout] | -------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2913 | ast::Expr::RecordUpdate(_, _) => Err(BeamGenError::Internal("record_update_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2914:9 [INFO] [stdout] | [INFO] [stdout] 2722 | ast::Expr::FieldAccess(rec_expr, field) => { [INFO] [stdout] | --------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2914 | ast::Expr::FieldAccess(_, _) => Err(BeamGenError::Internal("field_access_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 1958 | ast::Expr::Number(n) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1963 | ast::Expr::Char(c) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1969 | ast::Expr::String(s) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2005 | ast::Expr::Float(f) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ ...and 22 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/asm_writer.rs:1236:69 [INFO] [stdout] | [INFO] [stdout] 1236 | ... Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1236 | Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); let _ = self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:1596:9 [INFO] [stdout] | [INFO] [stdout] 1477 | ... ast::Expr::Number(_) | ast::Expr::Float(_) | ast::Expr::String(_) | ast::Expr::Char(_) | ast::Expr::Atom(_) | ast::Expr::Unit => {} [INFO] [stdout] | ----------------------------------------------------------------------------------------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 1596 | ... ast::Expr::Unit => {} [INFO] [stdout] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [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/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:1882:9 [INFO] [stdout] | [INFO] [stdout] 1702 | ast::Binder::Var(n) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1723 | ast::Binder::Wildcard => Ok(()), [INFO] [stdout] | --------------------- matches some of the same values [INFO] [stdout] 1724 | ast::Binder::Number(n) => { [INFO] [stdout] | ---------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1728 | ast::Binder::Atom(a) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stdout] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2912:9 [INFO] [stdout] | [INFO] [stdout] 2692 | ast::Expr::Record(fields) => { [INFO] [stdout] | ------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2912 | ast::Expr::Record(_) => Err(BeamGenError::Internal("record_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2913:9 [INFO] [stdout] | [INFO] [stdout] 2739 | ast::Expr::RecordUpdate(base, updates) => { [INFO] [stdout] | -------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2913 | ast::Expr::RecordUpdate(_, _) => Err(BeamGenError::Internal("record_update_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2914:9 [INFO] [stdout] | [INFO] [stdout] 2722 | ast::Expr::FieldAccess(rec_expr, field) => { [INFO] [stdout] | --------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 2914 | ast::Expr::FieldAccess(_, _) => Err(BeamGenError::Internal("field_access_unreachable")), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/beam_writer.rs:2916:9 [INFO] [stdout] | [INFO] [stdout] 1958 | ast::Expr::Number(n) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1963 | ast::Expr::Char(c) => { [INFO] [stdout] | ------------------ matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1969 | ast::Expr::String(s) => { [INFO] [stdout] | -------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2005 | ast::Expr::Float(f) => { [INFO] [stdout] | ------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 2916 | _ => { [INFO] [stdout] | ^ ...and 22 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `regex_capture` is never used [INFO] [stdout] --> src/main.rs:789:4 [INFO] [stdout] | [INFO] [stdout] 789 | fn regex_capture(pattern: &[u8], content: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `args` and `members` are never read [INFO] [stdout] --> src/env.rs:10:9 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ClassInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 10 | pub args: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | pub members: Vec, // TypeSignature decls [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ClassInfo` 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: fields `dict_name`, `members`, `constraints`, and `module` are never read [INFO] [stdout] --> src/env.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub struct InstanceInfo { [INFO] [stdout] | ------------ fields in this struct [INFO] [stdout] 16 | pub types: Vec, [INFO] [stdout] 17 | pub dict_name: String, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 18 | pub members: Vec, // Value decls [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 19 | pub constraints: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 20 | pub module: String, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstanceInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated constant `TOTAL` is never used [INFO] [stdout] --> src/ir.rs:45:15 [INFO] [stdout] | [INFO] [stdout] 30 | impl PReg { [INFO] [stdout] | --------- associated constant in this implementation [INFO] [stdout] ... [INFO] [stdout] 45 | pub const TOTAL: u8 = 16; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `invert` is never used [INFO] [stdout] --> src/ir.rs:76:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl Cond { [INFO] [stdout] | --------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 76 | pub fn invert(self) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Load`, `BranchEq`, and `BranchTrue` are never constructed [INFO] [stdout] --> src/ir.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub enum Instr { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 121 | Load(VReg, VReg, i32), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | BranchEq(VReg, i64, Label), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 141 | BranchTrue(VReg, Label), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instr` 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: fields `name` and `arity` are never read [INFO] [stdout] --> src/ir.rs:154:9 [INFO] [stdout] | [INFO] [stdout] 153 | pub struct IrFun { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 154 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 155 | pub arity: u32, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrFun` 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: struct `IrModule` is never constructed [INFO] [stdout] --> src/ir.rs:164:12 [INFO] [stdout] | [INFO] [stdout] 164 | pub struct IrModule { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_expired_before` and `starts_at_or_before` are never used [INFO] [stdout] --> src/ir.rs:184:12 [INFO] [stdout] | [INFO] [stdout] 183 | impl Interval { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 184 | pub fn is_expired_before(&self, pos: u32) -> bool { self.end <= pos } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 185 | pub fn starts_at_or_before(&self, pos: u32) -> bool { self.start <= pos } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `reg` is never used [INFO] [stdout] --> src/regalloc.rs:31:12 [INFO] [stdout] | [INFO] [stdout] 29 | impl Location { [INFO] [stdout] | ------------- method in this implementation [INFO] [stdout] 30 | pub fn is_reg(self) -> bool { matches!(self, Location::Reg(_)) } [INFO] [stdout] 31 | pub fn reg(self) -> Option { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spill_offset` is never used [INFO] [stdout] --> src/regalloc.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn spill_offset(slot: u32, spill_base: u32) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused return value of `Option::::is_none` that must be used [INFO] [stdout] --> src/asm_writer.rs:1236:69 [INFO] [stdout] | [INFO] [stdout] 1236 | ... Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stdout] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 1236 | Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); let _ = self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `release` profile [optimized] target(s) in 12.11s [INFO] running `Command { std: "docker" "inspect" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `ir::Instr::*` [INFO] [stderr] --> src/asm_writer.rs:1338:13 [INFO] [stderr] | [INFO] [stderr] 1338 | use ir::Instr::*; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/beam_writer.rs:1596:9 [INFO] [stderr] | [INFO] [stderr] 1477 | ... ast::Expr::Number(_) | ast::Expr::Float(_) | ast::Expr::String(_) | ast::Expr::Char(_) | ast::Expr::Atom(_) | ast::Expr::Unit => {} [INFO] [stderr] | ----------------------------------------------------------------------------------------------------------------------------- matches all the relevant values [INFO] [stderr] ... [INFO] [stderr] 1596 | ... ast::Expr::Unit => {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ no value can reach this [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/beam_writer.rs:1882:9 [INFO] [stderr] | [INFO] [stderr] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/beam_writer.rs:1882:9 [INFO] [stderr] | [INFO] [stderr] 1702 | ast::Binder::Var(n) => { [INFO] [stderr] | ------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1723 | ast::Binder::Wildcard => Ok(()), [INFO] [stderr] | --------------------- matches some of the same values [INFO] [stderr] 1724 | ast::Binder::Number(n) => { [INFO] [stderr] | ---------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1728 | ast::Binder::Atom(a) => { [INFO] [stderr] | -------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1882 | _ => Err(BeamGenError::Unsupported("binder")), [INFO] [stderr] | ^ ...and 8 other patterns collectively make this unreachable [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/beam_writer.rs:2912:9 [INFO] [stderr] | [INFO] [stderr] 2692 | ast::Expr::Record(fields) => { [INFO] [stderr] | ------------------------- matches all the relevant values [INFO] [stderr] ... [INFO] [stderr] 2912 | ast::Expr::Record(_) => Err(BeamGenError::Internal("record_unreachable")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/beam_writer.rs:2913:9 [INFO] [stderr] | [INFO] [stderr] 2739 | ast::Expr::RecordUpdate(base, updates) => { [INFO] [stderr] | -------------------------------------- matches all the relevant values [INFO] [stderr] ... [INFO] [stderr] 2913 | ast::Expr::RecordUpdate(_, _) => Err(BeamGenError::Internal("record_update_unreachable")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/beam_writer.rs:2914:9 [INFO] [stderr] | [INFO] [stderr] 2722 | ast::Expr::FieldAccess(rec_expr, field) => { [INFO] [stderr] | --------------------------------------- matches all the relevant values [INFO] [stderr] ... [INFO] [stderr] 2914 | ast::Expr::FieldAccess(_, _) => Err(BeamGenError::Internal("field_access_unreachable")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/beam_writer.rs:2916:9 [INFO] [stderr] | [INFO] [stderr] 2916 | _ => { [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/beam_writer.rs:2916:9 [INFO] [stderr] | [INFO] [stderr] 1958 | ast::Expr::Number(n) => { [INFO] [stderr] | -------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1963 | ast::Expr::Char(c) => { [INFO] [stderr] | ------------------ matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1969 | ast::Expr::String(s) => { [INFO] [stderr] | -------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 2005 | ast::Expr::Float(f) => { [INFO] [stderr] | ------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 2916 | _ => { [INFO] [stderr] | ^ ...and 22 other patterns collectively make this unreachable [INFO] [stderr] [INFO] [stderr] warning: unused return value of `Option::::is_none` that must be used [INFO] [stderr] --> src/asm_writer.rs:1236:69 [INFO] [stderr] | [INFO] [stderr] 1236 | ... Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: if you intended to assert that this doesn't have a value, consider wrapping this in an `assert!()` instead [INFO] [stderr] = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] help: use `let _ = ...` to ignore the resulting value [INFO] [stderr] | [INFO] [stderr] 1236 | Some(ir::Instr::Ret(_)) => { let _ = self.instrs.pop(); let _ = self.instrs.pop().map(|_| ()).is_none(); self.instrs.last().cloned() } [INFO] [stderr] | +++++++ [INFO] [stderr] [INFO] [stderr] warning: `phi` (lib) generated 8 warnings (run `cargo fix --lib -p phi` to apply 1 suggestion) [INFO] [stderr] warning: `phi` (lib test) generated 8 warnings (8 duplicates) [INFO] [stderr] warning: function `regex_capture` is never used [INFO] [stderr] --> src/main.rs:789:4 [INFO] [stderr] | [INFO] [stderr] 789 | fn regex_capture(pattern: &[u8], content: &str) -> Option { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: fields `args` and `members` are never read [INFO] [stderr] --> src/env.rs:10:9 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct ClassInfo { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 10 | pub args: Vec, [INFO] [stderr] | ^^^^ [INFO] [stderr] 11 | pub members: Vec, // TypeSignature decls [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `ClassInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `dict_name`, `members`, `constraints`, and `module` are never read [INFO] [stderr] --> src/env.rs:17:9 [INFO] [stderr] | [INFO] [stderr] 15 | pub struct InstanceInfo { [INFO] [stderr] | ------------ fields in this struct [INFO] [stderr] 16 | pub types: Vec, [INFO] [stderr] 17 | pub dict_name: String, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] 18 | pub members: Vec, // Value decls [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] 19 | pub constraints: Vec, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 20 | pub module: String, [INFO] [stderr] | ^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InstanceInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: associated constant `TOTAL` is never used [INFO] [stderr] --> src/ir.rs:45:15 [INFO] [stderr] | [INFO] [stderr] 30 | impl PReg { [INFO] [stderr] | --------- associated constant in this implementation [INFO] [stderr] ... [INFO] [stderr] 45 | pub const TOTAL: u8 = 16; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `invert` is never used [INFO] [stderr] --> src/ir.rs:76:12 [INFO] [stderr] | [INFO] [stderr] 68 | impl Cond { [INFO] [stderr] | --------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 76 | pub fn invert(self) -> Self { [INFO] [stderr] | ^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variants `Load`, `BranchEq`, and `BranchTrue` are never constructed [INFO] [stderr] --> src/ir.rs:121:5 [INFO] [stderr] | [INFO] [stderr] 92 | pub enum Instr { [INFO] [stderr] | ----- variants in this enum [INFO] [stderr] ... [INFO] [stderr] 121 | Load(VReg, VReg, i32), [INFO] [stderr] | ^^^^ [INFO] [stderr] ... [INFO] [stderr] 137 | BranchEq(VReg, i64, Label), [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] ... [INFO] [stderr] 141 | BranchTrue(VReg, Label), [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `Instr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: fields `name` and `arity` are never read [INFO] [stderr] --> src/ir.rs:154:9 [INFO] [stderr] | [INFO] [stderr] 153 | pub struct IrFun { [INFO] [stderr] | ----- fields in this struct [INFO] [stderr] 154 | pub name: String, [INFO] [stderr] | ^^^^ [INFO] [stderr] 155 | pub arity: u32, [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `IrFun` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: struct `IrModule` is never constructed [INFO] [stderr] --> src/ir.rs:164:12 [INFO] [stderr] | [INFO] [stderr] 164 | pub struct IrModule { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: methods `is_expired_before` and `starts_at_or_before` are never used [INFO] [stderr] --> src/ir.rs:184:12 [INFO] [stderr] | [INFO] [stderr] 183 | impl Interval { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] 184 | pub fn is_expired_before(&self, pos: u32) -> bool { self.end <= pos } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] 185 | pub fn starts_at_or_before(&self, pos: u32) -> bool { self.start <= pos } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: method `reg` is never used [INFO] [stderr] --> src/regalloc.rs:31:12 [INFO] [stderr] | [INFO] [stderr] 29 | impl Location { [INFO] [stderr] | ------------- method in this implementation [INFO] [stderr] 30 | pub fn is_reg(self) -> bool { matches!(self, Location::Reg(_)) } [INFO] [stderr] 31 | pub fn reg(self) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: function `spill_offset` is never used [INFO] [stderr] --> src/regalloc.rs:171:8 [INFO] [stderr] | [INFO] [stderr] 171 | pub fn spill_offset(slot: u32, spill_base: u32) -> i32 { [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> tests/beam_tests.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: constant `TAG_U` is never used [INFO] [stderr] --> tests/beam_tests.rs:7:7 [INFO] [stderr] | [INFO] [stderr] 7 | const TAG_U: u8 = 0; [INFO] [stderr] | ^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: methods `is_reg` and `reg` are never used [INFO] [stderr] --> src/regalloc.rs:30:12 [INFO] [stderr] | [INFO] [stderr] 29 | impl Location { [INFO] [stderr] | ------------- methods in this implementation [INFO] [stderr] 30 | pub fn is_reg(self) -> bool { matches!(self, Location::Reg(_)) } [INFO] [stderr] | ^^^^^^ [INFO] [stderr] 31 | pub fn reg(self) -> Option { [INFO] [stderr] | ^^^ [INFO] [stderr] [INFO] [stderr] warning: `phi` (bin "phi" test) generated 19 warnings (8 duplicates) [INFO] [stderr] warning: `phi` (test "beam_tests") generated 2 warnings (run `cargo fix --test "beam_tests" -p phi` to apply 1 suggestion) [INFO] [stderr] warning: `phi` (bin "phi") generated 19 warnings (18 duplicates) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 0.10s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/phi-51fac9a8ae0f11a6) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test regalloc::tests::test_no_spill_within_capacity ... ok [INFO] [stdout] test regalloc::tests::test_expire_frees_registers ... ok [INFO] [stdout] test regalloc::tests::test_all_unique_physical_regs_when_no_spill ... ok [INFO] [stdout] test regalloc::tests::test_reserved_params_not_reallocated ... ok [INFO] [stdout] test regalloc::tests::test_spill_latest_end_heuristic ... ok [INFO] [stdout] test regalloc::tests::test_spill_when_pressure_exceeds_regs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/release/deps/phi-336c0c728e1ca74c) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stderr] Running tests/asm_tests.rs (/opt/rustwide/target/release/deps/asm_tests-be3f248fb968f4f0) [INFO] [stdout] test regalloc::tests::test_all_unique_physical_regs_when_no_spill ... ok [INFO] [stdout] test regalloc::tests::test_no_spill_within_capacity ... ok [INFO] [stdout] test regalloc::tests::test_expire_frees_registers ... ok [INFO] [stdout] test regalloc::tests::test_reserved_params_not_reallocated ... ok [INFO] [stdout] test regalloc::tests::test_spill_latest_end_heuristic ... ok [INFO] [stdout] test regalloc::tests::test_spill_when_pressure_exceeds_regs ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test test_integer_constant_tagged ... ok [INFO] [stdout] test test_empty_list ... ok [INFO] [stdout] test test_frame_size_consistent ... ok [INFO] [stdout] test test_cons_list ... ok [INFO] [stdout] test test_comparison_op ... ok [INFO] [stdout] test test_if_then_else ... ok [INFO] [stdout] test test_add_two_args ... ok [INFO] [stdout] test test_let_binding ... ok [INFO] [stdout] test test_empty_module_emits_text_section ... ok [INFO] [stdout] test test_runtime_assembles ... ok [INFO] [stdout] test test_single_arg_function ... ok [INFO] [stdout] test test_string_literal ... ok [INFO] [stdout] test test_zero_arg_function_structure ... ok [INFO] [stdout] test test_tuple_allocation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/beam_tests.rs (/opt/rustwide/target/release/deps/beam_tests-59e3ef02207b423d) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test test_atom_interning ... ok [INFO] [stdout] test test_funt_chunk_generation ... ok [INFO] [stdout] test test_heap_before_put_tuple2 ... ok [INFO] [stdout] test test_heap_before_put_list ... ok [INFO] [stdout] test test_make_fun3_emission ... ok [INFO] [stdout] test test_nil_encoding_is_move_tag_a_zero ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests phi [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03", kill_on_drop: false }` [INFO] [stdout] 1bfe2d67802aa68e8b01efaeec62be4edccb3912465189c9ec86263508eaea03