[INFO] fetching crate ulua-code-gen 0.1.7...
[INFO] testing ulua-code-gen-0.1.7 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate ulua-code-gen 0.1.7 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate ulua-code-gen 0.1.7
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ulua-code-gen 0.1.7
[INFO] tweaked toml for crates.io crate ulua-code-gen 0.1.7 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ulua-code-gen 0.1.7 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ulua-code-gen 0.1.7 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fast-float2 v0.2.4
[INFO] [stderr]   Downloaded coarsetime v0.1.38
[INFO] [stderr]   Downloaded rustc-std-workspace-alloc v1.0.1
[INFO] [stderr]   Downloaded ulua-common v0.1.7
[INFO] [stderr]   Downloaded wasix v0.13.2
[INFO] [stderr]   Downloaded ulua-vm v0.1.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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] 3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388
[INFO] running `Command { std: "docker" "start" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388", 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" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.26
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling smallvec v1.16.2
[INFO] [stderr]    Compiling rustc-std-workspace-alloc v1.0.1
[INFO] [stderr]    Compiling fast-float2 v0.2.4
[INFO] [stderr]    Compiling ulua-vm v0.1.7
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling jiff-core v0.1.1
[INFO] [stderr]    Compiling coarsetime v0.1.38
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling jiff v0.2.37
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling ulua-common v0.1.7
[INFO] [stderr]    Compiling ulua-code-gen v0.1.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `create_native_function_a_64` is never used
[INFO] [stdout]    --> src/functions/create_native_function.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) unsafe fn create_native_function_a_64(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_L` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const R_L: RegisterA64 = reg(KindA64::X, 0);
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_PROTO` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const R_PROTO: RegisterA64 = reg(KindA64::X, 1);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_RET` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const W_RET: RegisterA64 = reg(KindA64::W, 0);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_IDX_I` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const W_IDX_I: RegisterA64 = reg(KindA64::W, 1);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_BASE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const R_BASE: RegisterA64 = reg(KindA64::X, 2);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_CODE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 | const R_CODE: RegisterA64 = reg(KindA64::X, 3);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_SCRATCH` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const X_SCRATCH: RegisterA64 = reg(KindA64::X, 8);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_LOW_SCRATCH` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:89:7
[INFO] [stdout]    |
[INFO] [stdout] 89 | const W_LOW_SCRATCH: RegisterA64 = reg(KindA64::W, 8);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_TAG` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:90:7
[INFO] [stdout]    |
[INFO] [stdout] 90 | const W_TAG: RegisterA64 = reg(KindA64::W, 9);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_TAG_PTR` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:93:7
[INFO] [stdout]    |
[INFO] [stdout] 93 | const X_TAG_PTR: RegisterA64 = reg(KindA64::X, 9);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_PC` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const X_PC: RegisterA64 = reg(KindA64::X, 14);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_CI` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const X_CI: RegisterA64 = reg(KindA64::X, 15);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_KPOOL` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:98:7
[INFO] [stdout]    |
[INFO] [stdout] 98 | const X_KPOOL: RegisterA64 = reg(KindA64::X, 9);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_IMPORT` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const D_IMPORT: RegisterA64 = reg(KindA64::D, 20);
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_IDX` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const D_IDX: RegisterA64 = reg(KindA64::D, 0);
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_LIMIT` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 | const D_LIMIT: RegisterA64 = reg(KindA64::D, 1);
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_STEP` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | const D_STEP: RegisterA64 = reg(KindA64::D, 2);
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_MOD` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const D_MOD: RegisterA64 = reg(KindA64::D, 3);
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | const fn tbl(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl_size` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | const fn tbl_size(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVED_TABLE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const DERIVED_TABLE: RegisterA64 = reg(KindA64::X, 7);
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVED_SIZE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:122:7
[INFO] [stdout]     |
[INFO] [stdout] 122 | const DERIVED_SIZE: RegisterA64 = reg(KindA64::W, 13);
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `x_uv` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:127:10
[INFO] [stdout]     |
[INFO] [stdout] 127 | const fn x_uv(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_acc` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | const fn d_acc(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_inv` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 | const fn d_inv(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_const` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | const fn d_const(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_temp` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | const fn d_temp(t: u8) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_TVALUE_SIZE_LOG2` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | const K_TVALUE_SIZE_LOG2: i32 = 4;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_INSN_SIZE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | const K_INSN_SIZE: usize = size_of::<Instruction>();
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_value` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn slot_value(reg_index: u8) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_tag` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn slot_tag(reg_index: u8) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `materialize_double` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn materialize_double(b: &mut AssemblyBuilderA64, dst: RegisterA64, v: f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `val_reg` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn val_reg(v: TVal) -> RegisterA64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_regs` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn table_regs(t: TableRef) -> (RegisterA64, RegisterA64) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl_size_of` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn tbl_size_of(t: TableRef) -> RegisterA64 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_arith_op` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:197:4
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn emit_arith_op(b: &mut AssemblyBuilderA64, dst: RegisterA64, op: TArith, lhs: TVal, rhs: TVal) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_index_exact` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn emit_index_exact(b: &mut AssemblyBuilderA64, index: TVal, bail: &mut Label) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fma_folds` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn fma_folds(insts: &[TraceInst]) -> Vec<(u8, TVal, TVal)> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_of` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn other_of(lhs: TVal, rhs: TVal) -> Option<TVal> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_trace_a_64` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:324:15
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub(crate) fn emit_trace_a_64(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_idx_writeback` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:994:4
[INFO] [stdout]     |
[INFO] [stdout] 994 | fn emit_idx_writeback(b: &mut AssemblyBuilderA64, idx_slot: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_writebacks` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1009:4
[INFO] [stdout]      |
[INFO] [stdout] 1009 | fn emit_writebacks(b: &mut AssemblyBuilderA64, ir: &TraceIr, folded: &[u8]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_savedpc` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1027:4
[INFO] [stdout]      |
[INFO] [stdout] 1027 | fn emit_savedpc(b: &mut AssemblyBuilderA64, pcpos: u32) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_tag_guard_and_load` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1034:4
[INFO] [stdout]      |
[INFO] [stdout] 1034 | fn emit_tag_guard_and_load(b: &mut AssemblyBuilderA64, dst: RegisterA64, bail: &mut Label) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_store_value` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1043:4
[INFO] [stdout]      |
[INFO] [stdout] 1043 | fn emit_store_value(b: &mut AssemblyBuilderA64, value: RegisterA64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_dst_of` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1049:4
[INFO] [stdout]      |
[INFO] [stdout] 1049 | fn temp_dst_of(inst: TInst) -> u8 {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consumed_by` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1057:4
[INFO] [stdout]      |
[INFO] [stdout] 1057 | fn consumed_by(t: u8, lhs: TVal, rhs: TVal) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TRACE_INSTS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) const K_MAX_TRACE_INSTS: usize = 32;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TABLES` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) const K_MAX_TABLES: usize = 4;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_DERIVED` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) const K_MAX_DERIVED: usize = 1;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_INV_NUMS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:65:18
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) const K_MAX_INV_NUMS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_ACCS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) const K_MAX_ACCS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TEMPS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) const K_MAX_TEMPS: u8 = 12;
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_CONSTS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) const K_MAX_CONSTS: usize = 4;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_UPVALS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) const K_MAX_UPVALS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_LOADN_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) const K_LOADN_PLACEHOLDER: u32 = u32::MAX;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_NINDEX_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) const K_NINDEX_PLACEHOLDER: u32 = u32::MAX - 1;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TableRef` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) enum TableRef {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TVal` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) enum TVal {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TArith` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub(crate) enum TArith {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sqrt`, `Abs`, `Floor`, `Ceil`, and `Round` are never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) enum TMathUnary {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] 138 |   Sqrt,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 139 |   Abs,
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 140 |   Floor,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 141 |   Ceil,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 142 |   Round,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TMathUnary` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Num` and `Cfn` are never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum TUpvalKind {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 150 |   Num,
[INFO] [stdout]     |   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |   Cfn(TMathUnary),
[INFO] [stdout]     |   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TUpvalKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `idx`, `cell`, `mutated`, `kind`, and `inv_temp` are never read
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub(crate) struct TUpval {
[INFO] [stdout]     |                   ------ fields in this struct
[INFO] [stdout] 162 |   /// upref 下标（GETUPVAL/SETUPVAL 的 B 字，< nupvalues）
[INFO] [stdout] 163 |   pub idx: u8,
[INFO] [stdout]     |       ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |   pub cell: bool,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 169 |   /// 体含 SETUPVAL → cell 指针驻留 + 逐访问穿 cell；否则只读
[INFO] [stdout] 170 |   pub mutated: bool,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 171 |   pub kind: TUpvalKind,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 172 |   /// Num+只读：prologue 内联装载的保留临时（环内零代码，槽写走快照写回面）
[INFO] [stdout] 173 |   pub inv_temp: Option<u8>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TUpval` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TInst` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) enum TInst {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TCmpOp` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub(crate) enum TCmpOp {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TCond` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub(crate) enum TCond {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceInst` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub(crate) struct TraceInst {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceIdentity` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:302:19
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub(crate) struct TraceIdentity {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceIr` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:314:19
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) struct TraceIr {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_reads_writes` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn inst_reads_writes(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_width` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn inst_width(insn: Instruction) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_table_read` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn inst_table_read(insn: Instruction) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Walk` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:440:8
[INFO] [stdout]     |
[INFO] [stdout] 440 | struct Walk<'k> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:480:6
[INFO] [stdout]     |
[INFO] [stdout] 476 | impl Walk<'_> {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 480 |   fn resolve(&mut self, slot: u8) -> Option<TVal> {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |   fn write_slot(&mut self, slot: u8, v: TVal) -> Option<()> {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 534 |   fn fresh_temp(&mut self) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |   fn intern_table(&mut self, slot: u8) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |   fn resolve_table(&mut self, slot: u8) -> Option<TableRef> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 573 |   fn intern_derived(&mut self, src: TableRef, index: TVal) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |   fn intern_const(&mut self, kidx: u32, v: f64) -> Option<usize> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |   fn k_number(&self, idx: u32) -> Option<f64> {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fc1_math_unary` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:616:4
[INFO] [stdout]     |
[INFO] [stdout] 616 | fn fc1_math_unary(bfid: u8) -> Option<TMathUnary> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_forn_trace` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:637:22
[INFO] [stdout]     |
[INFO] [stdout] 637 | pub(crate) unsafe fn record_forn_trace(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_generic` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1504:4
[INFO] [stdout]      |
[INFO] [stdout] 1504 | fn is_generic(w: &Walk<'_>, v: TVal) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upref_is_upval` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1515:11
[INFO] [stdout]      |
[INFO] [stdout] 1515 | unsafe fn upref_is_upval(cl: *mut Closure, b: u8) -> Option<bool> {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_body_eligible` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1531:15
[INFO] [stdout]      |
[INFO] [stdout] 1531 | pub(crate) fn forn_body_eligible(code: &[Instruction], fornprep_pc: u32, fornloop_pc: u32) -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arith_walk` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1560:4
[INFO] [stdout]      |
[INFO] [stdout] 1560 | fn arith_walk(w: &mut Walk<'_>, a: u8, b: u8, c: u8, op: TArith) -> Option<TInst> {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arith_walk_val` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1572:4
[INFO] [stdout]      |
[INFO] [stdout] 1572 | fn arith_walk_val(w: &mut Walk<'_>, a: u8, lhs: TVal, rhs: TVal, op: TArith) -> Option<TInst> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `math_fn_addr` is never used
[INFO] [stdout]   --> src/functions/trace_forn_math_addr.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn math_fn_addr(kind: TMathUnary) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_math_fn` is never used
[INFO] [stdout]   --> src/functions/trace_forn_math_addr.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) fn slot_math_fn(tv: &TValue) -> Option<TMathUnary> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_HEAT_THRESHOLD` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:77:18
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) const K_HEAT_THRESHOLD: u64 = 1000;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_REGISTRY_CAP` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) const K_REGISTRY_CAP: usize = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_BACKEDGE_CAP` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(crate) const K_BACKEDGE_CAP: usize = 128;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_TRACE_BLOCK_SIZE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const K_TRACE_BLOCK_SIZE: usize = 64 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct InstalledTrace {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |   code_start: *mut u8,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 107 |   /// 身份校验面（FORNPREP..=FORNLOOP 全指令字 + K 常量位型）
[INFO] [stdout] 108 |   words: Box<[u32]>,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 109 |   k_consts: Box<[(u32, u64)]>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 110 |   /// GETIMPORT 面：(dst 槽, k 下标) + 缓存位型（身份对账用）
[INFO] [stdout] 111 |   imports: Vec<(u8, u32)>,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 112 |   import_ids: Box<[(u32, u128)]>,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 113 |   /// math 内建守卫槽（入口复检槽值仍为对应 math 单参 C 函数）
[INFO] [stdout] 114 |   math_fn_guards: Vec<(u8, TMathUnary)>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   upvals: Vec<TUpval>,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 118 |   sizecode: u32,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 119 |   exit_pc: u32,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 120 |   /// FORN 三元组首槽 / 环不变 table 槽 / 不变 number 槽 / 累加器槽
[INFO] [stdout] 121 |   ra: u8,
[INFO] [stdout]     |   ^^
[INFO] [stdout] 122 |   tables: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 123 |   inv_nums: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 124 |   accs: Vec<u8>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |   step_one_only: bool,
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   phi_indexed: bool,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count`, `dead`, `eligible`, and `installed` are never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct FornLoopEntry {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 144 |   count: u64,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 145 |   /// 录制/生成/安装失败 → 永久放弃（防逐入口重试税）
[INFO] [stdout] 146 |   dead: bool,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   eligible: Option<bool>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 150 |   installed: Option<InstalledTrace>,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backedges` is never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:160:3
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub(crate) struct FornTraceRegistry {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 160 |   backedges: BTreeMap<(usize, u32), Box<u64>>,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exact_i32` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:173:4
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn exact_i32(v: f64) -> Option<i32> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Guard` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:183:6
[INFO] [stdout]     |
[INFO] [stdout] 183 | enum Guard {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_slot` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn frame_slot(l: &LuaState, s: u8) -> &TValue {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upref_slot` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn upref_slot(cl: &Closure, idx: u8) -> &TValue {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `entry_guard` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn entry_guard(l: &LuaState, e: &InstalledTrace, proto: &Proto) -> Guard {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_step` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:395:4
[INFO] [stdout]     |
[INFO] [stdout] 395 | fn read_step(l: &LuaState, ra: u8) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_enter_export` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:410:40
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub(crate) unsafe extern "C-unwind" fn forn_trace_enter_export(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_enter` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:423:11
[INFO] [stdout]     |
[INFO] [stdout] 423 | unsafe fn forn_trace_enter(l: *mut LuaState, proto: &Proto, pcpos: u32) -> bool {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arm_backedge_counter` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:586:4
[INFO] [stdout]     |
[INFO] [stdout] 586 | fn arm_backedge_counter(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_trace` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:621:11
[INFO] [stdout]     |
[INFO] [stdout] 621 | unsafe fn call_trace(code_start: *mut u8, l: *mut LuaState, proto: &Proto) -> u32 {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_backedge` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:648:40
[INFO] [stdout]     |
[INFO] [stdout] 648 | pub(crate) unsafe extern "C-unwind" fn forn_trace_backedge(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_and_install` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:737:11
[INFO] [stdout]     |
[INFO] [stdout] 737 | unsafe fn record_and_install(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 37.99s
[INFO] running `Command { std: "docker" "inspect" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: function `create_native_function_a_64` is never used
[INFO] [stdout]    --> src/functions/create_native_function.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) unsafe fn create_native_function_a_64(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_L` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const R_L: RegisterA64 = reg(KindA64::X, 0);
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_PROTO` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const R_PROTO: RegisterA64 = reg(KindA64::X, 1);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_RET` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const W_RET: RegisterA64 = reg(KindA64::W, 0);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_IDX_I` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const W_IDX_I: RegisterA64 = reg(KindA64::W, 1);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_BASE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const R_BASE: RegisterA64 = reg(KindA64::X, 2);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_CODE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 | const R_CODE: RegisterA64 = reg(KindA64::X, 3);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_SCRATCH` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const X_SCRATCH: RegisterA64 = reg(KindA64::X, 8);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_LOW_SCRATCH` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:89:7
[INFO] [stdout]    |
[INFO] [stdout] 89 | const W_LOW_SCRATCH: RegisterA64 = reg(KindA64::W, 8);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_TAG` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:90:7
[INFO] [stdout]    |
[INFO] [stdout] 90 | const W_TAG: RegisterA64 = reg(KindA64::W, 9);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_TAG_PTR` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:93:7
[INFO] [stdout]    |
[INFO] [stdout] 93 | const X_TAG_PTR: RegisterA64 = reg(KindA64::X, 9);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_PC` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const X_PC: RegisterA64 = reg(KindA64::X, 14);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_CI` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const X_CI: RegisterA64 = reg(KindA64::X, 15);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_KPOOL` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:98:7
[INFO] [stdout]    |
[INFO] [stdout] 98 | const X_KPOOL: RegisterA64 = reg(KindA64::X, 9);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_IMPORT` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const D_IMPORT: RegisterA64 = reg(KindA64::D, 20);
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_IDX` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const D_IDX: RegisterA64 = reg(KindA64::D, 0);
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_LIMIT` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 | const D_LIMIT: RegisterA64 = reg(KindA64::D, 1);
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_STEP` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | const D_STEP: RegisterA64 = reg(KindA64::D, 2);
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_MOD` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const D_MOD: RegisterA64 = reg(KindA64::D, 3);
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | const fn tbl(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl_size` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | const fn tbl_size(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVED_TABLE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const DERIVED_TABLE: RegisterA64 = reg(KindA64::X, 7);
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVED_SIZE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:122:7
[INFO] [stdout]     |
[INFO] [stdout] 122 | const DERIVED_SIZE: RegisterA64 = reg(KindA64::W, 13);
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `x_uv` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:127:10
[INFO] [stdout]     |
[INFO] [stdout] 127 | const fn x_uv(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_acc` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | const fn d_acc(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_inv` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 | const fn d_inv(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_const` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | const fn d_const(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_temp` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | const fn d_temp(t: u8) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_TVALUE_SIZE_LOG2` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | const K_TVALUE_SIZE_LOG2: i32 = 4;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_INSN_SIZE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | const K_INSN_SIZE: usize = size_of::<Instruction>();
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_value` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn slot_value(reg_index: u8) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_tag` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn slot_tag(reg_index: u8) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `materialize_double` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn materialize_double(b: &mut AssemblyBuilderA64, dst: RegisterA64, v: f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `val_reg` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn val_reg(v: TVal) -> RegisterA64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_regs` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn table_regs(t: TableRef) -> (RegisterA64, RegisterA64) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl_size_of` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn tbl_size_of(t: TableRef) -> RegisterA64 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_arith_op` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:197:4
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn emit_arith_op(b: &mut AssemblyBuilderA64, dst: RegisterA64, op: TArith, lhs: TVal, rhs: TVal) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_index_exact` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn emit_index_exact(b: &mut AssemblyBuilderA64, index: TVal, bail: &mut Label) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fma_folds` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn fma_folds(insts: &[TraceInst]) -> Vec<(u8, TVal, TVal)> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_of` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn other_of(lhs: TVal, rhs: TVal) -> Option<TVal> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_trace_a_64` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:324:15
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub(crate) fn emit_trace_a_64(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_idx_writeback` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:994:4
[INFO] [stdout]     |
[INFO] [stdout] 994 | fn emit_idx_writeback(b: &mut AssemblyBuilderA64, idx_slot: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_writebacks` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1009:4
[INFO] [stdout]      |
[INFO] [stdout] 1009 | fn emit_writebacks(b: &mut AssemblyBuilderA64, ir: &TraceIr, folded: &[u8]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_savedpc` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1027:4
[INFO] [stdout]      |
[INFO] [stdout] 1027 | fn emit_savedpc(b: &mut AssemblyBuilderA64, pcpos: u32) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_tag_guard_and_load` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1034:4
[INFO] [stdout]      |
[INFO] [stdout] 1034 | fn emit_tag_guard_and_load(b: &mut AssemblyBuilderA64, dst: RegisterA64, bail: &mut Label) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_store_value` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1043:4
[INFO] [stdout]      |
[INFO] [stdout] 1043 | fn emit_store_value(b: &mut AssemblyBuilderA64, value: RegisterA64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_dst_of` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1049:4
[INFO] [stdout]      |
[INFO] [stdout] 1049 | fn temp_dst_of(inst: TInst) -> u8 {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consumed_by` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1057:4
[INFO] [stdout]      |
[INFO] [stdout] 1057 | fn consumed_by(t: u8, lhs: TVal, rhs: TVal) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TRACE_INSTS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) const K_MAX_TRACE_INSTS: usize = 32;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TABLES` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) const K_MAX_TABLES: usize = 4;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_DERIVED` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) const K_MAX_DERIVED: usize = 1;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_INV_NUMS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:65:18
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) const K_MAX_INV_NUMS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_ACCS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) const K_MAX_ACCS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TEMPS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) const K_MAX_TEMPS: u8 = 12;
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_CONSTS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) const K_MAX_CONSTS: usize = 4;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_UPVALS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) const K_MAX_UPVALS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_LOADN_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) const K_LOADN_PLACEHOLDER: u32 = u32::MAX;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_NINDEX_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) const K_NINDEX_PLACEHOLDER: u32 = u32::MAX - 1;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TableRef` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) enum TableRef {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TVal` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) enum TVal {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TArith` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub(crate) enum TArith {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sqrt`, `Abs`, `Floor`, `Ceil`, and `Round` are never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) enum TMathUnary {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] 138 |   Sqrt,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 139 |   Abs,
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 140 |   Floor,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 141 |   Ceil,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 142 |   Round,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TMathUnary` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Num` and `Cfn` are never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum TUpvalKind {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 150 |   Num,
[INFO] [stdout]     |   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |   Cfn(TMathUnary),
[INFO] [stdout]     |   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TUpvalKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `idx`, `cell`, `mutated`, `kind`, and `inv_temp` are never read
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub(crate) struct TUpval {
[INFO] [stdout]     |                   ------ fields in this struct
[INFO] [stdout] 162 |   /// upref 下标（GETUPVAL/SETUPVAL 的 B 字，< nupvalues）
[INFO] [stdout] 163 |   pub idx: u8,
[INFO] [stdout]     |       ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |   pub cell: bool,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 169 |   /// 体含 SETUPVAL → cell 指针驻留 + 逐访问穿 cell；否则只读
[INFO] [stdout] 170 |   pub mutated: bool,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 171 |   pub kind: TUpvalKind,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 172 |   /// Num+只读：prologue 内联装载的保留临时（环内零代码，槽写走快照写回面）
[INFO] [stdout] 173 |   pub inv_temp: Option<u8>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TUpval` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TInst` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) enum TInst {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TCmpOp` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub(crate) enum TCmpOp {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TCond` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub(crate) enum TCond {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceInst` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub(crate) struct TraceInst {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceIdentity` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:302:19
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub(crate) struct TraceIdentity {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceIr` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:314:19
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) struct TraceIr {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling ulua-code-gen v0.1.7 (/opt/rustwide/workdir)
[INFO] [stdout] warning: function `inst_reads_writes` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn inst_reads_writes(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_width` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn inst_width(insn: Instruction) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_table_read` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn inst_table_read(insn: Instruction) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Walk` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:440:8
[INFO] [stdout]     |
[INFO] [stdout] 440 | struct Walk<'k> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:480:6
[INFO] [stdout]     |
[INFO] [stdout] 476 | impl Walk<'_> {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 480 |   fn resolve(&mut self, slot: u8) -> Option<TVal> {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |   fn write_slot(&mut self, slot: u8, v: TVal) -> Option<()> {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 534 |   fn fresh_temp(&mut self) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |   fn intern_table(&mut self, slot: u8) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |   fn resolve_table(&mut self, slot: u8) -> Option<TableRef> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 573 |   fn intern_derived(&mut self, src: TableRef, index: TVal) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |   fn intern_const(&mut self, kidx: u32, v: f64) -> Option<usize> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |   fn k_number(&self, idx: u32) -> Option<f64> {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fc1_math_unary` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:616:4
[INFO] [stdout]     |
[INFO] [stdout] 616 | fn fc1_math_unary(bfid: u8) -> Option<TMathUnary> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_forn_trace` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:637:22
[INFO] [stdout]     |
[INFO] [stdout] 637 | pub(crate) unsafe fn record_forn_trace(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_generic` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1504:4
[INFO] [stdout]      |
[INFO] [stdout] 1504 | fn is_generic(w: &Walk<'_>, v: TVal) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upref_is_upval` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1515:11
[INFO] [stdout]      |
[INFO] [stdout] 1515 | unsafe fn upref_is_upval(cl: *mut Closure, b: u8) -> Option<bool> {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_body_eligible` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1531:15
[INFO] [stdout]      |
[INFO] [stdout] 1531 | pub(crate) fn forn_body_eligible(code: &[Instruction], fornprep_pc: u32, fornloop_pc: u32) -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arith_walk` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1560:4
[INFO] [stdout]      |
[INFO] [stdout] 1560 | fn arith_walk(w: &mut Walk<'_>, a: u8, b: u8, c: u8, op: TArith) -> Option<TInst> {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arith_walk_val` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1572:4
[INFO] [stdout]      |
[INFO] [stdout] 1572 | fn arith_walk_val(w: &mut Walk<'_>, a: u8, lhs: TVal, rhs: TVal, op: TArith) -> Option<TInst> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `math_fn_addr` is never used
[INFO] [stdout]   --> src/functions/trace_forn_math_addr.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn math_fn_addr(kind: TMathUnary) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_math_fn` is never used
[INFO] [stdout]   --> src/functions/trace_forn_math_addr.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) fn slot_math_fn(tv: &TValue) -> Option<TMathUnary> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_HEAT_THRESHOLD` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:77:18
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) const K_HEAT_THRESHOLD: u64 = 1000;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_REGISTRY_CAP` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) const K_REGISTRY_CAP: usize = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_BACKEDGE_CAP` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(crate) const K_BACKEDGE_CAP: usize = 128;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_TRACE_BLOCK_SIZE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const K_TRACE_BLOCK_SIZE: usize = 64 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct InstalledTrace {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |   code_start: *mut u8,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 107 |   /// 身份校验面（FORNPREP..=FORNLOOP 全指令字 + K 常量位型）
[INFO] [stdout] 108 |   words: Box<[u32]>,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 109 |   k_consts: Box<[(u32, u64)]>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 110 |   /// GETIMPORT 面：(dst 槽, k 下标) + 缓存位型（身份对账用）
[INFO] [stdout] 111 |   imports: Vec<(u8, u32)>,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 112 |   import_ids: Box<[(u32, u128)]>,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 113 |   /// math 内建守卫槽（入口复检槽值仍为对应 math 单参 C 函数）
[INFO] [stdout] 114 |   math_fn_guards: Vec<(u8, TMathUnary)>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   upvals: Vec<TUpval>,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 118 |   sizecode: u32,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 119 |   exit_pc: u32,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 120 |   /// FORN 三元组首槽 / 环不变 table 槽 / 不变 number 槽 / 累加器槽
[INFO] [stdout] 121 |   ra: u8,
[INFO] [stdout]     |   ^^
[INFO] [stdout] 122 |   tables: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 123 |   inv_nums: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 124 |   accs: Vec<u8>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |   step_one_only: bool,
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   phi_indexed: bool,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count`, `dead`, `eligible`, and `installed` are never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct FornLoopEntry {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 144 |   count: u64,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 145 |   /// 录制/生成/安装失败 → 永久放弃（防逐入口重试税）
[INFO] [stdout] 146 |   dead: bool,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   eligible: Option<bool>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 150 |   installed: Option<InstalledTrace>,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backedges` is never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:160:3
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub(crate) struct FornTraceRegistry {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 160 |   backedges: BTreeMap<(usize, u32), Box<u64>>,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exact_i32` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:173:4
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn exact_i32(v: f64) -> Option<i32> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Guard` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:183:6
[INFO] [stdout]     |
[INFO] [stdout] 183 | enum Guard {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_slot` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn frame_slot(l: &LuaState, s: u8) -> &TValue {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upref_slot` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn upref_slot(cl: &Closure, idx: u8) -> &TValue {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `entry_guard` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn entry_guard(l: &LuaState, e: &InstalledTrace, proto: &Proto) -> Guard {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_step` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:395:4
[INFO] [stdout]     |
[INFO] [stdout] 395 | fn read_step(l: &LuaState, ra: u8) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_enter_export` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:410:40
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub(crate) unsafe extern "C-unwind" fn forn_trace_enter_export(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_enter` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:423:11
[INFO] [stdout]     |
[INFO] [stdout] 423 | unsafe fn forn_trace_enter(l: *mut LuaState, proto: &Proto, pcpos: u32) -> bool {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arm_backedge_counter` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:586:4
[INFO] [stdout]     |
[INFO] [stdout] 586 | fn arm_backedge_counter(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_trace` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:621:11
[INFO] [stdout]     |
[INFO] [stdout] 621 | unsafe fn call_trace(code_start: *mut u8, l: *mut LuaState, proto: &Proto) -> u32 {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_backedge` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:648:40
[INFO] [stdout]     |
[INFO] [stdout] 648 | pub(crate) unsafe extern "C-unwind" fn forn_trace_backedge(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_and_install` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:737:11
[INFO] [stdout]     |
[INFO] [stdout] 737 | unsafe fn record_and_install(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `ulua_ast` in this scope
[INFO] [stdout]  --> tests/x64_no_unbound_labels.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use ulua_ast::records::parse_options::ParseOptions;
[INFO] [stdout]   |     ^^^^^^^^ use of unresolved module or unlinked crate `ulua_ast`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `ulua_ast`, use `cargo add ulua_ast` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `ulua_bytecode` in this scope
[INFO] [stdout]  --> tests/x64_no_unbound_labels.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use ulua_bytecode::records::bytecode_encoder::NoopEncoder;
[INFO] [stdout]   |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ulua_bytecode`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `ulua_bytecode`, use `cargo add ulua_bytecode` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `ulua_compiler` in this scope
[INFO] [stdout]   --> tests/x64_no_unbound_labels.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ulua_compiler::{functions::compile::compile, records::compile_options::CompileOptions};
[INFO] [stdout]    |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ulua_compiler`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ulua_compiler`, use `cargo add ulua_compiler` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `ulua_ast` in this scope
[INFO] [stdout]   --> tests/x64_setmetatable_checked_lowering.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use ulua_ast::records::parse_options::ParseOptions;
[INFO] [stdout]    |     ^^^^^^^^ use of unresolved module or unlinked crate `ulua_ast`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ulua_ast`, use `cargo add ulua_ast` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `ulua_bytecode` in this scope
[INFO] [stdout]   --> tests/x64_setmetatable_checked_lowering.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use ulua_bytecode::records::bytecode_encoder::NoopEncoder;
[INFO] [stdout]    |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ulua_bytecode`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ulua_bytecode`, use `cargo add ulua_bytecode` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `ulua_compiler` in this scope
[INFO] [stdout]   --> tests/x64_setmetatable_checked_lowering.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | use ulua_compiler::{functions::compile::compile, records::compile_options::CompileOptions};
[INFO] [stdout]    |     ^^^^^^^^^^^^^ use of unresolved module or unlinked crate `ulua_compiler`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `ulua_compiler`, use `cargo add ulua_compiler` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ulua-code-gen` (test "x64_setmetatable_checked_lowering") due to 3 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ulua-code-gen` (test "x64_no_unbound_labels") due to 3 previous errors
[INFO] [stdout] warning: function `create_native_function_a_64` is never used
[INFO] [stdout]    --> src/functions/create_native_function.rs:116:22
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub(crate) unsafe fn create_native_function_a_64(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_L` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:81:7
[INFO] [stdout]    |
[INFO] [stdout] 81 | const R_L: RegisterA64 = reg(KindA64::X, 0);
[INFO] [stdout]    |       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_PROTO` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:82:7
[INFO] [stdout]    |
[INFO] [stdout] 82 | const R_PROTO: RegisterA64 = reg(KindA64::X, 1);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_RET` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const W_RET: RegisterA64 = reg(KindA64::W, 0);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_IDX_I` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:84:7
[INFO] [stdout]    |
[INFO] [stdout] 84 | const W_IDX_I: RegisterA64 = reg(KindA64::W, 1);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_BASE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:85:7
[INFO] [stdout]    |
[INFO] [stdout] 85 | const R_BASE: RegisterA64 = reg(KindA64::X, 2);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `R_CODE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:86:7
[INFO] [stdout]    |
[INFO] [stdout] 86 | const R_CODE: RegisterA64 = reg(KindA64::X, 3);
[INFO] [stdout]    |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_SCRATCH` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:87:7
[INFO] [stdout]    |
[INFO] [stdout] 87 | const X_SCRATCH: RegisterA64 = reg(KindA64::X, 8);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_LOW_SCRATCH` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:89:7
[INFO] [stdout]    |
[INFO] [stdout] 89 | const W_LOW_SCRATCH: RegisterA64 = reg(KindA64::W, 8);
[INFO] [stdout]    |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `W_TAG` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:90:7
[INFO] [stdout]    |
[INFO] [stdout] 90 | const W_TAG: RegisterA64 = reg(KindA64::W, 9);
[INFO] [stdout]    |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_TAG_PTR` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:93:7
[INFO] [stdout]    |
[INFO] [stdout] 93 | const X_TAG_PTR: RegisterA64 = reg(KindA64::X, 9);
[INFO] [stdout]    |       ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_PC` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:94:7
[INFO] [stdout]    |
[INFO] [stdout] 94 | const X_PC: RegisterA64 = reg(KindA64::X, 14);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_CI` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:95:7
[INFO] [stdout]    |
[INFO] [stdout] 95 | const X_CI: RegisterA64 = reg(KindA64::X, 15);
[INFO] [stdout]    |       ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `X_KPOOL` is never used
[INFO] [stdout]   --> src/functions/trace_forn_codegen_a_64.rs:98:7
[INFO] [stdout]    |
[INFO] [stdout] 98 | const X_KPOOL: RegisterA64 = reg(KindA64::X, 9);
[INFO] [stdout]    |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_IMPORT` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:100:7
[INFO] [stdout]     |
[INFO] [stdout] 100 | const D_IMPORT: RegisterA64 = reg(KindA64::D, 20);
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_IDX` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:101:7
[INFO] [stdout]     |
[INFO] [stdout] 101 | const D_IDX: RegisterA64 = reg(KindA64::D, 0);
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_LIMIT` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:102:7
[INFO] [stdout]     |
[INFO] [stdout] 102 | const D_LIMIT: RegisterA64 = reg(KindA64::D, 1);
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_STEP` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:105:7
[INFO] [stdout]     |
[INFO] [stdout] 105 | const D_STEP: RegisterA64 = reg(KindA64::D, 2);
[INFO] [stdout]     |       ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `D_MOD` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:109:7
[INFO] [stdout]     |
[INFO] [stdout] 109 | const D_MOD: RegisterA64 = reg(KindA64::D, 3);
[INFO] [stdout]     |       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:111:10
[INFO] [stdout]     |
[INFO] [stdout] 111 | const fn tbl(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl_size` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:114:10
[INFO] [stdout]     |
[INFO] [stdout] 114 | const fn tbl_size(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVED_TABLE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:121:7
[INFO] [stdout]     |
[INFO] [stdout] 121 | const DERIVED_TABLE: RegisterA64 = reg(KindA64::X, 7);
[INFO] [stdout]     |       ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `DERIVED_SIZE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:122:7
[INFO] [stdout]     |
[INFO] [stdout] 122 | const DERIVED_SIZE: RegisterA64 = reg(KindA64::W, 13);
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `x_uv` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:127:10
[INFO] [stdout]     |
[INFO] [stdout] 127 | const fn x_uv(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_acc` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:130:10
[INFO] [stdout]     |
[INFO] [stdout] 130 | const fn d_acc(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_inv` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:133:10
[INFO] [stdout]     |
[INFO] [stdout] 133 | const fn d_inv(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_const` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | const fn d_const(i: usize) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `d_temp` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:139:10
[INFO] [stdout]     |
[INFO] [stdout] 139 | const fn d_temp(t: u8) -> RegisterA64 {
[INFO] [stdout]     |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_TVALUE_SIZE_LOG2` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:145:7
[INFO] [stdout]     |
[INFO] [stdout] 145 | const K_TVALUE_SIZE_LOG2: i32 = 4;
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_INSN_SIZE` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:146:7
[INFO] [stdout]     |
[INFO] [stdout] 146 | const K_INSN_SIZE: usize = size_of::<Instruction>();
[INFO] [stdout]     |       ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_value` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:148:4
[INFO] [stdout]     |
[INFO] [stdout] 148 | fn slot_value(reg_index: u8) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_tag` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:152:4
[INFO] [stdout]     |
[INFO] [stdout] 152 | fn slot_tag(reg_index: u8) -> i32 {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `materialize_double` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:159:4
[INFO] [stdout]     |
[INFO] [stdout] 159 | fn materialize_double(b: &mut AssemblyBuilderA64, dst: RegisterA64, v: f64) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `val_reg` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:170:4
[INFO] [stdout]     |
[INFO] [stdout] 170 | fn val_reg(v: TVal) -> RegisterA64 {
[INFO] [stdout]     |    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_regs` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:184:4
[INFO] [stdout]     |
[INFO] [stdout] 184 | fn table_regs(t: TableRef) -> (RegisterA64, RegisterA64) {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tbl_size_of` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:192:4
[INFO] [stdout]     |
[INFO] [stdout] 192 | fn tbl_size_of(t: TableRef) -> RegisterA64 {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_arith_op` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:197:4
[INFO] [stdout]     |
[INFO] [stdout] 197 | fn emit_arith_op(b: &mut AssemblyBuilderA64, dst: RegisterA64, op: TArith, lhs: TVal, rhs: TVal) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_index_exact` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn emit_index_exact(b: &mut AssemblyBuilderA64, index: TVal, bail: &mut Label) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fma_folds` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:230:4
[INFO] [stdout]     |
[INFO] [stdout] 230 | fn fma_folds(insts: &[TraceInst]) -> Vec<(u8, TVal, TVal)> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `other_of` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:311:4
[INFO] [stdout]     |
[INFO] [stdout] 311 | fn other_of(lhs: TVal, rhs: TVal) -> Option<TVal> {
[INFO] [stdout]     |    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_trace_a_64` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:324:15
[INFO] [stdout]     |
[INFO] [stdout] 324 | pub(crate) fn emit_trace_a_64(
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_idx_writeback` is never used
[INFO] [stdout]    --> src/functions/trace_forn_codegen_a_64.rs:994:4
[INFO] [stdout]     |
[INFO] [stdout] 994 | fn emit_idx_writeback(b: &mut AssemblyBuilderA64, idx_slot: u8) {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_writebacks` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1009:4
[INFO] [stdout]      |
[INFO] [stdout] 1009 | fn emit_writebacks(b: &mut AssemblyBuilderA64, ir: &TraceIr, folded: &[u8]) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_savedpc` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1027:4
[INFO] [stdout]      |
[INFO] [stdout] 1027 | fn emit_savedpc(b: &mut AssemblyBuilderA64, pcpos: u32) {
[INFO] [stdout]      |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_tag_guard_and_load` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1034:4
[INFO] [stdout]      |
[INFO] [stdout] 1034 | fn emit_tag_guard_and_load(b: &mut AssemblyBuilderA64, dst: RegisterA64, bail: &mut Label) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `emit_store_value` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1043:4
[INFO] [stdout]      |
[INFO] [stdout] 1043 | fn emit_store_value(b: &mut AssemblyBuilderA64, value: RegisterA64) {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `temp_dst_of` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1049:4
[INFO] [stdout]      |
[INFO] [stdout] 1049 | fn temp_dst_of(inst: TInst) -> u8 {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `consumed_by` is never used
[INFO] [stdout]     --> src/functions/trace_forn_codegen_a_64.rs:1057:4
[INFO] [stdout]      |
[INFO] [stdout] 1057 | fn consumed_by(t: u8, lhs: TVal, rhs: TVal) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TRACE_INSTS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:58:18
[INFO] [stdout]    |
[INFO] [stdout] 58 | pub(crate) const K_MAX_TRACE_INSTS: usize = 32;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TABLES` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:61:18
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub(crate) const K_MAX_TABLES: usize = 4;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_DERIVED` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:63:18
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub(crate) const K_MAX_DERIVED: usize = 1;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_INV_NUMS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:65:18
[INFO] [stdout]    |
[INFO] [stdout] 65 | pub(crate) const K_MAX_INV_NUMS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_ACCS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:67:18
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub(crate) const K_MAX_ACCS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_TEMPS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub(crate) const K_MAX_TEMPS: u8 = 12;
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_CONSTS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:73:18
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub(crate) const K_MAX_CONSTS: usize = 4;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_MAX_UPVALS` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub(crate) const K_MAX_UPVALS: usize = 2;
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_LOADN_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:78:18
[INFO] [stdout]    |
[INFO] [stdout] 78 | pub(crate) const K_LOADN_PLACEHOLDER: u32 = u32::MAX;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_NINDEX_PLACEHOLDER` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub(crate) const K_NINDEX_PLACEHOLDER: u32 = u32::MAX - 1;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TableRef` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:84:17
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub(crate) enum TableRef {
[INFO] [stdout]    |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TVal` is never used
[INFO] [stdout]   --> src/functions/trace_forn_ir.rs:94:17
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub(crate) enum TVal {
[INFO] [stdout]    |                 ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TArith` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:112:17
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub(crate) enum TArith {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Sqrt`, `Abs`, `Floor`, `Ceil`, and `Round` are never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:138:3
[INFO] [stdout]     |
[INFO] [stdout] 137 | pub(crate) enum TMathUnary {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] 138 |   Sqrt,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 139 |   Abs,
[INFO] [stdout]     |   ^^^
[INFO] [stdout] 140 |   Floor,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 141 |   Ceil,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] 142 |   Round,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TMathUnary` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Num` and `Cfn` are never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:150:3
[INFO] [stdout]     |
[INFO] [stdout] 147 | pub(crate) enum TUpvalKind {
[INFO] [stdout]     |                 ---------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 150 |   Num,
[INFO] [stdout]     |   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |   Cfn(TMathUnary),
[INFO] [stdout]     |   ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TUpvalKind` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `idx`, `cell`, `mutated`, `kind`, and `inv_temp` are never read
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:163:7
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub(crate) struct TUpval {
[INFO] [stdout]     |                   ------ fields in this struct
[INFO] [stdout] 162 |   /// upref 下标（GETUPVAL/SETUPVAL 的 B 字，< nupvalues）
[INFO] [stdout] 163 |   pub idx: u8,
[INFO] [stdout]     |       ^^^
[INFO] [stdout] ...
[INFO] [stdout] 168 |   pub cell: bool,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 169 |   /// 体含 SETUPVAL → cell 指针驻留 + 逐访问穿 cell；否则只读
[INFO] [stdout] 170 |   pub mutated: bool,
[INFO] [stdout]     |       ^^^^^^^
[INFO] [stdout] 171 |   pub kind: TUpvalKind,
[INFO] [stdout]     |       ^^^^
[INFO] [stdout] 172 |   /// Num+只读：prologue 内联装载的保留临时（环内零代码，槽写走快照写回面）
[INFO] [stdout] 173 |   pub inv_temp: Option<u8>,
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TUpval` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TInst` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:178:17
[INFO] [stdout]     |
[INFO] [stdout] 178 | pub(crate) enum TInst {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TCmpOp` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:265:17
[INFO] [stdout]     |
[INFO] [stdout] 265 | pub(crate) enum TCmpOp {
[INFO] [stdout]     |                 ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `TCond` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:273:17
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub(crate) enum TCond {
[INFO] [stdout]     |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceInst` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:293:19
[INFO] [stdout]     |
[INFO] [stdout] 293 | pub(crate) struct TraceInst {
[INFO] [stdout]     |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceIdentity` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:302:19
[INFO] [stdout]     |
[INFO] [stdout] 302 | pub(crate) struct TraceIdentity {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TraceIr` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:314:19
[INFO] [stdout]     |
[INFO] [stdout] 314 | pub(crate) struct TraceIr {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_reads_writes` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:347:4
[INFO] [stdout]     |
[INFO] [stdout] 347 | fn inst_reads_writes(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_width` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:414:4
[INFO] [stdout]     |
[INFO] [stdout] 414 | fn inst_width(insn: Instruction) -> u32 {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `inst_table_read` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:430:4
[INFO] [stdout]     |
[INFO] [stdout] 430 | fn inst_table_read(insn: Instruction) -> Option<u8> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Walk` is never constructed
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:440:8
[INFO] [stdout]     |
[INFO] [stdout] 440 | struct Walk<'k> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:480:6
[INFO] [stdout]     |
[INFO] [stdout] 476 | impl Walk<'_> {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 480 |   fn resolve(&mut self, slot: u8) -> Option<TVal> {
[INFO] [stdout]     |      ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 513 |   fn write_slot(&mut self, slot: u8, v: TVal) -> Option<()> {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 534 |   fn fresh_temp(&mut self) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 545 |   fn intern_table(&mut self, slot: u8) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 565 |   fn resolve_table(&mut self, slot: u8) -> Option<TableRef> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 573 |   fn intern_derived(&mut self, src: TableRef, index: TVal) -> Option<u8> {
[INFO] [stdout]     |      ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |   fn intern_const(&mut self, kidx: u32, v: f64) -> Option<usize> {
[INFO] [stdout]     |      ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 602 |   fn k_number(&self, idx: u32) -> Option<f64> {
[INFO] [stdout]     |      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `fc1_math_unary` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:616:4
[INFO] [stdout]     |
[INFO] [stdout] 616 | fn fc1_math_unary(bfid: u8) -> Option<TMathUnary> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_forn_trace` is never used
[INFO] [stdout]    --> src/functions/trace_forn_ir.rs:637:22
[INFO] [stdout]     |
[INFO] [stdout] 637 | pub(crate) unsafe fn record_forn_trace(
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_generic` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1504:4
[INFO] [stdout]      |
[INFO] [stdout] 1504 | fn is_generic(w: &Walk<'_>, v: TVal) -> bool {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upref_is_upval` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1515:11
[INFO] [stdout]      |
[INFO] [stdout] 1515 | unsafe fn upref_is_upval(cl: *mut Closure, b: u8) -> Option<bool> {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_body_eligible` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1531:15
[INFO] [stdout]      |
[INFO] [stdout] 1531 | pub(crate) fn forn_body_eligible(code: &[Instruction], fornprep_pc: u32, fornloop_pc: u32) -> bool {
[INFO] [stdout]      |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arith_walk` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1560:4
[INFO] [stdout]      |
[INFO] [stdout] 1560 | fn arith_walk(w: &mut Walk<'_>, a: u8, b: u8, c: u8, op: TArith) -> Option<TInst> {
[INFO] [stdout]      |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arith_walk_val` is never used
[INFO] [stdout]     --> src/functions/trace_forn_ir.rs:1572:4
[INFO] [stdout]      |
[INFO] [stdout] 1572 | fn arith_walk_val(w: &mut Walk<'_>, a: u8, lhs: TVal, rhs: TVal, op: TArith) -> Option<TInst> {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `math_fn_addr` is never used
[INFO] [stdout]   --> src/functions/trace_forn_math_addr.rs:21:4
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn math_fn_addr(kind: TMathUnary) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `slot_math_fn` is never used
[INFO] [stdout]   --> src/functions/trace_forn_math_addr.rs:37:15
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub(crate) fn slot_math_fn(tv: &TValue) -> Option<TMathUnary> {
[INFO] [stdout]    |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_HEAT_THRESHOLD` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:77:18
[INFO] [stdout]    |
[INFO] [stdout] 77 | pub(crate) const K_HEAT_THRESHOLD: u64 = 1000;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_REGISTRY_CAP` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:79:18
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub(crate) const K_REGISTRY_CAP: usize = 64;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_BACKEDGE_CAP` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:81:18
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub(crate) const K_BACKEDGE_CAP: usize = 128;
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `K_TRACE_BLOCK_SIZE` is never used
[INFO] [stdout]   --> src/functions/trace_forn_registry.rs:83:7
[INFO] [stdout]    |
[INFO] [stdout] 83 | const K_TRACE_BLOCK_SIZE: usize = 64 * 1024;
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:106:3
[INFO] [stdout]     |
[INFO] [stdout] 102 | struct InstalledTrace {
[INFO] [stdout]     |        -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 106 |   code_start: *mut u8,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 107 |   /// 身份校验面（FORNPREP..=FORNLOOP 全指令字 + K 常量位型）
[INFO] [stdout] 108 |   words: Box<[u32]>,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 109 |   k_consts: Box<[(u32, u64)]>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 110 |   /// GETIMPORT 面：(dst 槽, k 下标) + 缓存位型（身份对账用）
[INFO] [stdout] 111 |   imports: Vec<(u8, u32)>,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 112 |   import_ids: Box<[(u32, u128)]>,
[INFO] [stdout]     |   ^^^^^^^^^^
[INFO] [stdout] 113 |   /// math 内建守卫槽（入口复检槽值仍为对应 math 单参 C 函数）
[INFO] [stdout] 114 |   math_fn_guards: Vec<(u8, TMathUnary)>,
[INFO] [stdout]     |   ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |   upvals: Vec<TUpval>,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 118 |   sizecode: u32,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 119 |   exit_pc: u32,
[INFO] [stdout]     |   ^^^^^^^
[INFO] [stdout] 120 |   /// FORN 三元组首槽 / 环不变 table 槽 / 不变 number 槽 / 累加器槽
[INFO] [stdout] 121 |   ra: u8,
[INFO] [stdout]     |   ^^
[INFO] [stdout] 122 |   tables: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^
[INFO] [stdout] 123 |   inv_nums: Vec<u8>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 124 |   accs: Vec<u8>,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |   step_one_only: bool,
[INFO] [stdout]     |   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |   phi_indexed: bool,
[INFO] [stdout]     |   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `count`, `dead`, `eligible`, and `installed` are never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:144:3
[INFO] [stdout]     |
[INFO] [stdout] 143 | struct FornLoopEntry {
[INFO] [stdout]     |        ------------- fields in this struct
[INFO] [stdout] 144 |   count: u64,
[INFO] [stdout]     |   ^^^^^
[INFO] [stdout] 145 |   /// 录制/生成/安装失败 → 永久放弃（防逐入口重试税）
[INFO] [stdout] 146 |   dead: bool,
[INFO] [stdout]     |   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |   eligible: Option<bool>,
[INFO] [stdout]     |   ^^^^^^^^
[INFO] [stdout] 150 |   installed: Option<InstalledTrace>,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `backedges` is never read
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:160:3
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub(crate) struct FornTraceRegistry {
[INFO] [stdout]     |                   ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 160 |   backedges: BTreeMap<(usize, u32), Box<u64>>,
[INFO] [stdout]     |   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `exact_i32` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:173:4
[INFO] [stdout]     |
[INFO] [stdout] 173 | fn exact_i32(v: f64) -> Option<i32> {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Guard` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:183:6
[INFO] [stdout]     |
[INFO] [stdout] 183 | enum Guard {
[INFO] [stdout]     |      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `frame_slot` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:195:4
[INFO] [stdout]     |
[INFO] [stdout] 195 | fn frame_slot(l: &LuaState, s: u8) -> &TValue {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `upref_slot` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn upref_slot(cl: &Closure, idx: u8) -> &TValue {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `entry_guard` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:218:4
[INFO] [stdout]     |
[INFO] [stdout] 218 | fn entry_guard(l: &LuaState, e: &InstalledTrace, proto: &Proto) -> Guard {
[INFO] [stdout]     |    ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_step` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:395:4
[INFO] [stdout]     |
[INFO] [stdout] 395 | fn read_step(l: &LuaState, ra: u8) -> f64 {
[INFO] [stdout]     |    ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_enter_export` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:410:40
[INFO] [stdout]     |
[INFO] [stdout] 410 | pub(crate) unsafe extern "C-unwind" fn forn_trace_enter_export(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_enter` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:423:11
[INFO] [stdout]     |
[INFO] [stdout] 423 | unsafe fn forn_trace_enter(l: *mut LuaState, proto: &Proto, pcpos: u32) -> bool {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `arm_backedge_counter` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:586:4
[INFO] [stdout]     |
[INFO] [stdout] 586 | fn arm_backedge_counter(
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `call_trace` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:621:11
[INFO] [stdout]     |
[INFO] [stdout] 621 | unsafe fn call_trace(code_start: *mut u8, l: *mut LuaState, proto: &Proto) -> u32 {
[INFO] [stdout]     |           ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `forn_trace_backedge` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:648:40
[INFO] [stdout]     |
[INFO] [stdout] 648 | pub(crate) unsafe extern "C-unwind" fn forn_trace_backedge(
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_and_install` is never used
[INFO] [stdout]    --> src/functions/trace_forn_registry.rs:737:11
[INFO] [stdout]     |
[INFO] [stdout] 737 | unsafe fn record_and_install(
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388", kill_on_drop: false }`
[INFO] [stdout] 3a7b98f398bf62123c53937dde1a619fd8256abda12bd8b35bdcc3a41823f388
