[INFO] cloning repository https://github.com/Pctg-x8/cloth-shader-lang
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Pctg-x8/cloth-shader-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPctg-x8%2Fcloth-shader-lang", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPctg-x8%2Fcloth-shader-lang'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d1907b66cfaa9e8db12a20f741bd5b3d24f8c1a8
[INFO] checking Pctg-x8/cloth-shader-lang against try#fa4dd1f19bfeb3fd235dc7f1406c42404436bef5 for pr-145108-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FPctg-x8%2Fcloth-shader-lang" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Pctg-x8/cloth-shader-lang
[INFO] finished tweaking git repo https://github.com/Pctg-x8/cloth-shader-lang
[INFO] tweaked toml for git repo https://github.com/Pctg-x8/cloth-shader-lang written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Pctg-x8/cloth-shader-lang on toolchain fa4dd1f19bfeb3fd235dc7f1406c42404436bef5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Pctg-x8/cloth-shader-lang 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" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.6
[INFO] [stderr]   Downloaded similar v2.6.0
[INFO] [stderr]   Downloaded clap_derive v4.5.18
[INFO] [stderr]   Downloaded clap v4.5.23
[INFO] [stderr]   Downloaded clap_builder v4.5.23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 8e67bc49ec4b6013e4c014fe864fd62d3c3c6cd55cd8753925c700edec72474f
[INFO] running `Command { std: "docker" "start" "-a" "8e67bc49ec4b6013e4c014fe864fd62d3c3c6cd55cd8753925c700edec72474f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "8e67bc49ec4b6013e4c014fe864fd62d3c3c6cd55cd8753925c700edec72474f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8e67bc49ec4b6013e4c014fe864fd62d3c3c6cd55cd8753925c700edec72474f", kill_on_drop: false }`
[INFO] [stdout] 8e67bc49ec4b6013e4c014fe864fd62d3c3c6cd55cd8753925c700edec72474f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+fa4dd1f19bfeb3fd235dc7f1406c42404436bef5" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b6948bc10ebff2c053dd01e9df9979683fbb6538a73fc28eab658549a6002513
[INFO] running `Command { std: "docker" "start" "-a" "b6948bc10ebff2c053dd01e9df9979683fbb6538a73fc28eab658549a6002513", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-ident v1.0.14
[INFO] [stderr]     Checking colorchoice v1.0.3
[INFO] [stderr]     Checking anstyle-query v1.1.2
[INFO] [stderr]     Checking anstyle v1.0.10
[INFO] [stderr]     Checking anstyle-parse v0.2.6
[INFO] [stderr]     Checking clap_lex v0.7.4
[INFO] [stderr]     Checking bitflags v2.6.0
[INFO] [stderr]     Checking similar v2.6.0
[INFO] [stderr]     Checking anstream v0.6.18
[INFO] [stderr]     Checking clap_builder v4.5.23
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling syn v2.0.90
[INFO] [stderr]    Compiling clap_derive v4.5.18
[INFO] [stderr]     Checking clap v4.5.23
[INFO] [stderr]     Checking cloth-shader-lang v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/main.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockPureInstruction`, `BlockRef`, `Constants`, `ImpureInstructionMap`, `PureInstructions`, `collect_block_incomings`, and `parse_incoming_flows`
[INFO] [stdout]   --> src/main.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |         dump_blocks, dump_registers, parse_incoming_flows, Block, BlockFlowInstruction,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |         BlockGenerationContext, BlockInstructionEmissionContext, BlockPureInstruction, BlockRef,
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 13 |         BlockifiedProgram, Constants, ImpureInstructionMap, PureInstructions, RegisterRef,
[INFO] [stdout]    |                            ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         collect_block_incomings, collect_block_local_memory_stores, deconstruct_effectless_phi,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ref_path::RefPath`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use ref_path::RefPath;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `typed_arena::Arena`
[INFO] [stdout]  --> src/ir/expr.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use typed_arena::Arena;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PtrEq`, `SourceRefSliceEq`, `VarId`, `ref_path::RefPath`, and `symbol::IntrinsicFunctionSymbol`
[INFO] [stdout]   --> src/ir/expr.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ref_path::RefPath,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     scope::{SymbolScope, VarId, VarLookupResult},
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 15 |     source_ref::{SourceRef, SourceRefSliceEq},
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     symbol::IntrinsicFunctionSymbol,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     utils::{swizzle_indices, PtrEq},
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Constants`, `ImpureInstructionMap`, and `PureInstructions`
[INFO] [stdout]  --> src/ir/opt/const.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |             Block, BlockConstInstruction, BlockPureInstruction, BlockifiedProgram, Constants,
[INFO] [stdout]   |             ^^^^^                                                                  ^^^^^^^^^
[INFO] [stdout] 8 |             ImpureInstructionMap, IntrinsicBinaryOperation, PureInstructions, RegisterAliasMap,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntrinsicType` and `IntrinsicUnaryOperation`
[INFO] [stdout]  --> src/ir/opt.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 |     concrete_type::{ConcreteType, IntrinsicType, RefStorageClass},
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     ir::block::{BlockFlowInstruction, IntrinsicUnaryOperation},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constants`, `ImpureInstructionMap`, and `PureInstructions`
[INFO] [stdout]   --> src/ir/opt.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     BlockifiedProgram, Constants, ImpureInstructionMap, PureInstructions, RegisterAliasMap,
[INFO] [stdout]    |                        ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstIntLiteral` and `ConstNumberLiteral`
[INFO] [stdout]  --> src/ir2.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ir::{ConstIntLiteral, ConstNumberLiteral};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::spirv as spv`
[INFO] [stdout]  --> src/ir2.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::spirv as spv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExprRef`
[INFO] [stdout]  --> src/scope.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ir::{ExprRef, FunctionBody},
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::ExprRef`
[INFO] [stdout]  --> src/symbol.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ir::ExprRef,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/main.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet},
[INFO] [stdout]   |                   ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BlockPureInstruction`, `BlockRef`, `Constants`, `ImpureInstructionMap`, `PureInstructions`, `collect_block_incomings`, and `parse_incoming_flows`
[INFO] [stdout]   --> src/main.rs:11:38
[INFO] [stdout]    |
[INFO] [stdout] 11 |         dump_blocks, dump_registers, parse_incoming_flows, Block, BlockFlowInstruction,
[INFO] [stdout]    |                                      ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 12 |         BlockGenerationContext, BlockInstructionEmissionContext, BlockPureInstruction, BlockRef,
[INFO] [stdout]    |                                                                  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 13 |         BlockifiedProgram, Constants, ImpureInstructionMap, PureInstructions, RegisterRef,
[INFO] [stdout]    |                            ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |         collect_block_incomings, collect_block_local_memory_stores, deconstruct_effectless_phi,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ref_path::RefPath`
[INFO] [stdout]   --> src/main.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use ref_path::RefPath;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `typed_arena::Arena`
[INFO] [stdout]  --> src/ir/expr.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use typed_arena::Arena;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PtrEq`, `SourceRefSliceEq`, `VarId`, `ref_path::RefPath`, and `symbol::IntrinsicFunctionSymbol`
[INFO] [stdout]   --> src/ir/expr.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     ref_path::RefPath,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     scope::{SymbolScope, VarId, VarLookupResult},
[INFO] [stdout]    |                          ^^^^^
[INFO] [stdout] 15 |     source_ref::{SourceRef, SourceRefSliceEq},
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 16 |     symbol::IntrinsicFunctionSymbol,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     utils::{swizzle_indices, PtrEq},
[INFO] [stdout]    |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Block`, `Constants`, `ImpureInstructionMap`, and `PureInstructions`
[INFO] [stdout]  --> src/ir/opt/const.rs:7:13
[INFO] [stdout]   |
[INFO] [stdout] 7 |             Block, BlockConstInstruction, BlockPureInstruction, BlockifiedProgram, Constants,
[INFO] [stdout]   |             ^^^^^                                                                  ^^^^^^^^^
[INFO] [stdout] 8 |             ImpureInstructionMap, IntrinsicBinaryOperation, PureInstructions, RegisterAliasMap,
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^                            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `IntrinsicType` and `IntrinsicUnaryOperation`
[INFO] [stdout]  --> src/ir/opt.rs:6:35
[INFO] [stdout]   |
[INFO] [stdout] 6 |     concrete_type::{ConcreteType, IntrinsicType, RefStorageClass},
[INFO] [stdout]   |                                   ^^^^^^^^^^^^^
[INFO] [stdout] 7 |     ir::block::{BlockFlowInstruction, IntrinsicUnaryOperation},
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Constants`, `ImpureInstructionMap`, and `PureInstructions`
[INFO] [stdout]   --> src/ir/opt.rs:21:24
[INFO] [stdout]    |
[INFO] [stdout] 21 |     BlockifiedProgram, Constants, ImpureInstructionMap, PureInstructions, RegisterAliasMap,
[INFO] [stdout]    |                        ^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ConstIntLiteral` and `ConstNumberLiteral`
[INFO] [stdout]  --> src/ir2.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::ir::{ConstIntLiteral, ConstNumberLiteral};
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::spirv as spv`
[INFO] [stdout]  --> src/ir2.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::spirv as spv;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ExprRef`
[INFO] [stdout]  --> src/scope.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 |     ir::{ExprRef, FunctionBody},
[INFO] [stdout]   |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ir::ExprRef`
[INFO] [stdout]  --> src/symbol.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 |     ir::ExprRef,
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/const_expr.rs:568:28
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 Self::SInt(r) => None,
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/const_expr.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 |                 Self::UnknownInt(r) => None,
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/const_expr.rs:568:28
[INFO] [stdout]     |
[INFO] [stdout] 568 |                 Self::SInt(r) => None,
[INFO] [stdout]     |                            ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `r`
[INFO] [stdout]    --> src/const_expr.rs:571:34
[INFO] [stdout]     |
[INFO] [stdout] 571 |                 Self::UnknownInt(r) => None,
[INFO] [stdout]     |                                  ^ help: if this is intentional, prefix it with an underscore: `_r`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `generic_args`
[INFO] [stdout]    --> src/ir/expr.rs:534:21
[INFO] [stdout]     |
[INFO] [stdout] 534 |                     ref generic_args,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: try ignoring the field: `generic_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `generic_args`
[INFO] [stdout]    --> src/ir/expr.rs:534:21
[INFO] [stdout]     |
[INFO] [stdout] 534 |                     ref generic_args,
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^ help: try ignoring the field: `generic_args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/ir2.rs:951:17
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 ref args,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/ir2.rs:952:17
[INFO] [stdout]     |
[INFO] [stdout] 952 |                 result,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after_return`
[INFO] [stdout]    --> src/ir2.rs:953:17
[INFO] [stdout]     |
[INFO] [stdout] 953 |                 after_return,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `after_return: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `optimized_entry_points`
[INFO] [stdout]     --> src/main.rs:1263:9
[INFO] [stdout]      |
[INFO] [stdout] 1263 |     let optimized_entry_points = entry_points
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optimized_entry_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ep`
[INFO] [stdout]     --> src/main.rs:1410:5
[INFO] [stdout]      |
[INFO] [stdout] 1410 |     ep: &ShaderEntryPointDescription,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_ep`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope_arena`
[INFO] [stdout]     --> src/main.rs:1413:5
[INFO] [stdout]      |
[INFO] [stdout] 1413 |     scope_arena: &'a Arena<SymbolScope<'a, 's>>,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scope_arena`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/ir2.rs:951:17
[INFO] [stdout]     |
[INFO] [stdout] 951 |                 ref args,
[INFO] [stdout]     |                 ^^^^^^^^ help: try ignoring the field: `args: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> src/ir2.rs:952:17
[INFO] [stdout]     |
[INFO] [stdout] 952 |                 result,
[INFO] [stdout]     |                 ^^^^^^ help: try ignoring the field: `result: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `after_return`
[INFO] [stdout]    --> src/ir2.rs:953:17
[INFO] [stdout]     |
[INFO] [stdout] 953 |                 after_return,
[INFO] [stdout]     |                 ^^^^^^^^^^^^ help: try ignoring the field: `after_return: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `module_header` is never used
[INFO] [stdout]     --> src/main.rs:1378:10
[INFO] [stdout]      |
[INFO] [stdout] 1378 | const fn module_header(bound: spv::Id) -> spv::BinaryModuleHeader {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `make_instruction` and `make_member_instruction` are never used
[INFO] [stdout]   --> src/spirv.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Decorate {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 25 |     pub fn make_instruction<IdType>(&self, target: IdType) -> Instruction<IdType> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn make_member_instruction<IdType>(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `True`, `False`, `Composite`, `Sampler`, `Null`, and `Undef` are never constructed
[INFO] [stdout]    --> src/spirv.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub enum Constant {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 141 |     True {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     False {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     Composite {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     Sampler {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     Null {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     Undef {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Constant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `i32vec2` is never used
[INFO] [stdout]    --> src/spirv.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl Constant {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 169 |     #[inline]
[INFO] [stdout] 170 |     pub fn i32vec2(x: i32, y: i32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Id` is never used
[INFO] [stdout]    --> src/spirv.rs:202:10
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub type Id = u32;
[INFO] [stdout]     |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]    --> src/spirv.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub enum Instruction<IdType = Id> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `relocate` is never used
[INFO] [stdout]    --> src/spirv.rs:751:12
[INFO] [stdout]     |
[INFO] [stdout] 750 | impl<IdType> Instruction<IdType> {
[INFO] [stdout]     | -------------------------------- method in this implementation
[INFO] [stdout] 751 |     pub fn relocate<IdType2>(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `opcode` and `serialize_binary` are never used
[INFO] [stdout]     --> src/spirv.rs:1719:14
[INFO] [stdout]      |
[INFO] [stdout] 1717 | impl Instruction<Id> {
[INFO] [stdout]      | -------------------- associated items in this implementation
[INFO] [stdout] 1718 |     #[inline(always)]
[INFO] [stdout] 1719 |     const fn opcode(length: u16, opnum: u16) -> u32 {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1723 |     pub fn serialize_binary<W: BinaryModuleOutputStream + ?Sized>(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryModuleHeader` is never constructed
[INFO] [stdout]     --> src/spirv.rs:2686:12
[INFO] [stdout]      |
[INFO] [stdout] 2686 | pub struct BinaryModuleHeader {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MAGIC_NUMBER` and `serialize` are never used
[INFO] [stdout]     --> src/spirv.rs:2694:15
[INFO] [stdout]      |
[INFO] [stdout] 2693 | impl BinaryModuleHeader {
[INFO] [stdout]      | ----------------------- associated items in this implementation
[INFO] [stdout] 2694 |     pub const MAGIC_NUMBER: u32 = 0x07230203;
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout] 2695 |
[INFO] [stdout] 2696 |     pub fn serialize<W: BinaryModuleOutputStream>(&self, writer: &mut W) -> Result<(), W::Error> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BinaryModuleOutputStream` is never used
[INFO] [stdout]     --> src/spirv.rs:2707:11
[INFO] [stdout]      |
[INFO] [stdout] 2707 | pub trait BinaryModuleOutputStream {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Dim1`, `Dim3`, `Cube`, `Rect`, and `Buffer` are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Dim {
[INFO] [stdout]    |          --- variants in this enum
[INFO] [stdout]  6 |     Dim1 = 0,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  7 |     Dim2 = 1,
[INFO] [stdout]  8 |     Dim3 = 2,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     Cube = 3,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     Rect = 4,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Buffer = 5,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Dim` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KnownRuntime` is never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TypeImageSampled {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 18 |     KnownRuntime = 0,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeImageSampled` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum ImageFormat {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 26 |     Unknown = 0,
[INFO] [stdout] 27 |     Rgba32f,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     Rgba16f,
[INFO] [stdout] 29 |     R32f,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 30 |     Rgba8,
[INFO] [stdout] 31 |     Rgba8Snorm,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     Rg32f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 33 |     Rg16f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 34 |     R11fG11fB10f,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 35 |     R16f,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 36 |     Rgba16,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 37 |     Rgb10A2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 38 |     Rg16,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     Rg8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 40 |     R16,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 41 |     R8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 42 |     Rgba16Snorm,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     Rg16Snorm,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Rg8Snorm,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     R16Snorm,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 46 |     R8Snorm,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 47 |     Rgba32i,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 48 |     Rgba16i,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 49 |     Rgba8i,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 50 |     R32i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     Rg32i,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 52 |     Rg16i,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Rg8i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     R16i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 55 |     R8i,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 56 |     Rgba32ui,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 57 |     Rgba16ui,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 58 |     Rgba8ui,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 59 |     R32ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 60 |     Rgb10a2ui,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 61 |     Rg32ui,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 62 |     Rg16ui,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 63 |     Rg8ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 64 |     R16ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 65 |     R8ui,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 66 |     R64ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 67 |     R64i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ReadOnly`, `WriteOnly`, and `ReadWrite` are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum AccessQualifier {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 73 |     ReadOnly = 0,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 74 |     WriteOnly = 1,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 75 |     ReadWrite = 2,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccessQualifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum StorageClass {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 81 |     UniformConstant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     Input,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 83 |     Uniform,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 84 |     Output,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     Workgroup,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 86 |     CrossWorkgroup,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     Private,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 88 |     Function,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 89 |     Generic,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 90 |     PushConstant,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 91 |     AtomicCounter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 92 |     Image,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 93 |     StorageBuffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageClass` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `ClampToEdge`, `Clamp`, `Repeat`, and `RepeatMirrored` are never constructed
[INFO] [stdout]    --> src/spirv/asm.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub enum SamplerAddressingMode {
[INFO] [stdout]     |          --------------------- variants in this enum
[INFO] [stdout]  99 |     None = 0,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 100 |     ClampToEdge = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 101 |     Clamp = 2,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 102 |     Repeat = 3,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 103 |     RepeatMirrored = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SamplerAddressingMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Nearest` and `Linear` are never constructed
[INFO] [stdout]    --> src/spirv/asm.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub enum SamplerFilterMode {
[INFO] [stdout]     |          ----------------- variants in this enum
[INFO] [stdout] 109 |     Nearest = 0,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 110 |     Linear = 1,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SamplerFilterMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Decoration` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub enum Decoration {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AddressingModel` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub enum AddressingModel {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MemoryModel` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:167:10
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub enum MemoryModel {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Capability` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum Capability {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExecutionMode` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum ExecutionMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Scope` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub enum Scope {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SpecConstantID` is never constructed
[INFO] [stdout]  --> src/spirv/types.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TypeArrayLength {
[INFO] [stdout]   |          --------------- variant in this enum
[INFO] [stdout] 3 |     ConstExpr(super::Constant),
[INFO] [stdout] 4 |     SpecConstantID(u32),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TypeArrayLength` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `of_vector` and `of_matrix` are never used
[INFO] [stdout]   --> src/spirv/types.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ScalarType {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 21 |     pub const fn of_vector(self, count: VectorSize) -> VectorType {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn of_matrix(
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `element_type`, `element_count`, and `of_matrix` are never used
[INFO] [stdout]    --> src/spirv/types.rs:93:18
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl VectorType {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout]  93 |     pub const fn element_type(&self) -> &ScalarType {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub const fn element_count(&self) -> VectorSize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub const fn of_matrix(self, count: MatrixColumnCount) -> MatrixType {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `element_type`, `column_type`, `column_count`, and `stride` are never used
[INFO] [stdout]    --> src/spirv/types.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl MatrixType {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 174 |     pub const fn element_type(&self) -> &ScalarType {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub const fn column_type(&self) -> &VectorType {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub const fn column_count(&self) -> MatrixColumnCount {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub const fn stride(&self) -> Option<u32> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Void` is never constructed
[INFO] [stdout]    --> src/spirv/types.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub enum ImageComponentType {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 193 |     Void,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImageComponentType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalarOrVectorType` is never used
[INFO] [stdout]    --> src/spirv/types.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub enum ScalarOrVectorType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scalar` and `vector_size` are never used
[INFO] [stdout]    --> src/spirv/types.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl ScalarOrVectorType {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 208 |     pub const fn scalar(&self) -> &ScalarType {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub const fn vector_size(&self) -> Option<VectorSize> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalarOrVectorTypeView` is never used
[INFO] [stdout]    --> src/spirv/types.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub enum ScalarOrVectorTypeView<'s> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scalar` and `vector_size` are never used
[INFO] [stdout]    --> src/spirv/types.rs:229:18
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl<'s> ScalarOrVectorTypeView<'s> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] 229 |     pub const fn scalar(&self) -> &'s ScalarType {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub const fn vector_size(&self) -> Option<VectorSize> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bool`, `Sampler`, `RuntimeArray`, and `ForwardPointer` are never constructed
[INFO] [stdout]    --> src/spirv/types.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub enum Type {
[INFO] [stdout]     |          ---- variants in this enum
[INFO] [stdout] 252 |     Void,
[INFO] [stdout] 253 |     Bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     Sampler,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     RuntimeArray {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     ForwardPointer {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `of_matrix`, `of_pointer`, `dereferenced`, `scalar_or_vector`, and `scalar_or_vector_view` are never used
[INFO] [stdout]    --> src/spirv/types.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | impl Type {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn of_matrix(self, row_count: u32, column_count: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn of_pointer(self, storage: super::asm::StorageClass) -> PointerType {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn dereferenced(self) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn scalar_or_vector(self) -> Option<ScalarOrVectorType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn scalar_or_vector_view(&self) -> Option<ScalarOrVectorTypeView> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpvSectionLocalId` is never used
[INFO] [stdout]  --> src/codegen.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum SpvSectionLocalId {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpvModuleEmissionContext` is never constructed
[INFO] [stdout]   --> src/codegen.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SpvModuleEmissionContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/codegen.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl SpvModuleEmissionContext {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout]  38 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn serialize_ops(self) -> (Vec<spv::Instruction>, spv::Id) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn request_ext_inst_set(&mut self, name: String) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn new_type_const_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn new_global_variable_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn new_function_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn decorate(&mut self, target: SpvSectionLocalId, decorations: &[spv::Decorate]) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn declare_global_variable(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn request_descriptor_set_bound_global_var(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn request_push_constant_global_var(&mut self, ty: spv::Type) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn request_const_id(&mut self, c: spv::Constant) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn request_type_id(&mut self, t: spv::Type) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpvFunctionBodyEmissionContext` is never constructed
[INFO] [stdout]    --> src/codegen.rs:505:12
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub struct SpvFunctionBodyEmissionContext<'m> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/codegen.rs:512:12
[INFO] [stdout]      |
[INFO] [stdout]  511 | impl<'s, 'm> SpvFunctionBodyEmissionContext<'m> {
[INFO] [stdout]      | ----------------------------------------------- associated items in this implementation
[INFO] [stdout]  512 |     pub fn new(module_ctx: &'m mut SpvModuleEmissionContext) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  521 |     pub fn new_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  528 |     fn issue_typed_ids(&mut self, ty: spv::Type) -> (SpvSectionLocalId, SpvSectionLocalId) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  533 |     pub fn select(
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  552 |     fn log_and(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  573 |     fn log_or(
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  594 |     fn equal(
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  631 |     fn not_equal(
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  668 |     fn less_than(
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  705 |     fn less_than_eq(
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  742 |     fn greater_than(
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  779 |     fn greater_than_eq(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  816 |     pub fn iadd(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  833 |     pub fn fadd(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  850 |     pub fn isub(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  867 |     pub fn fsub(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  884 |     pub fn imul(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  901 |     pub fn fmul(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  918 |     pub fn vector_times_scalar(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  935 |     pub fn matrix_times_scalar(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  952 |     pub fn matrix_times_vector(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  969 |     pub fn vector_times_matrix(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  986 |     pub fn matrix_times_matrix(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1003 |     pub fn sdiv(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1020 |     pub fn udiv(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1037 |     pub fn fdiv(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1054 |     pub fn srem(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1071 |     pub fn umod(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1088 |     pub fn frem(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1105 |     pub fn snegate(
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1120 |     pub fn fnegate(
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1135 |     pub fn convert_sint_to_float(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1154 |     pub fn convert_uint_to_float(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1173 |     pub fn convert_float_to_sint(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1192 |     pub fn convert_float_to_uint(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1211 |     pub fn composite_extract(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1228 |     pub fn vector_shuffle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1247 |     pub fn vector_shuffle_1(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1265 |     pub fn load(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1280 |     pub fn access_chain(
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1297 |     pub fn chained_load(
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EqCompareOperandClass` is never used
[INFO] [stdout]     --> src/codegen.rs:1314:6
[INFO] [stdout]      |
[INFO] [stdout] 1314 | enum EqCompareOperandClass {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `of` is never used
[INFO] [stdout]     --> src/codegen.rs:1320:14
[INFO] [stdout]      |
[INFO] [stdout] 1319 | impl EqCompareOperandClass {
[INFO] [stdout]      | -------------------------- associated function in this implementation
[INFO] [stdout] 1320 |     const fn of(t: &spv::ScalarType) -> Self {
[INFO] [stdout]      |              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompareOperandClass` is never used
[INFO] [stdout]     --> src/codegen.rs:1329:6
[INFO] [stdout]      |
[INFO] [stdout] 1329 | enum CompareOperandClass {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `of` is never used
[INFO] [stdout]     --> src/codegen.rs:1335:14
[INFO] [stdout]      |
[INFO] [stdout] 1334 | impl CompareOperandClass {
[INFO] [stdout]      | ------------------------ associated function in this implementation
[INFO] [stdout] 1335 |     const fn of(t: &spv::ScalarType) -> Self {
[INFO] [stdout]      |              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty`, `original_refpath`, and `decorations` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ShaderInterfaceInputVariable {
[INFO] [stdout]    |            ---------------------------- fields in this struct
[INFO] [stdout] 15 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 16 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub decorations: Vec<spv::Decorate>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfaceInputVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `decorations` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ShaderInterfaceOutputVariable {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 22 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 23 |     pub decorations: Vec<spv::Decorate>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfaceOutputVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty`, `original_refpath`, and `decorations` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ShaderInterfaceUniformVariable {
[INFO] [stdout]    |            ------------------------------ fields in this struct
[INFO] [stdout] 28 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 29 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub decorations: Vec<spv::Decorate>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfaceUniformVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty`, `original_refpath`, and `offset` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ShaderInterfacePushConstantVariable {
[INFO] [stdout]    |            ----------------------------------- fields in this struct
[INFO] [stdout] 35 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 36 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub offset: u32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfacePushConstantVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `original_refpath` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WorkgroupSharedVariable {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] 42 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 43 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WorkgroupSharedVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `execution_model`, `execution_mode_modifiers`, and `global_variables` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct ShaderEntryPointDescription<'s> {
[INFO] [stdout]    |            --------------------------- fields in this struct
[INFO] [stdout] 57 |     pub name: &'s str,
[INFO] [stdout] 58 |     pub execution_model: spv::asm::ExecutionModel,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |     pub execution_mode_modifiers: Vec<spv::ExecutionModeModifier>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub global_variables: ShaderEntryPointGlobalVariables,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderEntryPointDescription` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_len` is never used
[INFO] [stdout]   --> src/concrete_type.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl IntrinsicVectorType {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub const fn with_len(self, len: u8) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `only_scalar_type` and `is_matrix_type` are never used
[INFO] [stdout]    --> src/concrete_type.rs:232:18
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl IntrinsicType {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub const fn only_scalar_type(&self) -> Option<IntrinsicScalarType> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub const fn is_matrix_type(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Generic` and `GenericVar` are never constructed
[INFO] [stdout]    --> src/concrete_type.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub enum ConcreteType<'s> {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 355 |     Generic(Vec<usize>, Box<ConcreteType<'s>>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 356 |     GenericVar(usize),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConcreteType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_matrix_type` and `dereference` are never used
[INFO] [stdout]    --> src/concrete_type.rs:604:18
[INFO] [stdout]     |
[INFO] [stdout] 375 | impl<'s> ConcreteType<'s> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 604 |     pub const fn is_matrix_type(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 727 |     pub fn dereference(self) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExprRef` is never constructed
[INFO] [stdout]   --> src/ir.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ExprRef(pub usize);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `instantiate` is never used
[INFO] [stdout]    --> src/ir.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'s> ConstFloatLiteral<'s> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] 141 |     pub fn instantiate(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConcreteTypeRef` is never used
[INFO] [stdout]   --> src/ir/block.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ConcreteTypeRef<'c, 's> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Break` is never constructed
[INFO] [stdout]    --> src/ir/block.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum BlockFlowInstruction {
[INFO] [stdout]     |          -------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 167 |     Break,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockFlowInstruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `relocate_result_register`, `apply_register_alias`, and `apply_parallel_register_alias` are never used
[INFO] [stdout]    --> src/ir/block.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl BlockFlowInstruction {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] 172 |     pub fn relocate_result_register(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn apply_register_alias(&mut self, map: &RegisterAliasMap) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn apply_parallel_register_alias(&mut self, map: &RegisterAliasMap) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StaticPathRef`, `TupleRef`, and `PureFuncall` are never constructed
[INFO] [stdout]    --> src/ir/block.rs:541:5
[INFO] [stdout]     |
[INFO] [stdout] 529 | pub enum BlockPureInstruction<'s> {
[INFO] [stdout]     |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 541 |     StaticPathRef(RefPath),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 546 |     TupleRef(RegisterRef, usize),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 549 |     PureFuncall(RegisterRef, Vec<RegisterRef>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockPureInstruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `relocate_flow_register` and `relocate_register` are never used
[INFO] [stdout]    --> src/ir/block.rs:931:12
[INFO] [stdout]     |
[INFO] [stdout] 869 | impl Block {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub fn relocate_flow_register(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 939 |     pub fn relocate_register(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_block`, `tuple_ref`, `tuple_mutable_ref`, `const_uint`, and `const_sint` are never used
[INFO] [stdout]     --> src/ir/block.rs:1041:12
[INFO] [stdout]      |
[INFO] [stdout] 1027 | impl<'c, 'a, 's> BlockInstructionEmitter<'c, 'a, 's> {
[INFO] [stdout]      | ---------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1041 |     pub fn into_block(self, flow: BlockFlowInstruction) -> Block {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1404 |     pub fn tuple_ref(
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1423 |     pub fn tuple_mutable_ref(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1470 |     pub fn const_uint(&mut self, repr: SourceRef<'s>) -> RegisterRef {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1482 |     pub fn const_sint(&mut self, repr: SourceRef<'s>) -> RegisterRef {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dump_blocks` is never used
[INFO] [stdout]     --> src/ir/block.rs:1612:12
[INFO] [stdout]      |
[INFO] [stdout] 1587 | impl<'a, 's> BlockGenerationContext<'a, 's> {
[INFO] [stdout]      | ------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1612 |     pub fn dump_blocks(
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_incoming_flows` is never used
[INFO] [stdout]     --> src/ir/block.rs:2196:8
[INFO] [stdout]      |
[INFO] [stdout] 2196 | pub fn parse_incoming_flows(blocks: &[Block]) -> HashMap<BlockRef, Vec<BlockRef>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScopeCaptureSource` is never used
[INFO] [stdout]   --> src/ir/expr.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum ScopeCaptureSource {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_block_incomings` is never used
[INFO] [stdout]    --> src/ir/opt.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn collect_block_incomings(blocks: &[Block]) -> HashMap<BlockRef, HashSet<BlockRef>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 |     UInt(u32),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 35 -     UInt(u32),
[INFO] [stdout] 35 +     UInt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |     SInt(i32),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 36 -     SInt(i32),
[INFO] [stdout] 36 +     SInt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     UIntLit(ConstUIntLiteral<'s>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -     UIntLit(ConstUIntLiteral<'s>),
[INFO] [stdout] 38 +     UIntLit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |     SIntLit(ConstSIntLiteral<'s>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 39 -     SIntLit(ConstSIntLiteral<'s>),
[INFO] [stdout] 39 +     SIntLit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 40 |     FloatLit(ConstFloatLiteral<'s>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 40 -     FloatLit(ConstFloatLiteral<'s>),
[INFO] [stdout] 40 +     FloatLit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Float` is never constructed
[INFO] [stdout]   --> src/ir2.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ConstValue<'s> {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     Float(f32),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Const(ConstValue<'s>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstOrInst` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 45 -     Const(ConstValue<'s>),
[INFO] [stdout] 45 +     Const(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_referential_transparent` is never used
[INFO] [stdout]  --> src/ref_path.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl RefPath {
[INFO] [stdout]   | ------------ method in this implementation
[INFO] [stdout] 7 |     pub fn is_referential_transparent(&self) -> bool {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_toplevel_function` is never read
[INFO] [stdout]   --> src/scope.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SymbolScope<'a, 's> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 18 |     pub parent: Option<&'a SymbolScope<'a, 's>>,
[INFO] [stdout] 19 |     pub is_toplevel_function: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/scope.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl<'a, 's> SymbolScope<'a, 's> {
[INFO] [stdout]     | -------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn new_function_inlined(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn has_local_vars(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn merge_local_vars(&self, from: &'a Self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn all_local_var_ids(&self) -> impl Iterator<Item = usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn remove_local_var_by_id(&self, id: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn user_defined_function_body_mut<'e>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 523 |     pub fn nearest_function_scope(&self) -> Option<&Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub fn function_input_type(&self, id: usize) -> Option<&ConcreteType<'s>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/scope.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     FunctionInputVar(usize, &'x ConcreteType<'s>, bool),
[INFO] [stdout]     |     ----------------        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarLookupResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 545 -     FunctionInputVar(usize, &'x ConcreteType<'s>, bool),
[INFO] [stdout] 545 +     FunctionInputVar(usize, (), bool),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/scope.rs:546:26
[INFO] [stdout]     |
[INFO] [stdout] 546 |     ScopeLocalVar(usize, ConcreteType<'s>, bool),
[INFO] [stdout]     |     -------------        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarLookupResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 546 -     ScopeLocalVar(usize, ConcreteType<'s>, bool),
[INFO] [stdout] 546 +     ScopeLocalVar(usize, (), bool),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `occurence` is never read
[INFO] [stdout]   --> src/symbol.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct LocalVariable<'s> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 30 |     pub occurence: SourceRef<'s>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LocalVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/symbol.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct UserDefinedFunctionInput<'s> {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub name: SourceRef<'s>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserDefinedFunctionInput` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `concrete_type` and `flatten_output` are never used
[INFO] [stdout]   --> src/symbol.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<'s> UserDefinedFunctionSymbol<'s> {
[INFO] [stdout]    | -------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn concrete_type(&self) -> ConcreteType<'s> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn flatten_output<'a>(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TessellationControlShader`, `TessellationEvaluationShader`, and `GeometryShader` are never constructed
[INFO] [stdout]   --> src/symbol/meta.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum ShaderModel {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 60 |     VertexShader,
[INFO] [stdout] 61 |     TessellationControlShader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     TessellationEvaluationShader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     GeometryShader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderModel` 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 `t`, `line`, and `col` are never read
[INFO] [stdout]   --> src/utils/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Located<T> {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 15 |     pub t: T,
[INFO] [stdout]    |         ^
[INFO] [stdout] 16 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 17 |     pub col: usize,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Located` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_ptr` is never used
[INFO] [stdout]   --> src/utils/ptr_eq.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<'a, T: 'a + ?Sized> PtrEq<'a, T> {
[INFO] [stdout]    | ------------------------------------- method in this implementation
[INFO] [stdout] 26 |     #[inline]
[INFO] [stdout] 27 |     pub const fn as_ptr(&self) -> *const T {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/spirv.rs:189:34
[INFO] [stdout]     |
[INFO] [stdout] 189 |             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 189 -             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout] 189 +             value_bits: unsafe { i32::cast_unsigned(value) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/spirv.rs:197:34
[INFO] [stdout]     |
[INFO] [stdout] 197 |             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 197 -             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout] 197 +             value_bits: unsafe { f32::to_bits(value) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/spirv/types.rs:431:34
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn scalar_or_vector_view(&self) -> Option<ScalarOrVectorTypeView> {
[INFO] [stdout]     |                                  ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn scalar_or_vector_view(&self) -> Option<ScalarOrVectorTypeView<'_>> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/scope.rs:474:56
[INFO] [stdout]     |
[INFO] [stdout] 474 |     pub fn lookup<'x>(&'x self, name: &str) -> Option<(&Self, VarLookupResult<'x, 's>)> {
[INFO] [stdout]     |                        --                              ^^^^^                  -- the same lifetime is named here
[INFO] [stdout]     |                        |                               |
[INFO] [stdout]     |                        the lifetime is named here      the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'x`
[INFO] [stdout]     |
[INFO] [stdout] 474 |     pub fn lookup<'x>(&'x self, name: &str) -> Option<(&'x Self, VarLookupResult<'x, 's>)> {
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `optimized_entry_points`
[INFO] [stdout]     --> src/main.rs:1263:9
[INFO] [stdout]      |
[INFO] [stdout] 1263 |     let optimized_entry_points = entry_points
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_optimized_entry_points`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ep`
[INFO] [stdout]     --> src/main.rs:1410:5
[INFO] [stdout]      |
[INFO] [stdout] 1410 |     ep: &ShaderEntryPointDescription,
[INFO] [stdout]      |     ^^ help: if this is intentional, prefix it with an underscore: `_ep`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `scope_arena`
[INFO] [stdout]     --> src/main.rs:1413:5
[INFO] [stdout]      |
[INFO] [stdout] 1413 |     scope_arena: &'a Arena<SymbolScope<'a, 's>>,
[INFO] [stdout]      |     ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_scope_arena`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `info` and `ir2` are never read
[INFO] [stdout]     --> src/main.rs:1259:13
[INFO] [stdout]      |
[INFO] [stdout] 1258 |     struct OptimizedShaderEntryPoint<'s> {
[INFO] [stdout]      |            ------------------------- fields in this struct
[INFO] [stdout] 1259 |         pub info: ShaderEntryPointDescription<'s>,
[INFO] [stdout]      |             ^^^^
[INFO] [stdout] 1260 |         pub ir2: ir2::Function<'s>,
[INFO] [stdout]      |             ^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `module_header` is never used
[INFO] [stdout]     --> src/main.rs:1378:10
[INFO] [stdout]      |
[INFO] [stdout] 1378 | const fn module_header(bound: spv::Id) -> spv::BinaryModuleHeader {
[INFO] [stdout]      |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `make_instruction` and `make_member_instruction` are never used
[INFO] [stdout]   --> src/spirv.rs:25:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl Decorate {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 25 |     pub fn make_instruction<IdType>(&self, target: IdType) -> Instruction<IdType> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub fn make_member_instruction<IdType>(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `True`, `False`, `Composite`, `Sampler`, `Null`, and `Undef` are never constructed
[INFO] [stdout]    --> src/spirv.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub enum Constant {
[INFO] [stdout]     |          -------- variants in this enum
[INFO] [stdout] 141 |     True {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 144 |     False {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 151 |     Composite {
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     Sampler {
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 161 |     Null {
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     Undef {
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Constant` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `i32vec2` is never used
[INFO] [stdout]    --> src/spirv.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 168 | impl Constant {
[INFO] [stdout]     | ------------- associated function in this implementation
[INFO] [stdout] 169 |     #[inline]
[INFO] [stdout] 170 |     pub fn i32vec2(x: i32, y: i32) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Id` is never used
[INFO] [stdout]    --> src/spirv.rs:202:10
[INFO] [stdout]     |
[INFO] [stdout] 202 | pub type Id = u32;
[INFO] [stdout]     |          ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Instruction` is never used
[INFO] [stdout]    --> src/spirv.rs:205:10
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub enum Instruction<IdType = Id> {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `relocate` is never used
[INFO] [stdout]    --> src/spirv.rs:751:12
[INFO] [stdout]     |
[INFO] [stdout] 750 | impl<IdType> Instruction<IdType> {
[INFO] [stdout]     | -------------------------------- method in this implementation
[INFO] [stdout] 751 |     pub fn relocate<IdType2>(
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `opcode` and `serialize_binary` are never used
[INFO] [stdout]     --> src/spirv.rs:1719:14
[INFO] [stdout]      |
[INFO] [stdout] 1717 | impl Instruction<Id> {
[INFO] [stdout]      | -------------------- associated items in this implementation
[INFO] [stdout] 1718 |     #[inline(always)]
[INFO] [stdout] 1719 |     const fn opcode(length: u16, opnum: u16) -> u32 {
[INFO] [stdout]      |              ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1723 |     pub fn serialize_binary<W: BinaryModuleOutputStream + ?Sized>(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `BinaryModuleHeader` is never constructed
[INFO] [stdout]     --> src/spirv.rs:2686:12
[INFO] [stdout]      |
[INFO] [stdout] 2686 | pub struct BinaryModuleHeader {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `MAGIC_NUMBER` and `serialize` are never used
[INFO] [stdout]     --> src/spirv.rs:2694:15
[INFO] [stdout]      |
[INFO] [stdout] 2693 | impl BinaryModuleHeader {
[INFO] [stdout]      | ----------------------- associated items in this implementation
[INFO] [stdout] 2694 |     pub const MAGIC_NUMBER: u32 = 0x07230203;
[INFO] [stdout]      |               ^^^^^^^^^^^^
[INFO] [stdout] 2695 |
[INFO] [stdout] 2696 |     pub fn serialize<W: BinaryModuleOutputStream>(&self, writer: &mut W) -> Result<(), W::Error> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `BinaryModuleOutputStream` is never used
[INFO] [stdout]     --> src/spirv.rs:2707:11
[INFO] [stdout]      |
[INFO] [stdout] 2707 | pub trait BinaryModuleOutputStream {
[INFO] [stdout]      |           ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Dim1`, `Dim3`, `Cube`, `Rect`, and `Buffer` are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:6:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum Dim {
[INFO] [stdout]    |          --- variants in this enum
[INFO] [stdout]  6 |     Dim1 = 0,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  7 |     Dim2 = 1,
[INFO] [stdout]  8 |     Dim3 = 2,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]  9 |     Cube = 3,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 10 |     Rect = 4,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Buffer = 5,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Dim` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `KnownRuntime` is never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum TypeImageSampled {
[INFO] [stdout]    |          ---------------- variant in this enum
[INFO] [stdout] 18 |     KnownRuntime = 0,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TypeImageSampled` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub enum ImageFormat {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 26 |     Unknown = 0,
[INFO] [stdout] 27 |     Rgba32f,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 28 |     Rgba16f,
[INFO] [stdout] 29 |     R32f,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 30 |     Rgba8,
[INFO] [stdout] 31 |     Rgba8Snorm,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 32 |     Rg32f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 33 |     Rg16f,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 34 |     R11fG11fB10f,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 35 |     R16f,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 36 |     Rgba16,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 37 |     Rgb10A2,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 38 |     Rg16,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 39 |     Rg8,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 40 |     R16,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 41 |     R8,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 42 |     Rgba16Snorm,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 43 |     Rg16Snorm,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 44 |     Rg8Snorm,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 45 |     R16Snorm,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 46 |     R8Snorm,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 47 |     Rgba32i,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 48 |     Rgba16i,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 49 |     Rgba8i,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 50 |     R32i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 51 |     Rg32i,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 52 |     Rg16i,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 53 |     Rg8i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 54 |     R16i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 55 |     R8i,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 56 |     Rgba32ui,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 57 |     Rgba16ui,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 58 |     Rgba8ui,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 59 |     R32ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 60 |     Rgb10a2ui,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 61 |     Rg32ui,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 62 |     Rg16ui,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 63 |     Rg8ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 64 |     R16ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 65 |     R8ui,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 66 |     R64ui,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 67 |     R64i,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImageFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `ReadOnly`, `WriteOnly`, and `ReadWrite` are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub enum AccessQualifier {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 73 |     ReadOnly = 0,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 74 |     WriteOnly = 1,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 75 |     ReadWrite = 2,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AccessQualifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/spirv/asm.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum StorageClass {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 81 |     UniformConstant,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 82 |     Input,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 83 |     Uniform,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 84 |     Output,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 85 |     Workgroup,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 86 |     CrossWorkgroup,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 87 |     Private,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 88 |     Function,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 89 |     Generic,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 90 |     PushConstant,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 91 |     AtomicCounter,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 92 |     Image,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 93 |     StorageBuffer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StorageClass` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `None`, `ClampToEdge`, `Clamp`, `Repeat`, and `RepeatMirrored` are never constructed
[INFO] [stdout]    --> src/spirv/asm.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub enum SamplerAddressingMode {
[INFO] [stdout]     |          --------------------- variants in this enum
[INFO] [stdout]  99 |     None = 0,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 100 |     ClampToEdge = 1,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 101 |     Clamp = 2,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 102 |     Repeat = 3,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 103 |     RepeatMirrored = 4,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SamplerAddressingMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Nearest` and `Linear` are never constructed
[INFO] [stdout]    --> src/spirv/asm.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub enum SamplerFilterMode {
[INFO] [stdout]     |          ----------------- variants in this enum
[INFO] [stdout] 109 |     Nearest = 0,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 110 |     Linear = 1,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `SamplerFilterMode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Decoration` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:136:10
[INFO] [stdout]     |
[INFO] [stdout] 136 | pub enum Decoration {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AddressingModel` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:161:10
[INFO] [stdout]     |
[INFO] [stdout] 161 | pub enum AddressingModel {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MemoryModel` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:167:10
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub enum MemoryModel {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Capability` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:173:10
[INFO] [stdout]     |
[INFO] [stdout] 173 | pub enum Capability {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ExecutionMode` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:183:10
[INFO] [stdout]     |
[INFO] [stdout] 183 | pub enum ExecutionMode {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Scope` is never used
[INFO] [stdout]    --> src/spirv/asm.rs:189:10
[INFO] [stdout]     |
[INFO] [stdout] 189 | pub enum Scope {
[INFO] [stdout]     |          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `SpecConstantID` is never constructed
[INFO] [stdout]  --> src/spirv/types.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum TypeArrayLength {
[INFO] [stdout]   |          --------------- variant in this enum
[INFO] [stdout] 3 |     ConstExpr(super::Constant),
[INFO] [stdout] 4 |     SpecConstantID(u32),
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `TypeArrayLength` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `of_vector` and `of_matrix` are never used
[INFO] [stdout]   --> src/spirv/types.rs:21:18
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ScalarType {
[INFO] [stdout]    | --------------- methods in this implementation
[INFO] [stdout] 21 |     pub const fn of_vector(self, count: VectorSize) -> VectorType {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     pub const fn of_matrix(
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `element_type`, `element_count`, and `of_matrix` are never used
[INFO] [stdout]    --> src/spirv/types.rs:93:18
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl VectorType {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout]  93 |     pub const fn element_type(&self) -> &ScalarType {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub const fn element_count(&self) -> VectorSize {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     pub const fn of_matrix(self, count: MatrixColumnCount) -> MatrixType {
[INFO] [stdout]     |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `element_type`, `column_type`, `column_count`, and `stride` are never used
[INFO] [stdout]    --> src/spirv/types.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout] 173 | impl MatrixType {
[INFO] [stdout]     | --------------- methods in this implementation
[INFO] [stdout] 174 |     pub const fn element_type(&self) -> &ScalarType {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 178 |     pub const fn column_type(&self) -> &VectorType {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 182 |     pub const fn column_count(&self) -> MatrixColumnCount {
[INFO] [stdout]     |                  ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub const fn stride(&self) -> Option<u32> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Void` is never constructed
[INFO] [stdout]    --> src/spirv/types.rs:193:5
[INFO] [stdout]     |
[INFO] [stdout] 192 | pub enum ImageComponentType {
[INFO] [stdout]     |          ------------------ variant in this enum
[INFO] [stdout] 193 |     Void,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ImageComponentType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalarOrVectorType` is never used
[INFO] [stdout]    --> src/spirv/types.rs:203:10
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub enum ScalarOrVectorType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scalar` and `vector_size` are never used
[INFO] [stdout]    --> src/spirv/types.rs:208:18
[INFO] [stdout]     |
[INFO] [stdout] 207 | impl ScalarOrVectorType {
[INFO] [stdout]     | ----------------------- methods in this implementation
[INFO] [stdout] 208 |     pub const fn scalar(&self) -> &ScalarType {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 215 |     pub const fn vector_size(&self) -> Option<VectorSize> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScalarOrVectorTypeView` is never used
[INFO] [stdout]    --> src/spirv/types.rs:224:10
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub enum ScalarOrVectorTypeView<'s> {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `scalar` and `vector_size` are never used
[INFO] [stdout]    --> src/spirv/types.rs:229:18
[INFO] [stdout]     |
[INFO] [stdout] 228 | impl<'s> ScalarOrVectorTypeView<'s> {
[INFO] [stdout]     | ----------------------------------- methods in this implementation
[INFO] [stdout] 229 |     pub const fn scalar(&self) -> &'s ScalarType {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     pub const fn vector_size(&self) -> Option<VectorSize> {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Bool`, `Sampler`, `RuntimeArray`, and `ForwardPointer` are never constructed
[INFO] [stdout]    --> src/spirv/types.rs:253:5
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub enum Type {
[INFO] [stdout]     |          ---- variants in this enum
[INFO] [stdout] 252 |     Void,
[INFO] [stdout] 253 |     Bool,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     Sampler,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     RuntimeArray {
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     ForwardPointer {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `of_matrix`, `of_pointer`, `dereferenced`, `scalar_or_vector`, and `scalar_or_vector_view` are never used
[INFO] [stdout]    --> src/spirv/types.rs:368:12
[INFO] [stdout]     |
[INFO] [stdout] 318 | impl Type {
[INFO] [stdout]     | --------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 368 |     pub fn of_matrix(self, row_count: u32, column_count: u32) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn of_pointer(self, storage: super::asm::StorageClass) -> PointerType {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 414 |     pub fn dereferenced(self) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 422 |     pub fn scalar_or_vector(self) -> Option<ScalarOrVectorType> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     pub fn scalar_or_vector_view(&self) -> Option<ScalarOrVectorTypeView> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpvSectionLocalId` is never used
[INFO] [stdout]  --> src/codegen.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum SpvSectionLocalId {
[INFO] [stdout]   |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpvModuleEmissionContext` is never constructed
[INFO] [stdout]   --> src/codegen.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct SpvModuleEmissionContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/codegen.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  37 | impl SpvModuleEmissionContext {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout]  38 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn serialize_ops(self) -> (Vec<spv::Instruction>, spv::Id) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn request_ext_inst_set(&mut self, name: String) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn new_type_const_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn new_global_variable_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn new_function_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 138 |     pub fn decorate(&mut self, target: SpvSectionLocalId, decorations: &[spv::Decorate]) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 143 |     pub fn declare_global_variable(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn request_descriptor_set_bound_global_var(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     pub fn request_push_constant_global_var(&mut self, ty: spv::Type) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 187 |     pub fn request_const_id(&mut self, c: spv::Constant) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 283 |     pub fn request_type_id(&mut self, t: spv::Type) -> SpvSectionLocalId {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpvFunctionBodyEmissionContext` is never constructed
[INFO] [stdout]    --> src/codegen.rs:505:12
[INFO] [stdout]     |
[INFO] [stdout] 505 | pub struct SpvFunctionBodyEmissionContext<'m> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]     --> src/codegen.rs:512:12
[INFO] [stdout]      |
[INFO] [stdout]  511 | impl<'s, 'm> SpvFunctionBodyEmissionContext<'m> {
[INFO] [stdout]      | ----------------------------------------------- associated items in this implementation
[INFO] [stdout]  512 |     pub fn new(module_ctx: &'m mut SpvModuleEmissionContext) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  521 |     pub fn new_id(&mut self) -> SpvSectionLocalId {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  528 |     fn issue_typed_ids(&mut self, ty: spv::Type) -> (SpvSectionLocalId, SpvSectionLocalId) {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  533 |     pub fn select(
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  552 |     fn log_and(
[INFO] [stdout]      |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  573 |     fn log_or(
[INFO] [stdout]      |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  594 |     fn equal(
[INFO] [stdout]      |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  631 |     fn not_equal(
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  668 |     fn less_than(
[INFO] [stdout]      |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  705 |     fn less_than_eq(
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  742 |     fn greater_than(
[INFO] [stdout]      |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  779 |     fn greater_than_eq(
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  816 |     pub fn iadd(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  833 |     pub fn fadd(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  850 |     pub fn isub(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  867 |     pub fn fsub(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  884 |     pub fn imul(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  901 |     pub fn fmul(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout]  918 |     pub fn vector_times_scalar(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  935 |     pub fn matrix_times_scalar(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  952 |     pub fn matrix_times_vector(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  969 |     pub fn vector_times_matrix(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  986 |     pub fn matrix_times_matrix(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1003 |     pub fn sdiv(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1020 |     pub fn udiv(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1037 |     pub fn fdiv(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1054 |     pub fn srem(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1071 |     pub fn umod(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1088 |     pub fn frem(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1105 |     pub fn snegate(
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1120 |     pub fn fnegate(
[INFO] [stdout]      |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1135 |     pub fn convert_sint_to_float(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1154 |     pub fn convert_uint_to_float(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1173 |     pub fn convert_float_to_sint(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1192 |     pub fn convert_float_to_uint(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1211 |     pub fn composite_extract(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1228 |     pub fn vector_shuffle(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1247 |     pub fn vector_shuffle_1(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1265 |     pub fn load(
[INFO] [stdout]      |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1280 |     pub fn access_chain(
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1297 |     pub fn chained_load(
[INFO] [stdout]      |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `EqCompareOperandClass` is never used
[INFO] [stdout]     --> src/codegen.rs:1314:6
[INFO] [stdout]      |
[INFO] [stdout] 1314 | enum EqCompareOperandClass {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `of` is never used
[INFO] [stdout]     --> src/codegen.rs:1320:14
[INFO] [stdout]      |
[INFO] [stdout] 1319 | impl EqCompareOperandClass {
[INFO] [stdout]      | -------------------------- associated function in this implementation
[INFO] [stdout] 1320 |     const fn of(t: &spv::ScalarType) -> Self {
[INFO] [stdout]      |              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `CompareOperandClass` is never used
[INFO] [stdout]     --> src/codegen.rs:1329:6
[INFO] [stdout]      |
[INFO] [stdout] 1329 | enum CompareOperandClass {
[INFO] [stdout]      |      ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `of` is never used
[INFO] [stdout]     --> src/codegen.rs:1335:14
[INFO] [stdout]      |
[INFO] [stdout] 1334 | impl CompareOperandClass {
[INFO] [stdout]      | ------------------------ associated function in this implementation
[INFO] [stdout] 1335 |     const fn of(t: &spv::ScalarType) -> Self {
[INFO] [stdout]      |              ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty`, `original_refpath`, and `decorations` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct ShaderInterfaceInputVariable {
[INFO] [stdout]    |            ---------------------------- fields in this struct
[INFO] [stdout] 15 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 16 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     pub decorations: Vec<spv::Decorate>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfaceInputVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `decorations` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct ShaderInterfaceOutputVariable {
[INFO] [stdout]    |            ----------------------------- fields in this struct
[INFO] [stdout] 22 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 23 |     pub decorations: Vec<spv::Decorate>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfaceOutputVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty`, `original_refpath`, and `decorations` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub struct ShaderInterfaceUniformVariable {
[INFO] [stdout]    |            ------------------------------ fields in this struct
[INFO] [stdout] 28 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 29 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub decorations: Vec<spv::Decorate>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfaceUniformVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty`, `original_refpath`, and `offset` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct ShaderInterfacePushConstantVariable {
[INFO] [stdout]    |            ----------------------------------- fields in this struct
[INFO] [stdout] 35 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 36 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 37 |     pub offset: u32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderInterfacePushConstantVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `ty` and `original_refpath` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 41 | pub struct WorkgroupSharedVariable {
[INFO] [stdout]    |            ----------------------- fields in this struct
[INFO] [stdout] 42 |     pub ty: spv::Type,
[INFO] [stdout]    |         ^^
[INFO] [stdout] 43 |     pub original_refpath: RefPath,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WorkgroupSharedVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `execution_model`, `execution_mode_modifiers`, and `global_variables` are never read
[INFO] [stdout]   --> src/codegen/entrypoint.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct ShaderEntryPointDescription<'s> {
[INFO] [stdout]    |            --------------------------- fields in this struct
[INFO] [stdout] 57 |     pub name: &'s str,
[INFO] [stdout] 58 |     pub execution_model: spv::asm::ExecutionModel,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 59 |     pub execution_mode_modifiers: Vec<spv::ExecutionModeModifier>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 60 |     pub global_variables: ShaderEntryPointGlobalVariables,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderEntryPointDescription` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_len` is never used
[INFO] [stdout]   --> src/concrete_type.rs:80:18
[INFO] [stdout]    |
[INFO] [stdout] 75 | impl IntrinsicVectorType {
[INFO] [stdout]    | ------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub const fn with_len(self, len: u8) -> Self {
[INFO] [stdout]    |                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `only_scalar_type` and `is_matrix_type` are never used
[INFO] [stdout]    --> src/concrete_type.rs:232:18
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl IntrinsicType {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub const fn only_scalar_type(&self) -> Option<IntrinsicScalarType> {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub const fn is_matrix_type(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Generic` and `GenericVar` are never constructed
[INFO] [stdout]    --> src/concrete_type.rs:355:5
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub enum ConcreteType<'s> {
[INFO] [stdout]     |          ------------ variants in this enum
[INFO] [stdout] 355 |     Generic(Vec<usize>, Box<ConcreteType<'s>>),
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 356 |     GenericVar(usize),
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ConcreteType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_matrix_type` and `dereference` are never used
[INFO] [stdout]    --> src/concrete_type.rs:604:18
[INFO] [stdout]     |
[INFO] [stdout] 375 | impl<'s> ConcreteType<'s> {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 604 |     pub const fn is_matrix_type(&self) -> bool {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 727 |     pub fn dereference(self) -> Option<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExprRef` is never constructed
[INFO] [stdout]   --> src/ir.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct ExprRef(pub usize);
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `instantiate` is never used
[INFO] [stdout]    --> src/ir.rs:141:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | impl<'s> ConstFloatLiteral<'s> {
[INFO] [stdout]     | ------------------------------ method in this implementation
[INFO] [stdout] 141 |     pub fn instantiate(&self) -> f32 {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ConcreteTypeRef` is never used
[INFO] [stdout]   --> src/ir/block.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ConcreteTypeRef<'c, 's> {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Break` is never constructed
[INFO] [stdout]    --> src/ir/block.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub enum BlockFlowInstruction {
[INFO] [stdout]     |          -------------------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 167 |     Break,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockFlowInstruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `relocate_result_register`, `apply_register_alias`, and `apply_parallel_register_alias` are never used
[INFO] [stdout]    --> src/ir/block.rs:172:12
[INFO] [stdout]     |
[INFO] [stdout] 171 | impl BlockFlowInstruction {
[INFO] [stdout]     | ------------------------- methods in this implementation
[INFO] [stdout] 172 |     pub fn relocate_result_register(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn apply_register_alias(&mut self, map: &RegisterAliasMap) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 205 |     pub fn apply_parallel_register_alias(&mut self, map: &RegisterAliasMap) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `StaticPathRef`, `TupleRef`, and `PureFuncall` are never constructed
[INFO] [stdout]    --> src/ir/block.rs:541:5
[INFO] [stdout]     |
[INFO] [stdout] 529 | pub enum BlockPureInstruction<'s> {
[INFO] [stdout]     |          -------------------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 541 |     StaticPathRef(RefPath),
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 546 |     TupleRef(RegisterRef, usize),
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 549 |     PureFuncall(RegisterRef, Vec<RegisterRef>),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `BlockPureInstruction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `relocate_flow_register` and `relocate_register` are never used
[INFO] [stdout]    --> src/ir/block.rs:931:12
[INFO] [stdout]     |
[INFO] [stdout] 869 | impl Block {
[INFO] [stdout]     | ---------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 931 |     pub fn relocate_flow_register(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 939 |     pub fn relocate_register(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `into_block`, `tuple_ref`, `tuple_mutable_ref`, `const_uint`, and `const_sint` are never used
[INFO] [stdout]     --> src/ir/block.rs:1041:12
[INFO] [stdout]      |
[INFO] [stdout] 1027 | impl<'c, 'a, 's> BlockInstructionEmitter<'c, 'a, 's> {
[INFO] [stdout]      | ---------------------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1041 |     pub fn into_block(self, flow: BlockFlowInstruction) -> Block {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1404 |     pub fn tuple_ref(
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1423 |     pub fn tuple_mutable_ref(
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1470 |     pub fn const_uint(&mut self, repr: SourceRef<'s>) -> RegisterRef {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1482 |     pub fn const_sint(&mut self, repr: SourceRef<'s>) -> RegisterRef {
[INFO] [stdout]      |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `dump_blocks` is never used
[INFO] [stdout]     --> src/ir/block.rs:1612:12
[INFO] [stdout]      |
[INFO] [stdout] 1587 | impl<'a, 's> BlockGenerationContext<'a, 's> {
[INFO] [stdout]      | ------------------------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 1612 |     pub fn dump_blocks(
[INFO] [stdout]      |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_incoming_flows` is never used
[INFO] [stdout]     --> src/ir/block.rs:2196:8
[INFO] [stdout]      |
[INFO] [stdout] 2196 | pub fn parse_incoming_flows(blocks: &[Block]) -> HashMap<BlockRef, Vec<BlockRef>> {
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ScopeCaptureSource` is never used
[INFO] [stdout]   --> src/ir/expr.rs:30:10
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub enum ScopeCaptureSource {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `collect_block_incomings` is never used
[INFO] [stdout]    --> src/ir/opt.rs:295:8
[INFO] [stdout]     |
[INFO] [stdout] 295 | pub fn collect_block_incomings(blocks: &[Block]) -> HashMap<BlockRef, HashSet<BlockRef>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 |     UInt(u32),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 35 -     UInt(u32),
[INFO] [stdout] 35 +     UInt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:36:10
[INFO] [stdout]    |
[INFO] [stdout] 36 |     SInt(i32),
[INFO] [stdout]    |     ---- ^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 36 -     SInt(i32),
[INFO] [stdout] 36 +     SInt(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:38:13
[INFO] [stdout]    |
[INFO] [stdout] 38 |     UIntLit(ConstUIntLiteral<'s>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 38 -     UIntLit(ConstUIntLiteral<'s>),
[INFO] [stdout] 38 +     UIntLit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:39:13
[INFO] [stdout]    |
[INFO] [stdout] 39 |     SIntLit(ConstSIntLiteral<'s>),
[INFO] [stdout]    |     ------- ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 39 -     SIntLit(ConstSIntLiteral<'s>),
[INFO] [stdout] 39 +     SIntLit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:40:14
[INFO] [stdout]    |
[INFO] [stdout] 40 |     FloatLit(ConstFloatLiteral<'s>),
[INFO] [stdout]    |     -------- ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 40 -     FloatLit(ConstFloatLiteral<'s>),
[INFO] [stdout] 40 +     FloatLit(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Float` is never constructed
[INFO] [stdout]   --> src/ir2.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub enum ConstValue<'s> {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 37 |     Float(f32),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstValue` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/ir2.rs:45:11
[INFO] [stdout]    |
[INFO] [stdout] 45 |     Const(ConstValue<'s>),
[INFO] [stdout]    |     ----- ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ConstOrInst` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 45 -     Const(ConstValue<'s>),
[INFO] [stdout] 45 +     Const(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `is_referential_transparent` is never used
[INFO] [stdout]  --> src/ref_path.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | impl RefPath {
[INFO] [stdout]   | ------------ method in this implementation
[INFO] [stdout] 7 |     pub fn is_referential_transparent(&self) -> bool {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_toplevel_function` is never read
[INFO] [stdout]   --> src/scope.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct SymbolScope<'a, 's> {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 18 |     pub parent: Option<&'a SymbolScope<'a, 's>>,
[INFO] [stdout] 19 |     pub is_toplevel_function: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SymbolScope` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/scope.rs:49:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl<'a, 's> SymbolScope<'a, 's> {
[INFO] [stdout]     | -------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn new_function_inlined(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 313 |     pub fn has_local_vars(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 317 |     pub fn merge_local_vars(&self, from: &'a Self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 338 |     pub fn all_local_var_ids(&self) -> impl Iterator<Item = usize> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 342 |     pub fn remove_local_var_by_id(&self, id: usize) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn user_defined_function_body_mut<'e>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 523 |     pub fn nearest_function_scope(&self) -> Option<&Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 531 |     pub fn function_input_type(&self, id: usize) -> Option<&ConcreteType<'s>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/scope.rs:545:29
[INFO] [stdout]     |
[INFO] [stdout] 545 |     FunctionInputVar(usize, &'x ConcreteType<'s>, bool),
[INFO] [stdout]     |     ----------------        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarLookupResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 545 -     FunctionInputVar(usize, &'x ConcreteType<'s>, bool),
[INFO] [stdout] 545 +     FunctionInputVar(usize, (), bool),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `1` is never read
[INFO] [stdout]    --> src/scope.rs:546:26
[INFO] [stdout]     |
[INFO] [stdout] 546 |     ScopeLocalVar(usize, ConcreteType<'s>, bool),
[INFO] [stdout]     |     -------------        ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |     |
[INFO] [stdout]     |     field in this variant
[INFO] [stdout]     |
[INFO] [stdout]     = note: `VarLookupResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]     |
[INFO] [stdout] 546 -     ScopeLocalVar(usize, ConcreteType<'s>, bool),
[INFO] [stdout] 546 +     ScopeLocalVar(usize, (), bool),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `occurence` is never read
[INFO] [stdout]   --> src/symbol.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub struct LocalVariable<'s> {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 30 |     pub occurence: SourceRef<'s>,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LocalVariable` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]   --> src/symbol.rs:39:9
[INFO] [stdout]    |
[INFO] [stdout] 36 | pub struct UserDefinedFunctionInput<'s> {
[INFO] [stdout]    |            ------------------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 39 |     pub name: SourceRef<'s>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `UserDefinedFunctionInput` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `concrete_type` and `flatten_output` are never used
[INFO] [stdout]   --> src/symbol.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | impl<'s> UserDefinedFunctionSymbol<'s> {
[INFO] [stdout]    | -------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn concrete_type(&self) -> ConcreteType<'s> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 70 |     pub fn flatten_output<'a>(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `TessellationControlShader`, `TessellationEvaluationShader`, and `GeometryShader` are never constructed
[INFO] [stdout]   --> src/symbol/meta.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum ShaderModel {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 60 |     VertexShader,
[INFO] [stdout] 61 |     TessellationControlShader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 62 |     TessellationEvaluationShader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 63 |     GeometryShader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShaderModel` 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 `t`, `line`, and `col` are never read
[INFO] [stdout]   --> src/utils/mod.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct Located<T> {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 15 |     pub t: T,
[INFO] [stdout]    |         ^
[INFO] [stdout] 16 |     pub line: usize,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 17 |     pub col: usize,
[INFO] [stdout]    |         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Located` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `as_ptr` is never used
[INFO] [stdout]   --> src/utils/ptr_eq.rs:27:18
[INFO] [stdout]    |
[INFO] [stdout] 25 | impl<'a, T: 'a + ?Sized> PtrEq<'a, T> {
[INFO] [stdout]    | ------------------------------------- method in this implementation
[INFO] [stdout] 26 |     #[inline]
[INFO] [stdout] 27 |     pub const fn as_ptr(&self) -> *const T {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/spirv.rs:189:34
[INFO] [stdout]     |
[INFO] [stdout] 189 |             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unnecessary_transmutes)]` on by default
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 189 -             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout] 189 +             value_bits: unsafe { i32::cast_unsigned(value) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary transmute
[INFO] [stdout]    --> src/spirv.rs:197:34
[INFO] [stdout]     |
[INFO] [stdout] 197 |             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: replace this with
[INFO] [stdout]     |
[INFO] [stdout] 197 -             value_bits: unsafe { core::mem::transmute(value) },
[INFO] [stdout] 197 +             value_bits: unsafe { f32::to_bits(value) },
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/spirv/types.rs:431:34
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn scalar_or_vector_view(&self) -> Option<ScalarOrVectorTypeView> {
[INFO] [stdout]     |                                  ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 431 |     pub fn scalar_or_vector_view(&self) -> Option<ScalarOrVectorTypeView<'_>> {
[INFO] [stdout]     |                                                                         ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: eliding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/scope.rs:474:56
[INFO] [stdout]     |
[INFO] [stdout] 474 |     pub fn lookup<'x>(&'x self, name: &str) -> Option<(&Self, VarLookupResult<'x, 's>)> {
[INFO] [stdout]     |                        --                              ^^^^^                  -- the same lifetime is named here
[INFO] [stdout]     |                        |                               |
[INFO] [stdout]     |                        the lifetime is named here      the same lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'x`
[INFO] [stdout]     |
[INFO] [stdout] 474 |     pub fn lookup<'x>(&'x self, name: &str) -> Option<(&'x Self, VarLookupResult<'x, 's>)> {
[INFO] [stdout]     |                                                         ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 12.66s
[INFO] running `Command { std: "docker" "inspect" "b6948bc10ebff2c053dd01e9df9979683fbb6538a73fc28eab658549a6002513", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b6948bc10ebff2c053dd01e9df9979683fbb6538a73fc28eab658549a6002513", kill_on_drop: false }`
[INFO] [stdout] b6948bc10ebff2c053dd01e9df9979683fbb6538a73fc28eab658549a6002513
