[INFO] fetching crate luadec 0.2.0... [INFO] testing luadec-0.2.0 against try#8de4c7234dd9b97c9d76b58671343fdbbc9a433e+target=x86_64-unknown-linux-musl for musl_upgrade_1_2_5_with_libc_patch_0 [INFO] extracting crate luadec 0.2.0 into /workspace/builds/worker-5-tc1/source [INFO] started tweaking crates.io crate luadec 0.2.0 [INFO] finished tweaking crates.io crate luadec 0.2.0 [INFO] tweaked toml for crates.io crate luadec 0.2.0 written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate luadec 0.2.0 on toolchain 8de4c7234dd9b97c9d76b58671343fdbbc9a433e [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate luadec 0.2.0 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" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded obstack v0.1.4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 9f7f993b9fe18dbb346475dbdc75c3485d0c7814d2a003eab84bd653a6884e69 [INFO] running `Command { std: "docker" "start" "-a" "9f7f993b9fe18dbb346475dbdc75c3485d0c7814d2a003eab84bd653a6884e69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "9f7f993b9fe18dbb346475dbdc75c3485d0c7814d2a003eab84bd653a6884e69", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "9f7f993b9fe18dbb346475dbdc75c3485d0c7814d2a003eab84bd653a6884e69", kill_on_drop: false }` [INFO] [stdout] 9f7f993b9fe18dbb346475dbdc75c3485d0c7814d2a003eab84bd653a6884e69 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "build" "--frozen" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] a8a700e8e9f4d2048f360494851abc43ac8851780909b907808cbe1ecfab3eaa [INFO] running `Command { std: "docker" "start" "-a" "a8a700e8e9f4d2048f360494851abc43ac8851780909b907808cbe1ecfab3eaa", kill_on_drop: false }` [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling obstack v0.1.4 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling num-traits v0.1.43 [INFO] [stderr] Compiling enum_primitive v0.1.1 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling luadec v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/instruction_decoder.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/view_context/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usage` [INFO] [stdout] --> src/instruction_definitions.rs:287:35 [INFO] [stdout] | [INFO] [stdout] 287 | self.fold_io((), |_, reg, usage| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usage` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/instruction_definitions.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | _ => unimplemented!() [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] ... [INFO] [stdout] 543 | / handle_fold! { [INFO] [stdout] 544 | | Move { dest, source } => { [INFO] [stdout] 545 | | read source, [INFO] [stdout] 546 | | write dest, [INFO] [stdout] ... | [INFO] [stdout] 632 | | SemanticNoOp => {} [INFO] [stdout] 633 | | } [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/instruction_definitions.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 401 | $($($pattern)|* => { [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 404 | _ => unimplemented!() [INFO] [stdout] | ^ ...and 21 other patterns collectively make this unreachable [INFO] [stdout] ... [INFO] [stdout] 543 | / handle_fold! { [INFO] [stdout] 544 | | Move { dest, source } => { [INFO] [stdout] | | --------------------- matches some of the same values [INFO] [stdout] 545 | | read source, [INFO] [stdout] 546 | | write dest, [INFO] [stdout] ... | [INFO] [stdout] 551 | | GetTable { dest, table, index } => { [INFO] [stdout] | | ------------------------------- matches some of the same values [INFO] [stdout] ... | [INFO] [stdout] 556 | | LoadNil { dest_start, dest_end } => { [INFO] [stdout] | | -------------------------------- matches some of the same values [INFO] [stdout] ... | [INFO] [stdout] 632 | | SemanticNoOp => {} [INFO] [stdout] 633 | | } [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `handle_fold` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/view_context/mod.rs:1610:29 [INFO] [stdout] | [INFO] [stdout] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/view_context/mod.rs:1610:29 [INFO] [stdout] | [INFO] [stdout] 1047 | LuaInstruction::Move { dest, source } => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1078 | LuaInstruction::GetGlobal { dest, index } => { [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1090 | LuaInstruction::SetGlobal { index, source } => { [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1105 | LuaInstruction::GetUpvalue { dest, upvalue } => { [INFO] [stdout] | -------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stdout] | ^ ...and 26 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Block<'ctx>` is more private than the item `Statement::Do::block` [INFO] [stdout] --> src/ast/mod.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | Do { block: Block<'ctx> } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ field `Statement::Do::block` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Block<'ctx>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/ast/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | struct Block<'ctx> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ASTContext` is never constructed [INFO] [stdout] --> src/ast/mod.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct ASTContext { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scope` is never constructed [INFO] [stdout] --> src/ast/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct Scope<'parent, 'ctx: 'parent> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `statements` is never read [INFO] [stdout] --> src/ast/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | struct Block<'ctx> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 23 | statements: Vec<&'ctx dyn StatementContainer<'ctx>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/ast/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatementNode` is never constructed [INFO] [stdout] --> src/ast/mod.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct StatementNode<'ctx, T: Sized> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/cond_logic.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CondTarget { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 19 | id: CondTargetID, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `CondTarget` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `a` is never read [INFO] [stdout] --> src/instruction_decoder.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | struct ABx { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 78 | a: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `a` is never read [INFO] [stdout] --> src/instruction_decoder.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 91 | struct AsBx { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 92 | a: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FreeFormRegType` is never used [INFO] [stdout] --> src/ralloc.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | enum FreeFormRegType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FreeFormRegType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `info` is never read [INFO] [stdout] --> src/ralloc.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 62 | struct StackData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | info: InstructionInfo, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StackData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stack` and `free_form` are never used [INFO] [stdout] --> src/ralloc.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Data { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 75 | fn stack(&self) -> Option<&StackData> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn free_form(&self) -> Option<&FreeFormData> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `class`, `incoming`, `outgoing`, `info`, `in_newtable`, and `redirect` are never read [INFO] [stdout] --> src/ralloc.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct InstrInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 182 | class: InstructionClass, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 183 | incoming: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 184 | outgoing: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 185 | info: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 186 | in_newtable: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 187 | redirect: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstrInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `does_read` is never used [INFO] [stdout] --> src/ralloc.rs:549:8 [INFO] [stdout] | [INFO] [stdout] 208 | impl<'a> RAllocCtx<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 549 | fn does_read(&self, pc: usize, reg: Reg) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `test_set` is never read [INFO] [stdout] --> src/view_context/mod.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | Conditional { test_set: bool }, [INFO] [stdout] | ----------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SkipInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cond_index` is never read [INFO] [stdout] --> src/view_context/mod.rs:1689:32 [INFO] [stdout] | [INFO] [stdout] 1689 | LoadBoolCondExpr { cond_index: ViewRef, dest: Reg, has_tail: bool }, [INFO] [stdout] | ---------------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cond_index` is never read [INFO] [stdout] --> src/view_context/mod.rs:1691:34 [INFO] [stdout] | [INFO] [stdout] 1691 | PartialRepeatUntil { cond_index: ViewRef, exit: u32 }, [INFO] [stdout] | ------------------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/view_context/mod.rs:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext { [INFO] [stdout] | ^^^ ----------- the lifetime gets resolved as `'lb` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'lb` [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext<'lb> { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.66s [INFO] running `Command { std: "docker" "inspect" "a8a700e8e9f4d2048f360494851abc43ac8851780909b907808cbe1ecfab3eaa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a8a700e8e9f4d2048f360494851abc43ac8851780909b907808cbe1ecfab3eaa", kill_on_drop: false }` [INFO] [stdout] a8a700e8e9f4d2048f360494851abc43ac8851780909b907808cbe1ecfab3eaa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--no-run" "--message-format=json" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] 1e1f9ac87bf3df1d1098bd04eed4aa27bb62733e331cae03841911df16e6f1f0 [INFO] running `Command { std: "docker" "start" "-a" "1e1f9ac87bf3df1d1098bd04eed4aa27bb62733e331cae03841911df16e6f1f0", kill_on_drop: false }` [INFO] [stderr] Compiling tokio v1.45.1 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling tokio-test v0.4.4 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling luadec v0.2.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/instruction_decoder.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/view_context/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `either::Either` [INFO] [stdout] --> src/lib.rs:43:5 [INFO] [stdout] | [INFO] [stdout] 43 | use either::Either; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/instruction_decoder.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_attributes)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stdout] --> src/view_context/mod.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usage` [INFO] [stdout] --> src/instruction_definitions.rs:287:35 [INFO] [stdout] | [INFO] [stdout] 287 | self.fold_io((), |_, reg, usage| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usage` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/instruction_definitions.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | _ => unimplemented!() [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] ... [INFO] [stdout] 543 | / handle_fold! { [INFO] [stdout] 544 | | Move { dest, source } => { [INFO] [stdout] 545 | | read source, [INFO] [stdout] 546 | | write dest, [INFO] [stdout] ... | [INFO] [stdout] 632 | | SemanticNoOp => {} [INFO] [stdout] 633 | | } [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/instruction_definitions.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 401 | $($($pattern)|* => { [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 404 | _ => unimplemented!() [INFO] [stdout] | ^ ...and 21 other patterns collectively make this unreachable [INFO] [stdout] ... [INFO] [stdout] 543 | / handle_fold! { [INFO] [stdout] 544 | | Move { dest, source } => { [INFO] [stdout] | | --------------------- matches some of the same values [INFO] [stdout] 545 | | read source, [INFO] [stdout] 546 | | write dest, [INFO] [stdout] ... | [INFO] [stdout] 551 | | GetTable { dest, table, index } => { [INFO] [stdout] | | ------------------------------- matches some of the same values [INFO] [stdout] ... | [INFO] [stdout] 556 | | LoadNil { dest_start, dest_end } => { [INFO] [stdout] | | -------------------------------- matches some of the same values [INFO] [stdout] ... | [INFO] [stdout] 632 | | SemanticNoOp => {} [INFO] [stdout] 633 | | } [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `handle_fold` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `usage` [INFO] [stdout] --> src/instruction_definitions.rs:287:35 [INFO] [stdout] | [INFO] [stdout] 287 | self.fold_io((), |_, reg, usage| { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usage` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/instruction_definitions.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 404 | _ => unimplemented!() [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] ... [INFO] [stdout] 543 | / handle_fold! { [INFO] [stdout] 544 | | Move { dest, source } => { [INFO] [stdout] 545 | | read source, [INFO] [stdout] 546 | | write dest, [INFO] [stdout] ... | [INFO] [stdout] 632 | | SemanticNoOp => {} [INFO] [stdout] 633 | | } [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/instruction_definitions.rs:404:21 [INFO] [stdout] | [INFO] [stdout] 401 | $($($pattern)|* => { [INFO] [stdout] | -------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 404 | _ => unimplemented!() [INFO] [stdout] | ^ ...and 21 other patterns collectively make this unreachable [INFO] [stdout] ... [INFO] [stdout] 543 | / handle_fold! { [INFO] [stdout] 544 | | Move { dest, source } => { [INFO] [stdout] | | --------------------- matches some of the same values [INFO] [stdout] 545 | | read source, [INFO] [stdout] 546 | | write dest, [INFO] [stdout] ... | [INFO] [stdout] 551 | | GetTable { dest, table, index } => { [INFO] [stdout] | | ------------------------------- matches some of the same values [INFO] [stdout] ... | [INFO] [stdout] 556 | | LoadNil { dest_start, dest_end } => { [INFO] [stdout] | | -------------------------------- matches some of the same values [INFO] [stdout] ... | [INFO] [stdout] 632 | | SemanticNoOp => {} [INFO] [stdout] 633 | | } [INFO] [stdout] | |_________- in this macro invocation [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] = note: this warning originates in the macro `handle_fold` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/view_context/mod.rs:1610:29 [INFO] [stdout] | [INFO] [stdout] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/view_context/mod.rs:1610:29 [INFO] [stdout] | [INFO] [stdout] 1047 | LuaInstruction::Move { dest, source } => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1078 | LuaInstruction::GetGlobal { dest, index } => { [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1090 | LuaInstruction::SetGlobal { index, source } => { [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1105 | LuaInstruction::GetUpvalue { dest, upvalue } => { [INFO] [stdout] | -------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stdout] | ^ ...and 26 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/view_context/mod.rs:1610:29 [INFO] [stdout] | [INFO] [stdout] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/view_context/mod.rs:1610:29 [INFO] [stdout] | [INFO] [stdout] 1047 | LuaInstruction::Move { dest, source } => { [INFO] [stdout] | ------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1078 | LuaInstruction::GetGlobal { dest, index } => { [INFO] [stdout] | ----------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1090 | LuaInstruction::SetGlobal { index, source } => { [INFO] [stdout] | ------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1105 | LuaInstruction::GetUpvalue { dest, upvalue } => { [INFO] [stdout] | -------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stdout] | ^ ...and 26 other patterns collectively make this unreachable [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Block<'ctx>` is more private than the item `Statement::Do::block` [INFO] [stdout] --> src/ast/mod.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | Do { block: Block<'ctx> } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ field `Statement::Do::block` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Block<'ctx>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/ast/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | struct Block<'ctx> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ASTContext` is never constructed [INFO] [stdout] --> src/ast/mod.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct ASTContext { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scope` is never constructed [INFO] [stdout] --> src/ast/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct Scope<'parent, 'ctx: 'parent> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `statements` is never read [INFO] [stdout] --> src/ast/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | struct Block<'ctx> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 23 | statements: Vec<&'ctx dyn StatementContainer<'ctx>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/ast/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatementNode` is never constructed [INFO] [stdout] --> src/ast/mod.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct StatementNode<'ctx, T: Sized> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/cond_logic.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CondTarget { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 19 | id: CondTargetID, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `CondTarget` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `a` is never read [INFO] [stdout] --> src/instruction_decoder.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | struct ABx { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 78 | a: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `a` is never read [INFO] [stdout] --> src/instruction_decoder.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 91 | struct AsBx { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 92 | a: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FreeFormRegType` is never used [INFO] [stdout] --> src/ralloc.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | enum FreeFormRegType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FreeFormRegType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `info` is never read [INFO] [stdout] --> src/ralloc.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 62 | struct StackData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | info: InstructionInfo, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StackData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stack` and `free_form` are never used [INFO] [stdout] --> src/ralloc.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Data { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 75 | fn stack(&self) -> Option<&StackData> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn free_form(&self) -> Option<&FreeFormData> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `class`, `incoming`, `outgoing`, `info`, `in_newtable`, and `redirect` are never read [INFO] [stdout] --> src/ralloc.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct InstrInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 182 | class: InstructionClass, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 183 | incoming: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 184 | outgoing: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 185 | info: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 186 | in_newtable: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 187 | redirect: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstrInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `does_read` is never used [INFO] [stdout] --> src/ralloc.rs:549:8 [INFO] [stdout] | [INFO] [stdout] 208 | impl<'a> RAllocCtx<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 549 | fn does_read(&self, pc: usize, reg: Reg) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `test_set` is never read [INFO] [stdout] --> src/view_context/mod.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | Conditional { test_set: bool }, [INFO] [stdout] | ----------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SkipInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cond_index` is never read [INFO] [stdout] --> src/view_context/mod.rs:1689:32 [INFO] [stdout] | [INFO] [stdout] 1689 | LoadBoolCondExpr { cond_index: ViewRef, dest: Reg, has_tail: bool }, [INFO] [stdout] | ---------------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cond_index` is never read [INFO] [stdout] --> src/view_context/mod.rs:1691:34 [INFO] [stdout] | [INFO] [stdout] 1691 | PartialRepeatUntil { cond_index: ViewRef, exit: u32 }, [INFO] [stdout] | ------------------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/view_context/mod.rs:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext { [INFO] [stdout] | ^^^ ----------- the lifetime gets resolved as `'lb` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'lb` [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext<'lb> { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `Block<'ctx>` is more private than the item `Statement::Do::block` [INFO] [stdout] --> src/ast/mod.rs:64:10 [INFO] [stdout] | [INFO] [stdout] 64 | Do { block: Block<'ctx> } [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ field `Statement::Do::block` is reachable at visibility `pub` [INFO] [stdout] | [INFO] [stdout] note: but type `Block<'ctx>` is only usable at visibility `pub(self)` [INFO] [stdout] --> src/ast/mod.rs:22:1 [INFO] [stdout] | [INFO] [stdout] 22 | struct Block<'ctx> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] = note: `#[warn(private_interfaces)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ASTContext` is never constructed [INFO] [stdout] --> src/ast/mod.rs:8:8 [INFO] [stdout] | [INFO] [stdout] 8 | struct ASTContext { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Scope` is never constructed [INFO] [stdout] --> src/ast/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | struct Scope<'parent, 'ctx: 'parent> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `statements` is never read [INFO] [stdout] --> src/ast/mod.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 22 | struct Block<'ctx> { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] 23 | statements: Vec<&'ctx dyn StatementContainer<'ctx>>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Node` is never constructed [INFO] [stdout] --> src/ast/mod.rs:29:8 [INFO] [stdout] | [INFO] [stdout] 29 | struct Node { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatementNode` is never constructed [INFO] [stdout] --> src/ast/mod.rs:36:8 [INFO] [stdout] | [INFO] [stdout] 36 | struct StatementNode<'ctx, T: Sized> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `id` is never read [INFO] [stdout] --> src/cond_logic.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 18 | pub struct CondTarget { [INFO] [stdout] | ---------- field in this struct [INFO] [stdout] 19 | id: CondTargetID, [INFO] [stdout] | ^^ [INFO] [stdout] | [INFO] [stdout] = note: `CondTarget` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `a` is never read [INFO] [stdout] --> src/instruction_decoder.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 77 | struct ABx { [INFO] [stdout] | --- field in this struct [INFO] [stdout] 78 | a: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `a` is never read [INFO] [stdout] --> src/instruction_decoder.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 91 | struct AsBx { [INFO] [stdout] | ---- field in this struct [INFO] [stdout] 92 | a: u8, [INFO] [stdout] | ^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `FreeFormRegType` is never used [INFO] [stdout] --> src/ralloc.rs:27:6 [INFO] [stdout] | [INFO] [stdout] 27 | enum FreeFormRegType { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FreeFormRegType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `info` is never read [INFO] [stdout] --> src/ralloc.rs:65:5 [INFO] [stdout] | [INFO] [stdout] 62 | struct StackData { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 65 | info: InstructionInfo, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StackData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `stack` and `free_form` are never used [INFO] [stdout] --> src/ralloc.rs:75:8 [INFO] [stdout] | [INFO] [stdout] 74 | impl Data { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 75 | fn stack(&self) -> Option<&StackData> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | fn free_form(&self) -> Option<&FreeFormData> { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `class`, `incoming`, `outgoing`, `info`, `in_newtable`, and `redirect` are never read [INFO] [stdout] --> src/ralloc.rs:182:5 [INFO] [stdout] | [INFO] [stdout] 181 | pub struct InstrInfo { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 182 | class: InstructionClass, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 183 | incoming: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 184 | outgoing: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 185 | info: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 186 | in_newtable: bool, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 187 | redirect: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstrInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `does_read` is never used [INFO] [stdout] --> src/ralloc.rs:549:8 [INFO] [stdout] | [INFO] [stdout] 208 | impl<'a> RAllocCtx<'a> { [INFO] [stdout] | ---------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 549 | fn does_read(&self, pc: usize, reg: Reg) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `test_set` is never read [INFO] [stdout] --> src/view_context/mod.rs:28:19 [INFO] [stdout] | [INFO] [stdout] 28 | Conditional { test_set: bool }, [INFO] [stdout] | ----------- ^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `SkipInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cond_index` is never read [INFO] [stdout] --> src/view_context/mod.rs:1689:32 [INFO] [stdout] | [INFO] [stdout] 1689 | LoadBoolCondExpr { cond_index: ViewRef, dest: Reg, has_tail: bool }, [INFO] [stdout] | ---------------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `cond_index` is never read [INFO] [stdout] --> src/view_context/mod.rs:1691:34 [INFO] [stdout] | [INFO] [stdout] 1691 | PartialRepeatUntil { cond_index: ViewRef, exit: u32 }, [INFO] [stdout] | ------------------ ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/view_context/mod.rs:112:24 [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext { [INFO] [stdout] | ^^^ ----------- the lifetime gets resolved as `'lb` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to consistently use `'lb` [INFO] [stdout] | [INFO] [stdout] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext<'lb> { [INFO] [stdout] | +++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 7.90s [INFO] running `Command { std: "docker" "inspect" "1e1f9ac87bf3df1d1098bd04eed4aa27bb62733e331cae03841911df16e6f1f0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1e1f9ac87bf3df1d1098bd04eed4aa27bb62733e331cae03841911df16e6f1f0", kill_on_drop: false }` [INFO] [stdout] 1e1f9ac87bf3df1d1098bd04eed4aa27bb62733e331cae03841911df16e6f1f0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8de4c7234dd9b97c9d76b58671343fdbbc9a433e" "test" "--frozen" "--target" "x86_64-unknown-linux-musl", kill_on_drop: false }` [INFO] [stdout] a3dc1e2313d40d4fc74cdbd3b5849ffdba77b3e871ad91ff7d8be9f0d8f9a18b [INFO] running `Command { std: "docker" "start" "-a" "a3dc1e2313d40d4fc74cdbd3b5849ffdba77b3e871ad91ff7d8be9f0d8f9a18b", kill_on_drop: false }` [INFO] [stderr] warning: unused import: `either::Either` [INFO] [stderr] --> src/lib.rs:43:5 [INFO] [stderr] | [INFO] [stderr] 43 | use either::Either; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stderr] --> src/instruction_decoder.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_attributes)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `#[macro_use]` only has an effect on `extern crate` and modules [INFO] [stderr] --> src/view_context/mod.rs:11:1 [INFO] [stderr] | [INFO] [stderr] 11 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused variable: `usage` [INFO] [stderr] --> src/instruction_definitions.rs:287:35 [INFO] [stderr] | [INFO] [stderr] 287 | self.fold_io((), |_, reg, usage| { [INFO] [stderr] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_usage` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/instruction_definitions.rs:404:21 [INFO] [stderr] | [INFO] [stderr] 404 | _ => unimplemented!() [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] ... [INFO] [stderr] 543 | / handle_fold! { [INFO] [stderr] 544 | | Move { dest, source } => { [INFO] [stderr] 545 | | read source, [INFO] [stderr] 546 | | write dest, [INFO] [stderr] ... | [INFO] [stderr] 632 | | SemanticNoOp => {} [INFO] [stderr] 633 | | } [INFO] [stderr] | |_________- in this macro invocation [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/instruction_definitions.rs:404:21 [INFO] [stderr] | [INFO] [stderr] 401 | $($($pattern)|* => { [INFO] [stderr] | -------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 404 | _ => unimplemented!() [INFO] [stderr] | ^ ...and 21 other patterns collectively make this unreachable [INFO] [stderr] ... [INFO] [stderr] 543 | / handle_fold! { [INFO] [stderr] 544 | | Move { dest, source } => { [INFO] [stderr] | | --------------------- matches some of the same values [INFO] [stderr] 545 | | read source, [INFO] [stderr] 546 | | write dest, [INFO] [stderr] ... | [INFO] [stderr] 551 | | GetTable { dest, table, index } => { [INFO] [stderr] | | ------------------------------- matches some of the same values [INFO] [stderr] ... | [INFO] [stderr] 556 | | LoadNil { dest_start, dest_end } => { [INFO] [stderr] | | -------------------------------- matches some of the same values [INFO] [stderr] ... | [INFO] [stderr] 632 | | SemanticNoOp => {} [INFO] [stderr] 633 | | } [INFO] [stderr] | |_________- in this macro invocation [INFO] [stderr] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stderr] = note: this warning originates in the macro `handle_fold` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] warning: unreachable pattern [INFO] [stderr] --> src/view_context/mod.rs:1610:29 [INFO] [stderr] | [INFO] [stderr] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stderr] | ^ no value can reach this [INFO] [stderr] | [INFO] [stderr] note: multiple earlier patterns match some of the same values [INFO] [stderr] --> src/view_context/mod.rs:1610:29 [INFO] [stderr] | [INFO] [stderr] 1047 | LuaInstruction::Move { dest, source } => { [INFO] [stderr] | ------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1078 | LuaInstruction::GetGlobal { dest, index } => { [INFO] [stderr] | ----------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1090 | LuaInstruction::SetGlobal { index, source } => { [INFO] [stderr] | ------------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1105 | LuaInstruction::GetUpvalue { dest, upvalue } => { [INFO] [stderr] | -------------------------------------------- matches some of the same values [INFO] [stderr] ... [INFO] [stderr] 1610 | ref instr @ _ => panic!("Unimplemented instruction: {:?}", instr), [INFO] [stderr] | ^ ...and 26 other patterns collectively make this unreachable [INFO] [stderr] [INFO] [stderr] warning: type `Block<'ctx>` is more private than the item `Statement::Do::block` [INFO] [stderr] --> src/ast/mod.rs:64:10 [INFO] [stderr] | [INFO] [stderr] 64 | Do { block: Block<'ctx> } [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ field `Statement::Do::block` is reachable at visibility `pub` [INFO] [stderr] | [INFO] [stderr] note: but type `Block<'ctx>` is only usable at visibility `pub(self)` [INFO] [stderr] --> src/ast/mod.rs:22:1 [INFO] [stderr] | [INFO] [stderr] 22 | struct Block<'ctx> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] = note: `#[warn(private_interfaces)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `ASTContext` is never constructed [INFO] [stderr] --> src/ast/mod.rs:8:8 [INFO] [stderr] | [INFO] [stderr] 8 | struct ASTContext { [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: struct `Scope` is never constructed [INFO] [stderr] --> src/ast/mod.rs:15:8 [INFO] [stderr] | [INFO] [stderr] 15 | struct Scope<'parent, 'ctx: 'parent> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `statements` is never read [INFO] [stderr] --> src/ast/mod.rs:23:5 [INFO] [stderr] | [INFO] [stderr] 22 | struct Block<'ctx> { [INFO] [stderr] | ----- field in this struct [INFO] [stderr] 23 | statements: Vec<&'ctx dyn StatementContainer<'ctx>>, [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `Node` is never constructed [INFO] [stderr] --> src/ast/mod.rs:29:8 [INFO] [stderr] | [INFO] [stderr] 29 | struct Node { [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: struct `StatementNode` is never constructed [INFO] [stderr] --> src/ast/mod.rs:36:8 [INFO] [stderr] | [INFO] [stderr] 36 | struct StatementNode<'ctx, T: Sized> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `id` is never read [INFO] [stderr] --> src/cond_logic.rs:19:5 [INFO] [stderr] | [INFO] [stderr] 18 | pub struct CondTarget { [INFO] [stderr] | ---------- field in this struct [INFO] [stderr] 19 | id: CondTargetID, [INFO] [stderr] | ^^ [INFO] [stderr] | [INFO] [stderr] = note: `CondTarget` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `a` is never read [INFO] [stderr] --> src/instruction_decoder.rs:78:5 [INFO] [stderr] | [INFO] [stderr] 77 | struct ABx { [INFO] [stderr] | --- field in this struct [INFO] [stderr] 78 | a: u8, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: field `a` is never read [INFO] [stderr] --> src/instruction_decoder.rs:92:5 [INFO] [stderr] | [INFO] [stderr] 91 | struct AsBx { [INFO] [stderr] | ---- field in this struct [INFO] [stderr] 92 | a: u8, [INFO] [stderr] | ^ [INFO] [stderr] [INFO] [stderr] warning: enum `FreeFormRegType` is never used [INFO] [stderr] --> src/ralloc.rs:27:6 [INFO] [stderr] | [INFO] [stderr] 27 | enum FreeFormRegType { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `FreeFormRegType` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `info` is never read [INFO] [stderr] --> src/ralloc.rs:65:5 [INFO] [stderr] | [INFO] [stderr] 62 | struct StackData { [INFO] [stderr] | --------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 65 | info: InstructionInfo, [INFO] [stderr] | ^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `StackData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: methods `stack` and `free_form` are never used [INFO] [stderr] --> src/ralloc.rs:75:8 [INFO] [stderr] | [INFO] [stderr] 74 | impl Data { [INFO] [stderr] | --------- methods in this implementation [INFO] [stderr] 75 | fn stack(&self) -> Option<&StackData> { [INFO] [stderr] | ^^^^^ [INFO] [stderr] ... [INFO] [stderr] 83 | fn free_form(&self) -> Option<&FreeFormData> { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: fields `class`, `incoming`, `outgoing`, `info`, `in_newtable`, and `redirect` are never read [INFO] [stderr] --> src/ralloc.rs:182:5 [INFO] [stderr] | [INFO] [stderr] 181 | pub struct InstrInfo { [INFO] [stderr] | --------- fields in this struct [INFO] [stderr] 182 | class: InstructionClass, [INFO] [stderr] | ^^^^^ [INFO] [stderr] 183 | incoming: Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 184 | outgoing: Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] 185 | info: Option, [INFO] [stderr] | ^^^^ [INFO] [stderr] 186 | in_newtable: bool, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 187 | redirect: Option, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `InstrInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: method `does_read` is never used [INFO] [stderr] --> src/ralloc.rs:549:8 [INFO] [stderr] | [INFO] [stderr] 208 | impl<'a> RAllocCtx<'a> { [INFO] [stderr] | ---------------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 549 | fn does_read(&self, pc: usize, reg: Reg) -> bool { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `test_set` is never read [INFO] [stderr] --> src/view_context/mod.rs:28:19 [INFO] [stderr] | [INFO] [stderr] 28 | Conditional { test_set: bool }, [INFO] [stderr] | ----------- ^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `SkipInfo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `cond_index` is never read [INFO] [stderr] --> src/view_context/mod.rs:1689:32 [INFO] [stderr] | [INFO] [stderr] 1689 | LoadBoolCondExpr { cond_index: ViewRef, dest: Reg, has_tail: bool }, [INFO] [stderr] | ---------------- ^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: field `cond_index` is never read [INFO] [stderr] --> src/view_context/mod.rs:1691:34 [INFO] [stderr] | [INFO] [stderr] 1691 | PartialRepeatUntil { cond_index: ViewRef, exit: u32 }, [INFO] [stderr] | ------------------ ^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | field in this variant [INFO] [stderr] | [INFO] [stderr] = note: `IterResult` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stderr] [INFO] [stderr] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stderr] --> src/view_context/mod.rs:112:24 [INFO] [stderr] | [INFO] [stderr] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext { [INFO] [stderr] | ^^^ ----------- the lifetime gets resolved as `'lb` [INFO] [stderr] | | [INFO] [stderr] | this lifetime flows to the output [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: one option is to consistently use `'lb` [INFO] [stderr] | [INFO] [stderr] 112 | pub fn new(chunk: &'lb LuaChunk) -> ViewContext<'lb> { [INFO] [stderr] | +++++ [INFO] [stderr] [INFO] [stderr] warning: `luadec` (lib) generated 24 warnings (run `cargo fix --lib -p luadec` to apply 2 suggestions) [INFO] [stderr] warning: `luadec` (lib test) generated 24 warnings (24 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.07s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/x86_64-unknown-linux-musl/debug/deps/luadec-778b6156f35b8407) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test tests::test_decompiler_options ... ok [INFO] [stdout] test tests::test_basic_decompilation ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "a3dc1e2313d40d4fc74cdbd3b5849ffdba77b3e871ad91ff7d8be9f0d8f9a18b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a3dc1e2313d40d4fc74cdbd3b5849ffdba77b3e871ad91ff7d8be9f0d8f9a18b", kill_on_drop: false }` [INFO] [stdout] a3dc1e2313d40d4fc74cdbd3b5849ffdba77b3e871ad91ff7d8be9f0d8f9a18b