[INFO] cloning repository https://github.com/ItsLucas/luadec
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ItsLucas/luadec" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FItsLucas%2Fluadec", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FItsLucas%2Fluadec'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 364277f24a6e564c9633f49109dc389b7449cd48
[INFO] checking ItsLucas/luadec against 5c543b0b8c73c7b72bc8284ced4fb22ead15734d for pr-160186
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FItsLucas%2Fluadec" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ItsLucas/luadec
[INFO] finished tweaking git repo https://github.com/ItsLucas/luadec
[INFO] tweaked toml for git repo https://github.com/ItsLucas/luadec written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ItsLucas/luadec on toolchain 5c543b0b8c73c7b72bc8284ced4fb22ead15734d
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/ItsLucas/luadec 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" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "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] [stderr]   Downloaded hermit-abi v0.5.1
[INFO] [stderr]   Downloaded is-terminal v0.4.16
[INFO] [stderr]   Downloaded tokio-test v0.4.4
[INFO] [stderr]   Downloaded enum_primitive v0.1.1
[INFO] [stderr]   Downloaded num-traits v0.1.43
[INFO] [stderr]   Downloaded env_logger v0.10.2
[INFO] [stderr]   Downloaded humantime v2.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636
[INFO] running `Command { std: "docker" "start" "c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636", 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" "c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636", 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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636" "/opt/rustwide/cargo-home/bin/cargo" "+5c543b0b8c73c7b72bc8284ced4fb22ead15734d" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling autocfg v1.4.0
[INFO] [stderr]    Compiling libc v0.2.172
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]     Checking pin-project-lite v0.2.16
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]     Checking futures-core v0.3.31
[INFO] [stderr]     Checking bitflags v2.9.1
[INFO] [stderr]     Checking cfg-if v1.0.0
[INFO] [stderr]     Checking linux-raw-sys v0.9.4
[INFO] [stderr]     Checking tokio v1.45.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking memchr v2.7.4
[INFO] [stderr]     Checking once_cell v1.21.3
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]     Checking crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.101
[INFO] [stderr]     Checking minimal-lexical v0.2.1
[INFO] [stderr]     Checking fastrand v2.3.0
[INFO] [stderr]     Checking glob v0.3.2
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking bytes v1.10.1
[INFO] [stderr]     Checking log v0.4.27
[INFO] [stderr]     Checking num-traits v0.1.43
[INFO] [stderr]     Checking enum_primitive v0.1.1
[INFO] [stderr]     Checking obstack v0.1.4
[INFO] [stderr]     Checking rayon v1.10.0
[INFO] [stderr]     Checking tokio-stream v0.1.17
[INFO] [stderr]     Checking tempfile v3.20.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking async-stream v0.3.6
[INFO] [stderr]     Checking tokio-test v0.4.4
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking 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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on use statements
[INFO] [stdout]  --> src/instruction_decoder.rs:2:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `macro_use` attribute can be applied to extern crates and modules
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on use statements
[INFO] [stdout]   --> src/view_context/mod.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/cond_logic.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 |             id: CondTargetID(usize::max_value()),
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on use statements
[INFO] [stdout]  --> src/instruction_decoder.rs:2:3
[INFO] [stdout]   |
[INFO] [stdout] 2 | #[macro_use]
[INFO] [stdout]   |   ^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: the `macro_use` attribute can be applied to extern crates and modules
[INFO] [stdout]   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]   = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `macro_use` attribute cannot be used on use statements
[INFO] [stdout]   --> src/view_context/mod.rs:11:3
[INFO] [stdout]    |
[INFO] [stdout] 11 | #[macro_use]
[INFO] [stdout]    |   ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: the `macro_use` attribute can be applied to extern crates and modules
[INFO] [stdout]    = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated associated function `core::num::<impl usize>::max_value`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]   --> src/cond_logic.rs:30:37
[INFO] [stdout]    |
[INFO] [stdout] 30 |             id: CondTargetID(usize::max_value()),
[INFO] [stdout]    |                                     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instruction_definitions.rs:404:21
[INFO] [stdout]     |
[INFO] [stdout] 398 |           macro_rules! handle_fold {
[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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]    --> src/instruction_definitions.rs:404:21
[INFO] [stdout]     |
[INFO] [stdout] 398 |           macro_rules! handle_fold {
[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)]` (part of `#[warn(unused)]`) on by default
[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)]` (part of `#[warn(unused)]`) 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<T: Sized> {
[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] 
[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<RegOrTop>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 184 |     outgoing: Option<RegOrTop>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 185 |     info: Option<InstructionInfo>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 186 |     in_newtable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 187 |     redirect: Option<usize>,
[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: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/view_context/mod.rs:112:41
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(chunk: &'lb LuaChunk) -> ViewContext {
[INFO] [stdout]     |                        ---              ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: 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: 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)]` (part of `#[warn(unused)]`) 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<T: Sized> {
[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] 
[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<RegOrTop>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 184 |     outgoing: Option<RegOrTop>,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 185 |     info: Option<InstructionInfo>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 186 |     in_newtable: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 187 |     redirect: Option<usize>,
[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: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/view_context/mod.rs:112:41
[INFO] [stdout]     |
[INFO] [stdout] 112 |     pub fn new(chunk: &'lb LuaChunk) -> ViewContext {
[INFO] [stdout]     |                        ---              ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                        |
[INFO] [stdout]     |                        the lifetime is named here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: 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 23.15s
[INFO] running `Command { std: "docker" "inspect" "c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636", kill_on_drop: false }`
[INFO] [stdout] c14b44a599320300e5c284e3c676f1fa27730dc198c87f8e954c4ed31f827636
