[INFO] updating cached repository https://github.com/ArberSephirotheca/Homunculus [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune", kill_on_drop: false }` [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 087b4dca3663faf9fff430f07a49320f6f22a907 [INFO] checking ArberSephirotheca/Homunculus/087b4dca3663faf9fff430f07a49320f6f22a907 against try#c387b04bf028733cd561d62128c8a5eee4bc1458+rustflags=-Dtail_expr_drop_order for pr-130930 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FArberSephirotheca%2FHomunculus" "/workspace/builds/worker-3-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/ArberSephirotheca/Homunculus on toolchain c387b04bf028733cd561d62128c8a5eee4bc1458 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/ArberSephirotheca/Homunculus [INFO] finished tweaking git repo https://github.com/ArberSephirotheca/Homunculus [INFO] tweaked toml for git repo https://github.com/ArberSephirotheca/Homunculus written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/ArberSephirotheca/Homunculus 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" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c5c719e6515ef1542ee1e89cee64e8f9e915ca63f7170e5c61efd468324b3f2d [INFO] running `Command { std: "docker" "start" "-a" "c5c719e6515ef1542ee1e89cee64e8f9e915ca63f7170e5c61efd468324b3f2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c5c719e6515ef1542ee1e89cee64e8f9e915ca63f7170e5c61efd468324b3f2d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c5c719e6515ef1542ee1e89cee64e8f9e915ca63f7170e5c61efd468324b3f2d", kill_on_drop: false }` [INFO] [stdout] c5c719e6515ef1542ee1e89cee64e8f9e915ca63f7170e5c61efd468324b3f2d [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Dtail_expr_drop_order" "-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:6252d7ea7fb8caaf7af6d800c5fb250a9cd862b9a7f9508afb3c54fa7fe1102e" "/opt/rustwide/cargo-home/bin/cargo" "+c387b04bf028733cd561d62128c8a5eee4bc1458" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 854e1e8eb4ca0738604f3e3c11bdea17928b9987f1898259897e3195f09860be [INFO] running `Command { std: "docker" "start" "-a" "854e1e8eb4ca0738604f3e3c11bdea17928b9987f1898259897e3195f09860be", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.81 [INFO] [stderr] Compiling autocfg v1.2.0 [INFO] [stderr] Checking unicode-ident v1.0.12 [INFO] [stderr] Compiling regex-syntax v0.8.3 [INFO] [stderr] Compiling eyre v0.6.12 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Checking text-size v1.1.1 [INFO] [stderr] Checking countme v3.0.1 [INFO] [stderr] Checking dissimilar v1.0.8 [INFO] [stderr] Checking indenter v0.3.3 [INFO] [stderr] Checking hashbrown v0.14.3 [INFO] [stderr] Checking expect-test v1.5.0 [INFO] [stderr] Compiling memoffset v0.9.1 [INFO] [stderr] Compiling num-traits v0.2.18 [INFO] [stderr] Compiling quote v1.0.36 [INFO] [stderr] Checking rowan v0.15.15 [INFO] [stderr] Checking syn v2.0.60 [INFO] [stderr] Compiling logos-codegen v0.14.0 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling syntax_node_derive v0.1.0 (/opt/rustwide/workdir/syntax_node_derive) [INFO] [stderr] Compiling logos-derive v0.14.0 [INFO] [stderr] Checking logos v0.14.0 [INFO] [stderr] Checking asuka v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `ConstantInfo` [INFO] [stdout] --> src/codegen/common.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | BuiltInVariable, ConstantInfo, StorageClass, VariableInfo, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WrapErr` [INFO] [stdout] --> src/codegen/common.rs:8:26 [INFO] [stdout] | [INFO] [stdout] 8 | use eyre::{eyre, Result, WrapErr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rowan::TokenAtOffset` [INFO] [stdout] --> src/compiler/ast/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rowan::TokenAtOffset; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `smallvec::smallvec` [INFO] [stdout] --> src/compiler/ast/ast.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use smallvec::smallvec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SyntaxElement` [INFO] [stdout] --> src/compiler/ast/ast.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | SyntaxElement, SyntaxNode, SyntaxToken, TokenKind, BUILT_IN_VARIABLE_SET, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `expect_test::expect` [INFO] [stdout] --> src/compiler/ast/ast.rs:688:9 [INFO] [stdout] | [INFO] [stdout] 688 | use expect_test::expect; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Parse`, `event::Event`, `lexer::Token`, and `symbol_table::*` [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | event::Event, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 3 | lexer::Token, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 4 | marker::CompletedMarker, [INFO] [stdout] 5 | parser::{Parse, Parser}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | symbol_table::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lazy_static::lazy_static` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use lazy_static::lazy_static; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ConstantInfo` [INFO] [stdout] --> src/codegen/common.rs:5:22 [INFO] [stdout] | [INFO] [stdout] 5 | BuiltInVariable, ConstantInfo, StorageClass, VariableInfo, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `WrapErr` [INFO] [stdout] --> src/codegen/common.rs:8:26 [INFO] [stdout] | [INFO] [stdout] 8 | use eyre::{eyre, Result, WrapErr}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rowan::TokenAtOffset` [INFO] [stdout] --> src/compiler/ast/ast.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use rowan::TokenAtOffset; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `smallvec::smallvec` [INFO] [stdout] --> src/compiler/ast/ast.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use smallvec::smallvec; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SyntaxElement` [INFO] [stdout] --> src/compiler/ast/ast.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | SyntaxElement, SyntaxNode, SyntaxToken, TokenKind, BUILT_IN_VARIABLE_SET, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Parse`, `event::Event`, `lexer::Token`, and `symbol_table::*` [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | event::Event, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 3 | lexer::Token, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 4 | marker::CompletedMarker, [INFO] [stdout] 5 | parser::{Parse, Parser}, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 6 | symbol_table::*, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lazy_static::lazy_static` [INFO] [stdout] --> src/main.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use lazy_static::lazy_static; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/codegen/back/write.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) fn write_to_file(path: &Utf8Path, content: &str) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `path` [INFO] [stdout] --> src/codegen/back/write.rs:3:29 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) fn write_to_file(path: &Utf8Path, content: &str) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_path` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/codegen/back/write.rs:3:46 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) fn write_to_file(path: &Utf8Path, content: &str) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `content` [INFO] [stdout] --> src/codegen/back/write.rs:3:46 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) fn write_to_file(path: &Utf8Path, content: &str) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen/common.rs:206:39 [INFO] [stdout] | [INFO] [stdout] 206 | InstructionValue::Pointer(name, _) => write!(f, ""), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/codegen/common.rs:206:39 [INFO] [stdout] | [INFO] [stdout] 206 | InstructionValue::Pointer(name, _) => write!(f, ""), [INFO] [stdout] | ^^^^ help: if this is intentional, prefix it with an underscore: `_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/codegen/context.rs:436:13 [INFO] [stdout] | [INFO] [stdout] 428 | Stmt::AtomicStoreStatement(atomic_store_stmt) => { [INFO] [stdout] | --------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 436 | Stmt::AtomicStoreStatement(atomic_store_stmt) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/codegen/context.rs:436:13 [INFO] [stdout] | [INFO] [stdout] 428 | Stmt::AtomicStoreStatement(atomic_store_stmt) => { [INFO] [stdout] | --------------------------------------------- matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 436 | Stmt::AtomicStoreStatement(atomic_store_stmt) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `atomic_cmp_exch_expr` [INFO] [stdout] --> src/codegen/context.rs:1373:45 [INFO] [stdout] | [INFO] [stdout] 1373 | Expr::AtomicCompareExchangeExpr(atomic_cmp_exch_expr) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atomic_cmp_exch_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `atomic_cmp_exch_expr` [INFO] [stdout] --> src/codegen/context.rs:1373:45 [INFO] [stdout] | [INFO] [stdout] 1373 | Expr::AtomicCompareExchangeExpr(atomic_cmp_exch_expr) => { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atomic_cmp_exch_expr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `atomic_exchange` [INFO] [stdout] --> src/codegen/context.rs:2589:13 [INFO] [stdout] | [INFO] [stdout] 2589 | let atomic_exchange = program.instructions.get(1).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_atomic_exchange` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `rowan::SyntaxToken` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compiler/ast/ast.rs:299:44 [INFO] [stdout] | [INFO] [stdout] 225 | let tokens: Vec = self [INFO] [stdout] | ------ these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 299 | _ => panic!("Invalid type {}", self.0.first_token().unwrap().text()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: this value of type `rowan::SyntaxToken` has significant drop implementation that will have a different drop order from that of Edition 2021 [INFO] [stdout] --> src/compiler/ast/ast.rs:299:44 [INFO] [stdout] | [INFO] [stdout] 225 | let tokens: Vec = self [INFO] [stdout] | ------ these local bindings with significant drop implementation may observe changes in drop order under Edition 2024 [INFO] [stdout] ... [INFO] [stdout] 299 | _ => panic!("Invalid type {}", self.0.first_token().unwrap().text()), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = warning: this changes meaning in Rust 2024 [INFO] [stdout] = note: for more information, see issue #123739 [INFO] [stdout] = note: requested on the command line with `-D tail-expr-drop-order` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:640:24 [INFO] [stdout] | [INFO] [stdout] 640 | fn op_switch_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `p` [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:640:24 [INFO] [stdout] | [INFO] [stdout] 640 | fn op_switch_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_p` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/compiler/parse/sink.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | fn error(&mut self, err: ParseError) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `err` [INFO] [stdout] --> src/compiler/parse/sink.rs:93:25 [INFO] [stdout] | [INFO] [stdout] 93 | fn error(&mut self, err: ParseError) { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEFAULT_PROGRAM_FILE` is never used [INFO] [stdout] --> src/main.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static DEFAULT_PROGRAM_FILE: &str = "MCProgram.tla"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile` is never used [INFO] [stdout] --> src/main.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn compile(glsl_code: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_file` is never used [INFO] [stdout] --> src/codegen/back/write.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) fn write_to_file(path: &Utf8Path, content: &str) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `value` are never read [INFO] [stdout] --> src/codegen/builder.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ConstantBuilder { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | value: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name`, `value`, and `build` are never used [INFO] [stdout] --> src/codegen/builder.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ConstantBuilder { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 15 | pub fn name(mut self, name: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn value(mut self, value: ConstantType) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `builder` is never used [INFO] [stdout] --> src/codegen/builder.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 33 | impl InstructionArgument { [INFO] [stdout] | ------------------------ associated function in this implementation [INFO] [stdout] 34 | pub fn builder() -> InstructionArgumentBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `scope`, `value`, and `index` are never read [INFO] [stdout] --> src/codegen/builder.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub struct InstructionArgumentBuilder { [INFO] [stdout] | -------------------------- fields in this struct [INFO] [stdout] 41 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 42 | scope: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 43 | value: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 44 | index: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name`, `scope`, `value`, `index`, and `build` are never used [INFO] [stdout] --> src/codegen/builder.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 47 | impl InstructionArgumentBuilder { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 48 | pub fn name(mut self, name: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn scope(mut self, scope: VariableScope) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub fn value(mut self, value: InstructionValue) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn index(mut self, index: IndexKind) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 68 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `builder` is never used [INFO] [stdout] --> src/codegen/builder.rs:79:12 [INFO] [stdout] | [INFO] [stdout] 78 | impl InstructionArguments { [INFO] [stdout] | ------------------------- associated function in this implementation [INFO] [stdout] 79 | pub fn builder() -> InstructionArgumentsBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name`, `num_args`, and `arguments` are never read [INFO] [stdout] --> src/codegen/builder.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 85 | pub struct InstructionArgumentsBuilder { [INFO] [stdout] | --------------------------- fields in this struct [INFO] [stdout] 86 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 87 | num_args: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 88 | arguments: SmallVec<[InstructionArgument; 4]>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name`, `num_args`, `get_name`, `get_num_args`, `push_argument`, and `build` are never used [INFO] [stdout] --> src/codegen/builder.rs:92:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl InstructionArgumentsBuilder { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] 92 | pub fn name(mut self, name: InstructionName) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn num_args(mut self, num_args: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_name(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn get_num_args(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub fn push_argument(mut self, argument: InstructionArgument) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 114 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `builder` is never used [INFO] [stdout] --> src/codegen/builder.rs:128:12 [INFO] [stdout] | [INFO] [stdout] 127 | impl Instruction { [INFO] [stdout] | ---------------- associated function in this implementation [INFO] [stdout] 128 | pub fn builder() -> InstructionBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `position`, `name`, `scope`, and `arguments` are never read [INFO] [stdout] --> src/codegen/builder.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 134 | pub struct InstructionBuilder { [INFO] [stdout] | ------------------ fields in this struct [INFO] [stdout] 135 | position: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 136 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 137 | scope: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 138 | arguments: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `position`, `name`, `arguments`, `scope`, and `build` are never used [INFO] [stdout] --> src/codegen/builder.rs:142:12 [INFO] [stdout] | [INFO] [stdout] 141 | impl InstructionBuilder { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 142 | pub fn position(mut self, position: u32) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 147 | pub fn name(mut self, name: InstructionName) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn arguments(mut self, arguments: InstructionArguments) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 157 | pub fn scope(mut self, scope: InstructionScope) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 162 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `builder` is never used [INFO] [stdout] --> src/codegen/builder.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl Thread { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 177 | pub fn builder() -> ThreadBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instructions` is never read [INFO] [stdout] --> src/codegen/builder.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct ThreadBuilder { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 184 | instructions: SmallVec<[Instruction; 10]>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `instruction` and `build` are never used [INFO] [stdout] --> src/codegen/builder.rs:188:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl ThreadBuilder { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 188 | pub fn instruction(mut self, instruction: Instruction) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn build(self) -> Thread { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `builder` is never used [INFO] [stdout] --> src/codegen/builder.rs:201:12 [INFO] [stdout] | [INFO] [stdout] 200 | impl Program { [INFO] [stdout] | ------------ associated function in this implementation [INFO] [stdout] 201 | pub fn builder() -> ProgramBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/codegen/builder.rs:208:5 [INFO] [stdout] | [INFO] [stdout] 207 | pub struct ProgramBuilder { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 208 | global_vars: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 209 | subgroup_size: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 210 | work_group_size: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 211 | num_work_groups: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 212 | num_threads: Option, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 213 | scheduler: Option, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 214 | // thread: SmallVec<[Thread; 8]>, [INFO] [stdout] 215 | instructions: SmallVec<[Instruction; 10]>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 216 | constants: SmallVec<[Constant; 10]>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/codegen/builder.rs:220:12 [INFO] [stdout] | [INFO] [stdout] 219 | impl ProgramBuilder { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 220 | pub fn global_var(mut self, global_vars: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 225 | pub fn subgroup_size(mut self, subgroup_size: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn work_group_size(mut self, work_group_size: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub fn num_work_groups(mut self, num_work_groups: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | pub fn num_threads(mut self, num_threads: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub fn scheduler(mut self, scheduler: Scheduler) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn push_instruction(mut self, instruction: Instruction) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub(crate) fn push_vec_instructions(mut self, instructions: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LAYOUT_CONFIG_HINT` is never used [INFO] [stdout] --> src/codegen/common.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | static LAYOUT_CONFIG_HINT: &str = "(* Layout Configuration *)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PROGRAM_HINT` is never used [INFO] [stdout] --> src/codegen/common.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static PROGRAM_HINT: &str = "(* Program *)"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `GLOBAL_VARIABLES_HINT` is never used [INFO] [stdout] --> src/codegen/common.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | static GLOBAL_VARIABLES_HINT: &str = "(* Global Variables *)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BinaryExpr` is never used [INFO] [stdout] --> src/codegen/common.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum BinaryExpr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/codegen/common.rs:34:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub enum InstructionName { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 34 | Assignment, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 35 | Return, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 36 | Load, [INFO] [stdout] | ^^^^ [INFO] [stdout] 37 | Store, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 38 | AtomicLoad, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 39 | AtomicStore, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 40 | Branch, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 41 | BranchConditional, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 42 | Label, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 43 | SelectionMerge, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 44 | LoopMerge, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 45 | AtomicExchange, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] 46 | Equal, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 47 | NotEqual, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 48 | LessThan, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 49 | LessThanEqual, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 50 | GreaterThan, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 51 | GreaterThanEqual, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 52 | Add, [INFO] [stdout] | ^^^ [INFO] [stdout] 53 | Sub, [INFO] [stdout] | ^^^ [INFO] [stdout] 54 | Mul, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionName` 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 `Intermediate`, `Local`, `Shared`, `Global`, and `Literal` are never constructed [INFO] [stdout] --> src/codegen/common.rs:87:5 [INFO] [stdout] | [INFO] [stdout] 86 | pub enum VariableScope { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 87 | Intermediate, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 88 | Local, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 89 | Shared, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 90 | Global, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 91 | Literal, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableScope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cast` is never used [INFO] [stdout] --> src/codegen/common.rs:107:12 [INFO] [stdout] | [INFO] [stdout] 106 | impl VariableScope { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 107 | pub fn cast(storage_class: &StorageClass) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `WorkGroup`, `SubGroup`, `Invocation`, and `None` are never constructed [INFO] [stdout] --> src/codegen/common.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum InstructionScope { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 122 | WorkGroup = 2, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 123 | SubGroup = 3, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 124 | Invocation = 4, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 125 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionScope` 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/codegen/common.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 129 | pub enum InstructionBuiltInVariable { [INFO] [stdout] | -------------------------- variants in this enum [INFO] [stdout] 130 | NumWorkgroups, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 131 | WorkgroupSize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 132 | WorkgroupId, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 133 | LocalInvocationId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 134 | GlobalInvocationId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 135 | SubgroupSize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 136 | NumSubgroups, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 137 | SubgroupId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 138 | SubgroupLocalInvocationId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionBuiltInVariable` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cast` is never used [INFO] [stdout] --> src/codegen/common.rs:160:19 [INFO] [stdout] | [INFO] [stdout] 159 | impl InstructionBuiltInVariable { [INFO] [stdout] | ------------------------------- associated function in this implementation [INFO] [stdout] 160 | pub(crate) fn cast(var: BuiltInVariable) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Literal` and `Variable` are never constructed [INFO] [stdout] --> src/codegen/common.rs:179:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub enum IndexKind { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 179 | Literal(i32), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 180 | Variable(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `None`, `Pointer`, `BuiltIn`, `Bool`, `Int`, and `UInt` are never constructed [INFO] [stdout] --> src/codegen/common.rs:193:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub enum InstructionValue { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] 193 | None, [INFO] [stdout] | ^^^^ [INFO] [stdout] 194 | Pointer(String, VariableInfo), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 195 | BuiltIn(InstructionBuiltInVariable), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 196 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 197 | // String(String), [INFO] [stdout] 198 | Int(i32), [INFO] [stdout] | ^^^ [INFO] [stdout] 199 | UInt(u32), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `OBE` and `HSA` are never constructed [INFO] [stdout] --> src/codegen/common.rs:223:5 [INFO] [stdout] | [INFO] [stdout] 222 | pub enum Scheduler { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 223 | OBE, [INFO] [stdout] | ^^^ [INFO] [stdout] 224 | HSA, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scheduler` 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 `name` and `num_args` are never read [INFO] [stdout] --> src/codegen/common.rs:249:9 [INFO] [stdout] | [INFO] [stdout] 248 | pub struct InstructionArguments { [INFO] [stdout] | -------------------- fields in this struct [INFO] [stdout] 249 | pub name: InstructionName, [INFO] [stdout] | ^^^^ [INFO] [stdout] 250 | pub num_args: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionArguments` 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 `position`, `name`, `scope`, and `arguments` are never read [INFO] [stdout] --> src/codegen/common.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct Instruction { [INFO] [stdout] | ----------- fields in this struct [INFO] [stdout] 269 | pub position: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 270 | pub name: InstructionName, [INFO] [stdout] | ^^^^ [INFO] [stdout] 271 | pub scope: InstructionScope, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 272 | pub arguments: InstructionArguments, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Thread` is never constructed [INFO] [stdout] --> src/codegen/common.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 276 | pub struct Thread { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Thread` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Program` is never constructed [INFO] [stdout] --> src/codegen/common.rs:289:12 [INFO] [stdout] | [INFO] [stdout] 289 | pub struct Program { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write_layout`, `write_global_variables`, `write_program`, and `write_to_file` are never used [INFO] [stdout] --> src/codegen/common.rs:308:8 [INFO] [stdout] | [INFO] [stdout] 300 | impl Program { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 308 | fn write_layout(&self, lines: &mut Vec, index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn write_global_variables(&self, lines: &mut Vec, index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | fn write_program(&self, lines: &mut Vec, index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | pub fn write_to_file(&self, path: &Utf8Path) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Bool`, `String`, `Int`, and `Uint` are never constructed [INFO] [stdout] --> src/codegen/constant.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ConstantType { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 5 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | Int(i32), [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | Uint(u32), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstantType` 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 `name` and `value` are never read [INFO] [stdout] --> src/codegen/constant.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Constant { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 13 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | pub value: ConstantType, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Constant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CodegenCx` is never constructed [INFO] [stdout] --> src/codegen/context.rs:13:12 [INFO] [stdout] | [INFO] [stdout] 13 | pub struct CodegenCx { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/codegen/context.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl CodegenCx { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] 22 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | pub(crate) fn increment_inst_position(&mut self) -> u32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub(crate) fn reset_position(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub fn insert_type(&mut self, id: String, ty: SpirvType) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn lookup_type(&self, id: &str) -> Option<&SpirvType> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn insert_variable(&mut self, name: String, var_info: VariableInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 49 | pub fn lookup_variable(&self, id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | pub fn built_in_variable(&self, id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn insert_label(&mut self, label: String, position: u32) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn lookup_label(&self, label: &str) -> Option<&u32> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | pub fn get_from_spirv_type(&self, spirv_type: &SpirvType) -> (InstructionValue, IndexKind) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 117 | fn symbol_table_construction_pass_expr(&mut self, var_name: String, expr: &Expr) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | fn symbol_table_construction_pass_stmt(&mut self, stmt: &Stmt) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 461 | fn symbol_table_construction_pass(&mut self, root: &Root) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 469 | fn generate_code_for_expr( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1381 | fn generate_code_for_stmt(&mut self, stmt: &Stmt) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1744 | pub(crate) fn generate_code(&mut self, root: SyntaxNode) -> Program { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 1771 | pub(crate) fn get_global_variables(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `result_type` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 10 | pub trait ResultType { [INFO] [stdout] | ---------- method in this trait [INFO] [stdout] 11 | fn result_type(&self) -> Option; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `first_operand` and `second_operand` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 14 | pub trait BinaryExpr { [INFO] [stdout] | ---------- methods in this trait [INFO] [stdout] 15 | fn first_operand(&self) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 16 | fn second_operand(&self) -> Option; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Root` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub struct Root(SyntaxNode); [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Root` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ExecutionMode` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 22 | pub struct ExecutionMode(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExecutionMode` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DecorateStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:24:12 [INFO] [stdout] | [INFO] [stdout] 24 | pub struct DecorateStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DecorateStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableRef` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 26 | pub struct VariableRef(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableRef` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableDef` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:28:12 [INFO] [stdout] | [INFO] [stdout] 28 | pub struct VariableDef(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `VariableDef` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FuncStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:30:12 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct FuncStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `FuncStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TypeExpr` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:34:12 [INFO] [stdout] | [INFO] [stdout] 34 | pub struct TypeExpr(SyntaxNode); [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LabelExpr` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:36:12 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct LabelExpr(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LabelExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StoreStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 42 | pub struct StoreStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `StoreStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AtomicStoreStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:44:12 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct AtomicStoreStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AtomicStoreStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BranchConditionalStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:80:12 [INFO] [stdout] | [INFO] [stdout] 80 | pub struct BranchConditionalStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BranchConditionalStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `BranchStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:82:12 [INFO] [stdout] | [INFO] [stdout] 82 | pub struct BranchStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BranchStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SwitchStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:84:12 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct SwitchStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SwitchStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LoopMergeStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:86:12 [INFO] [stdout] | [INFO] [stdout] 86 | pub struct LoopMergeStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LoopMergeStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SelectionMergeStatement` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:88:12 [INFO] [stdout] | [INFO] [stdout] 88 | pub struct SelectionMergeStatement(SyntaxNode); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SelectionMergeStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:91:10 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum Expr { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `Stmt` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:116:10 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum Stmt { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stmt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cast` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:144:19 [INFO] [stdout] | [INFO] [stdout] 143 | impl Expr { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 144 | pub(crate) fn cast(node: SyntaxNode) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `cast` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:185:19 [INFO] [stdout] | [INFO] [stdout] 184 | impl Stmt { [INFO] [stdout] | --------- associated function in this implementation [INFO] [stdout] 185 | pub(crate) fn cast(node: SyntaxNode) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `stmts` and `cast` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:211:19 [INFO] [stdout] | [INFO] [stdout] 210 | impl Root { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] 211 | pub(crate) fn stmts(&self) -> impl Iterator { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub(crate) fn cast(node: SyntaxNode) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ty` and `name` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:224:12 [INFO] [stdout] | [INFO] [stdout] 223 | impl TypeExpr { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 224 | pub fn ty(&self) -> SpirvType { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 302 | pub fn name(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ty_name` and `storage_class` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:311:19 [INFO] [stdout] | [INFO] [stdout] 310 | impl VariableExpr { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 311 | pub(crate) fn ty_name(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub(crate) fn storage_class(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `ty`, `base_var_name`, and `index_name` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:340:19 [INFO] [stdout] | [INFO] [stdout] 339 | impl VariableRef { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 340 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 347 | pub(crate) fn base_var_name(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 355 | pub(crate) fn index_name(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name` and `value` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:366:19 [INFO] [stdout] | [INFO] [stdout] 364 | impl VariableDef { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] 365 | // we want [INFO] [stdout] 366 | pub(crate) fn name(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 373 | pub(crate) fn value(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr`, `ty`, and `pointer` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:379:19 [INFO] [stdout] | [INFO] [stdout] 378 | impl LoadExpr { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 379 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 390 | pub(crate) fn pointer(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr`, `ty`, and `pointer` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:400:19 [INFO] [stdout] | [INFO] [stdout] 399 | impl AtomicLoadExpr { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 400 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 411 | pub(crate) fn pointer(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr`, `pointer`, and `object` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:421:19 [INFO] [stdout] | [INFO] [stdout] 420 | impl StoreStatement { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 421 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 424 | pub(crate) fn pointer(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 431 | pub(crate) fn object(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr`, `pointer`, and `value` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:441:19 [INFO] [stdout] | [INFO] [stdout] 440 | impl AtomicStoreStatement{ [INFO] [stdout] | ------------------------- methods in this implementation [INFO] [stdout] 441 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 445 | pub(crate) fn pointer(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 452 | pub(crate) fn value(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr`, `ty`, and `value` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:462:19 [INFO] [stdout] | [INFO] [stdout] 461 | impl ConstExpr { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] 462 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 466 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 473 | pub(crate) fn value(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:482:19 [INFO] [stdout] | [INFO] [stdout] 481 | impl AddExpr { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 482 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:488:19 [INFO] [stdout] | [INFO] [stdout] 487 | impl SubExpr { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 488 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:494:19 [INFO] [stdout] | [INFO] [stdout] 493 | impl MulExpr { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 494 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:500:19 [INFO] [stdout] | [INFO] [stdout] 499 | impl EqualExpr { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 500 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr` and `ty` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:506:19 [INFO] [stdout] | [INFO] [stdout] 505 | impl NotEqualExpr { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 506 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:519:19 [INFO] [stdout] | [INFO] [stdout] 518 | impl LessThanExpr { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 519 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 524 | impl GreaterThanExpr { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 525 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `pointer`, `memory`, `memory_semantics`, and `value` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:535:19 [INFO] [stdout] | [INFO] [stdout] 534 | impl AtomicExchangeExpr { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 535 | pub(crate) fn pointer(&self) -> Option { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 543 | pub(crate) fn memory(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 551 | pub(crate) fn memory_semantics(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 559 | pub(crate) fn value(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `local_size_x`, `local_size_y`, and `local_size_z` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:573:19 [INFO] [stdout] | [INFO] [stdout] 572 | impl ExecutionMode { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 573 | pub(crate) fn local_size_x(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 579 | pub(crate) fn local_size_y(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 586 | pub(crate) fn local_size_z(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name` and `built_in_var` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:595:19 [INFO] [stdout] | [INFO] [stdout] 594 | impl DecorateStatement { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 595 | pub(crate) fn name(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 602 | pub(crate) fn built_in_var(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `condition`, `true_label`, and `false_label` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:615:19 [INFO] [stdout] | [INFO] [stdout] 614 | impl BranchConditionalStatement { [INFO] [stdout] | ------------------------------- methods in this implementation [INFO] [stdout] 615 | pub(crate) fn condition(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 622 | pub(crate) fn true_label(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 630 | pub(crate) fn false_label(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `label` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:640:19 [INFO] [stdout] | [INFO] [stdout] 639 | impl BranchStatement { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 640 | pub(crate) fn label(&self) -> Option { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `merge_label` and `continue_label` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:653:19 [INFO] [stdout] | [INFO] [stdout] 652 | impl LoopMergeStatement { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] 653 | pub(crate) fn merge_label(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 660 | pub(crate) fn continue_label(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `merge_label` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:670:19 [INFO] [stdout] | [INFO] [stdout] 669 | impl SelectionMergeStatement { [INFO] [stdout] | ---------------------------- method in this implementation [INFO] [stdout] 670 | pub(crate) fn merge_label(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `StartNode`, `StartNodeAt`, `AddToken`, `FinishNode`, `Placeholder`, and `Error` are never constructed [INFO] [stdout] --> src/compiler/parse/event.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Event { [INFO] [stdout] | ----- variants in this enum [INFO] [stdout] 9 | StartNode { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 13 | StartNodeAt { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 17 | AddToken, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 18 | FinishNode, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 19 | Placeholder, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 20 | Error(ParseError), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Event` 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: function `root` is never used [INFO] [stdout] --> src/compiler/parse/grammar/grammar.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) fn root(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `stmt` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:10:15 [INFO] [stdout] | [INFO] [stdout] 10 | pub(super) fn stmt(p: &mut Parser) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `skip_ignored_op` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:116:4 [INFO] [stdout] | [INFO] [stdout] 116 | fn skip_ignored_op(p: &mut Parser) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_execution_mode_stmt` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:126:4 [INFO] [stdout] | [INFO] [stdout] 126 | fn op_execution_mode_stmt(p: &mut Parser) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_decorate_stmt` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:149:4 [INFO] [stdout] | [INFO] [stdout] 149 | fn op_decorate_stmt(p: &mut Parser) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_function_end_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn op_function_end_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_int_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:205:4 [INFO] [stdout] | [INFO] [stdout] 205 | fn op_type_int_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_bool_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:216:4 [INFO] [stdout] | [INFO] [stdout] 216 | fn op_type_bool_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_void_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:225:4 [INFO] [stdout] | [INFO] [stdout] 225 | fn op_type_void_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_function_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:235:4 [INFO] [stdout] | [INFO] [stdout] 235 | fn op_type_function_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_vector_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:246:4 [INFO] [stdout] | [INFO] [stdout] 246 | fn op_type_vector_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_array_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:258:4 [INFO] [stdout] | [INFO] [stdout] 258 | fn op_type_array_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_runtime_array_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:272:4 [INFO] [stdout] | [INFO] [stdout] 272 | fn op_type_runtime_array_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_struct_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:286:4 [INFO] [stdout] | [INFO] [stdout] 286 | fn op_type_struct_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_pointer_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:297:4 [INFO] [stdout] | [INFO] [stdout] 297 | fn op_type_pointer_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_variable_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:313:4 [INFO] [stdout] | [INFO] [stdout] 313 | fn op_variable_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_access_chain_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:330:4 [INFO] [stdout] | [INFO] [stdout] 330 | fn op_access_chain_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_label_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:344:4 [INFO] [stdout] | [INFO] [stdout] 344 | fn op_label_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_constant_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:353:4 [INFO] [stdout] | [INFO] [stdout] 353 | fn op_constant_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_constant_true_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:383:4 [INFO] [stdout] | [INFO] [stdout] 383 | fn op_constant_true_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_constant_false_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:394:4 [INFO] [stdout] | [INFO] [stdout] 394 | fn op_constant_false_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_return_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:405:4 [INFO] [stdout] | [INFO] [stdout] 405 | fn op_return_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_load_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:414:4 [INFO] [stdout] | [INFO] [stdout] 414 | fn op_load_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_store_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:434:4 [INFO] [stdout] | [INFO] [stdout] 434 | fn op_store_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_atomic_load_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:453:4 [INFO] [stdout] | [INFO] [stdout] 453 | fn op_atomic_load_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_atomic_store_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:466:4 [INFO] [stdout] | [INFO] [stdout] 466 | fn op_atomic_store_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_equal_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:479:4 [INFO] [stdout] | [INFO] [stdout] 479 | fn op_equal_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_not_equal_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:494:4 [INFO] [stdout] | [INFO] [stdout] 494 | fn op_not_equal_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_greater_than_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:509:4 [INFO] [stdout] | [INFO] [stdout] 509 | fn op_greater_than_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_greater_than_equal_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:524:4 [INFO] [stdout] | [INFO] [stdout] 524 | fn op_greater_than_equal_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_less_than_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:539:4 [INFO] [stdout] | [INFO] [stdout] 539 | fn op_less_than_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_less_than_equal_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:554:4 [INFO] [stdout] | [INFO] [stdout] 554 | fn op_less_than_equal_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_add_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:569:4 [INFO] [stdout] | [INFO] [stdout] 569 | fn op_add_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_sub_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:584:4 [INFO] [stdout] | [INFO] [stdout] 584 | fn op_sub_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_mul_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:599:4 [INFO] [stdout] | [INFO] [stdout] 599 | fn op_mul_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_branch_conditional_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:614:4 [INFO] [stdout] | [INFO] [stdout] 614 | fn op_branch_conditional_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_branch_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:629:4 [INFO] [stdout] | [INFO] [stdout] 629 | fn op_branch_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_switch_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:640:4 [INFO] [stdout] | [INFO] [stdout] 640 | fn op_switch_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_loop_merge_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:645:4 [INFO] [stdout] | [INFO] [stdout] 645 | fn op_loop_merge_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_selection_merge_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:659:4 [INFO] [stdout] | [INFO] [stdout] 659 | fn op_selection_merge_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_atomic_exchange_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:671:4 [INFO] [stdout] | [INFO] [stdout] 671 | fn op_atomic_exchange_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_atomic_compare_exchange_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:696:4 [INFO] [stdout] | [INFO] [stdout] 696 | fn op_atomic_compare_exchange_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `variable_def` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:721:4 [INFO] [stdout] | [INFO] [stdout] 721 | fn variable_def(p: &mut Parser) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Lexer` is never constructed [INFO] [stdout] --> src/compiler/parse/lexer.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct Lexer<'t> { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/compiler/parse/lexer.rs:20:19 [INFO] [stdout] | [INFO] [stdout] 19 | impl<'t> Lexer<'t> { [INFO] [stdout] | ------------------ associated function in this implementation [INFO] [stdout] 20 | pub(crate) fn new(input: &'t str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pos` is never read [INFO] [stdout] --> src/compiler/parse/marker.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct Marker { [INFO] [stdout] | ------ field in this struct [INFO] [stdout] 4 | pos: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new` and `complete` are never used [INFO] [stdout] --> src/compiler/parse/marker.rs:9:19 [INFO] [stdout] | [INFO] [stdout] 8 | impl Marker { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 9 | pub(super) fn new(pos: usize) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 16 | pub(super) fn complete(mut self, p: &mut Parser, kind: TokenKind) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CompletedMarker` is never constructed [INFO] [stdout] --> src/compiler/parse/marker.rs:40:19 [INFO] [stdout] | [INFO] [stdout] 40 | pub(crate) struct CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `precede` is never used [INFO] [stdout] --> src/compiler/parse/marker.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 44 | impl CompletedMarker { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 45 | pub(super) fn precede(&self, p: &mut Parser) -> Marker { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AsukaResult` is never used [INFO] [stdout] --> src/compiler/parse/parser.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type AsukaResult = Result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RECOVERY_SET` is never used [INFO] [stdout] --> src/compiler/parse/parser.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const RECOVERY_SET: [TokenKind; 1] = [TokenKind::Newline]; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parser` is never constructed [INFO] [stdout] --> src/compiler/parse/parser.rs:16:19 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) struct Parser<'l, 't> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/compiler/parse/parser.rs:23:19 [INFO] [stdout] | [INFO] [stdout] 22 | impl<'l, 't> Parser<'l, 't> { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 23 | pub(crate) fn new(source: Source<'l, 't>) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub(crate) fn parse(mut self) -> Vec { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 37 | pub(crate) fn start_node(&mut self, kind: TokenKind) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub(crate) fn start_node_at(&mut self, checkpoint: usize, kind: TokenKind) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) fn finish_node(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub(crate) fn checkpoint(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | pub(crate) fn bump(&mut self) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub(crate) fn peek(&mut self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub(crate) fn start(&mut self) -> Marker { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | pub(crate) fn expect(&mut self, kind: TokenKind) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | pub(crate) fn at(&mut self, kind: TokenKind) -> bool { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 98 | pub(crate) fn error(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 123 | pub(crate) fn at_set(&mut self, set: &[TokenKind]) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | pub(crate) fn at_end(&mut self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Parse` is never constructed [INFO] [stdout] --> src/compiler/parse/parser.rs:132:12 [INFO] [stdout] | [INFO] [stdout] 132 | pub struct Parse { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `debug_tree` and `syntax` are never used [INFO] [stdout] --> src/compiler/parse/parser.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 136 | impl Parse { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] 137 | pub fn debug_tree(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn syntax(&self) -> SyntaxNode { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse` is never used [INFO] [stdout] --> src/compiler/parse/parser.rs:158:8 [INFO] [stdout] | [INFO] [stdout] 158 | pub fn parse(input: &str) -> Parse { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AsukaError` is never used [INFO] [stdout] --> src/compiler/parse/parser_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AsukaError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Sink` is never constructed [INFO] [stdout] --> src/compiler/parse/sink.rs:6:19 [INFO] [stdout] | [INFO] [stdout] 6 | pub(super) struct Sink<'l, 't> { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `finish`, `eat_trivial`, `token`, and `error` are never used [INFO] [stdout] --> src/compiler/parse/sink.rs:15:19 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'l, 't> Sink<'l, 't> { [INFO] [stdout] | ------------------------- associated items in this implementation [INFO] [stdout] 15 | pub(super) fn new(tokens: &'l [Token<'t>], events: Vec) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub(super) fn finish(mut self) -> Parse { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | fn eat_trivial(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | fn token(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | fn error(&mut self, err: ParseError) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Source` is never constructed [INFO] [stdout] --> src/compiler/parse/source.rs:4:19 [INFO] [stdout] | [INFO] [stdout] 4 | pub(crate) struct Source<'l, 't> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/compiler/parse/source.rs:10:19 [INFO] [stdout] | [INFO] [stdout] 9 | impl<'l, 't> Source<'l, 't> { [INFO] [stdout] | --------------------------- associated items in this implementation [INFO] [stdout] 10 | pub(super) fn new(tokens: &'l [Token<'t>]) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 14 | pub(super) fn next_token(&mut self) -> Option<&'l Token<'t>> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub(super) fn peek_kind(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub(crate) fn peek_token(&mut self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | fn eat_trivial(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | fn peek_kind_raw(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | fn peek_token_raw(&self) -> Option<&Token> { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) fn last_token_range(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ConstantSymbol` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type ConstantSymbol = String; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SSAID` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type SSAID = String; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Label` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | type Label = String; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Position` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:14:6 [INFO] [stdout] | [INFO] [stdout] 14 | type Position = u32; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Global`, `Shared`, `Local`, `Intermediate`, and `Constant` are never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) enum StorageClass { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 18 | // Uniform, Input and Output in SPIR-V are all Global in our case [INFO] [stdout] 19 | Global, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 20 | // Workgroup in SPIR-V is Shared in our case [INFO] [stdout] 21 | Shared, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 22 | // Function in SPIR-V is Local in our case [INFO] [stdout] 23 | Local, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 24 | // This is for intermediate SSA variables [INFO] [stdout] 25 | Intermediate, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 26 | // This is for constant variables [INFO] [stdout] 27 | Constant, [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: multiple variants are never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:44:5 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) enum BuiltInVariable { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] 44 | NumWorkgroups, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 45 | WorkgroupSize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 46 | WorkgroupId, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 47 | LocalInvocationId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 48 | GlobalInvocationId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 49 | SubgroupSize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 50 | NumSubgroups, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 51 | SubgroupId, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 52 | SubgroupLocalInvocationId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BuiltInVariable` 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 `cast` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:56:12 [INFO] [stdout] | [INFO] [stdout] 55 | impl BuiltInVariable { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] 56 | pub fn cast(token: TokenKind) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) enum SpirvType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 77 | Void, [INFO] [stdout] | ^^^^ [INFO] [stdout] 78 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | Bool, [INFO] [stdout] | ^^^^ [INFO] [stdout] 82 | Int { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | Vector { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | Array { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | RuntimeArray { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | Struct { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | Pointer { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpirvType` 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 `default_value` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl SpirvType { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 112 | pub fn default_value(&self) -> ConstantInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Int` and `Bool` are never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:124:5 [INFO] [stdout] | [INFO] [stdout] 123 | pub(crate) enum ConstantInfo { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 124 | Int { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | Bool { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstantInfo` 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 items `to_text`, `new_int`, `new_bool`, `get_int_value`, `get_bool_value`, and `is_signed` are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 138 | impl ConstantInfo { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 139 | pub(crate) fn to_text(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn new_int(value: i32, signed: bool) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 152 | pub fn new_bool(value: bool) -> Self { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn get_int_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn get_bool_value(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn is_signed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SpirvTypeTable` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:176:12 [INFO] [stdout] | [INFO] [stdout] 176 | pub struct SpirvTypeTable { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, and `lookup` are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:181:12 [INFO] [stdout] | [INFO] [stdout] 180 | impl SpirvTypeTable { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 181 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn insert(&mut self, id: String, ty: SpirvType) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 190 | pub fn lookup(&self, id: &str) -> Option<&SpirvType> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ConstIndex` and `VariableIndex` are never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:198:5 [INFO] [stdout] | [INFO] [stdout] 197 | pub enum AccessStep { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 198 | ConstIndex(i32), // Constant index [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 199 | VariableIndex(VariableSymbol), // Variable index [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `AccessStep` 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 associated items are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:213:12 [INFO] [stdout] | [INFO] [stdout] 212 | impl VariableInfo { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 213 | pub fn new( [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 235 | pub(crate) fn new_const_int(id: String, value: i32, signed: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 245 | pub(crate) fn new_const_bool(id: String, value: bool) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | pub(crate) fn get_var_name(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 259 | pub(crate) fn is_builtin(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 263 | pub(crate) fn get_builtin(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 266 | pub(crate) fn get_ty(&self) -> SpirvType { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | pub(crate) fn get_storage_class(&self) -> StorageClass { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub(crate) fn initial_value(&self) -> ConstantInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub(crate) fn get_index(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn is_intermediate(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub(crate) fn is_global(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub(crate) fn is_shared(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub(crate) fn is_local(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | pub(crate) fn is_constant(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | pub(crate) fn get_constant_int(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | pub(crate) fn get_constant_bool(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableInfoBuilder` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | pub struct VariableInfoBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `Scope` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:355:6 [INFO] [stdout] | [INFO] [stdout] 355 | type Scope = HashMap; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableSymbolTable` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:358:12 [INFO] [stdout] | [INFO] [stdout] 358 | pub struct VariableSymbolTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, `lookup`, and `get_global_variables` are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:367:12 [INFO] [stdout] | [INFO] [stdout] 365 | impl VariableSymbolTable { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 366 | // Create a new, empty symbol table [INFO] [stdout] 367 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 377 | pub fn insert(&mut self, var_name: String, var_info: VariableInfo) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 398 | pub fn lookup(&self, name: &str) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 414 | pub fn get_global_variables(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConstantSymbolTable` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub struct ConstantSymbolTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, and `lookup` are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 423 | impl ConstantSymbolTable { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 424 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub fn insert(&mut self, id: String, constant: ConstantInfo) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn lookup(&self, id: &str) -> Option<&ConstantInfo> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `LabelTable` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:439:12 [INFO] [stdout] | [INFO] [stdout] 439 | pub struct LabelTable { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, and `lookup` are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:444:12 [INFO] [stdout] | [INFO] [stdout] 443 | impl LabelTable { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 444 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 450 | pub fn insert(&mut self, label: Label, position: Position) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 454 | pub fn lookup(&self, label: &str) -> Option<&Position> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SyntaxElement` is never used [INFO] [stdout] --> src/compiler/parse/syntax.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub(crate) type SyntaxElement = rowan::SyntaxElement; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OpUnsupported` is never constructed [INFO] [stdout] --> src/compiler/parse/syntax.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum LexingError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 25 | OpUnsupported(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LexingError` 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: static `IGNORED_INSTRUCTION_SET` is never used [INFO] [stdout] --> src/compiler/parse/syntax.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 37 | pub(crate) static IGNORED_INSTRUCTION_SET: [TokenKind; 14] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `BUILT_IN_VARIABLE_SET` is never used [INFO] [stdout] --> src/compiler/parse/syntax.rs:56:19 [INFO] [stdout] | [INFO] [stdout] 56 | pub(crate) static BUILT_IN_VARIABLE_SET: [TokenKind; 9] = [ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `is_trivial` is never used [INFO] [stdout] --> src/compiler/parse/syntax.rs:433:19 [INFO] [stdout] | [INFO] [stdout] 432 | impl TokenKind { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 433 | pub(crate) fn is_trivial(self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | program.write_to_file(&file); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = program.write_to_file(&file); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEFAULT_PROGRAM_FILE` is never used [INFO] [stdout] --> src/main.rs:13:8 [INFO] [stdout] | [INFO] [stdout] 13 | static DEFAULT_PROGRAM_FILE: &str = "MCProgram.tla"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile` is never used [INFO] [stdout] --> src/main.rs:22:4 [INFO] [stdout] | [INFO] [stdout] 22 | fn compile(glsl_code: &str) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_to_file` is never used [INFO] [stdout] --> src/codegen/back/write.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) fn write_to_file(path: &Utf8Path, content: &str) -> Result<(), std::io::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `name` and `value` are never read [INFO] [stdout] --> src/codegen/builder.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub struct ConstantBuilder { [INFO] [stdout] | --------------- fields in this struct [INFO] [stdout] 10 | name: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] 11 | value: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `name`, `value`, and `build` are never used [INFO] [stdout] --> src/codegen/builder.rs:15:12 [INFO] [stdout] | [INFO] [stdout] 14 | impl ConstantBuilder { [INFO] [stdout] | -------------------- methods in this implementation [INFO] [stdout] 15 | pub fn name(mut self, name: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 20 | pub fn value(mut self, value: ConstantType) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn build(self) -> Result { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `get_name` and `get_num_args` are never used [INFO] [stdout] --> src/codegen/builder.rs:101:12 [INFO] [stdout] | [INFO] [stdout] 91 | impl InstructionArgumentsBuilder { [INFO] [stdout] | -------------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn get_name(&self) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub fn get_num_args(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `builder` is never used [INFO] [stdout] --> src/codegen/builder.rs:177:12 [INFO] [stdout] | [INFO] [stdout] 176 | impl Thread { [INFO] [stdout] | ----------- associated function in this implementation [INFO] [stdout] 177 | pub fn builder() -> ThreadBuilder { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `instructions` is never read [INFO] [stdout] --> src/codegen/builder.rs:184:5 [INFO] [stdout] | [INFO] [stdout] 183 | pub struct ThreadBuilder { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 184 | instructions: SmallVec<[Instruction; 10]>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `instruction` and `build` are never used [INFO] [stdout] --> src/codegen/builder.rs:188:12 [INFO] [stdout] | [INFO] [stdout] 187 | impl ThreadBuilder { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 188 | pub fn instruction(mut self, instruction: Instruction) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 193 | pub fn build(self) -> Thread { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `num_threads` and `push_vec_instructions` are never used [INFO] [stdout] --> src/codegen/builder.rs:240:12 [INFO] [stdout] | [INFO] [stdout] 219 | impl ProgramBuilder { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 240 | pub fn num_threads(mut self, num_threads: u32) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 255 | pub(crate) fn push_vec_instructions(mut self, instructions: Vec) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LAYOUT_CONFIG_HINT` is never used [INFO] [stdout] --> src/codegen/common.rs:14:8 [INFO] [stdout] | [INFO] [stdout] 14 | static LAYOUT_CONFIG_HINT: &str = "(* Layout Configuration *)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `PROGRAM_HINT` is never used [INFO] [stdout] --> src/codegen/common.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 15 | static PROGRAM_HINT: &str = "(* Program *)"; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `GLOBAL_VARIABLES_HINT` is never used [INFO] [stdout] --> src/codegen/common.rs:16:8 [INFO] [stdout] | [INFO] [stdout] 16 | static GLOBAL_VARIABLES_HINT: &str = "(* Global Variables *)"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `BinaryExpr` is never used [INFO] [stdout] --> src/codegen/common.rs:19:10 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum BinaryExpr { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `WorkGroup`, `SubGroup`, and `Invocation` are never constructed [INFO] [stdout] --> src/codegen/common.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 119 | pub enum InstructionScope { [INFO] [stdout] | ---------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 122 | WorkGroup = 2, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 123 | SubGroup = 3, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 124 | Invocation = 4, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionScope` 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 `Variable` is never constructed [INFO] [stdout] --> src/codegen/common.rs:180:5 [INFO] [stdout] | [INFO] [stdout] 178 | pub enum IndexKind { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 179 | Literal(i32), [INFO] [stdout] 180 | Variable(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IndexKind` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UInt` is never constructed [INFO] [stdout] --> src/codegen/common.rs:199:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub enum InstructionValue { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 199 | UInt(u32), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionValue` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `HSA` is never constructed [INFO] [stdout] --> src/codegen/common.rs:224:5 [INFO] [stdout] | [INFO] [stdout] 222 | pub enum Scheduler { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] 223 | OBE, [INFO] [stdout] 224 | HSA, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scheduler` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `position` is never read [INFO] [stdout] --> src/codegen/common.rs:269:9 [INFO] [stdout] | [INFO] [stdout] 268 | pub struct Instruction { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] 269 | pub position: u32, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Instruction` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Thread` is never constructed [INFO] [stdout] --> src/codegen/common.rs:276:12 [INFO] [stdout] | [INFO] [stdout] 276 | pub struct Thread { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Thread` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/codegen/common.rs:290:9 [INFO] [stdout] | [INFO] [stdout] 289 | pub struct Program { [INFO] [stdout] | ------- fields in this struct [INFO] [stdout] 290 | pub global_vars: Vec, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 291 | pub subgroup_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 292 | pub work_group_size: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 293 | pub num_work_groups: u32, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 294 | pub num_threads: u32, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 295 | pub scheduler: Scheduler, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 296 | pub instructions: SmallVec<[Instruction; 10]>, [INFO] [stdout] 297 | pub constants: SmallVec<[Constant; 10]>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Program` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `write_layout`, `write_global_variables`, `write_program`, and `write_to_file` are never used [INFO] [stdout] --> src/codegen/common.rs:308:8 [INFO] [stdout] | [INFO] [stdout] 300 | impl Program { [INFO] [stdout] | ------------ methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 308 | fn write_layout(&self, lines: &mut Vec, index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 324 | fn write_global_variables(&self, lines: &mut Vec, index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 342 | fn write_program(&self, lines: &mut Vec, index: usize) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 360 | pub fn write_to_file(&self, path: &Utf8Path) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Bool`, `String`, `Int`, and `Uint` are never constructed [INFO] [stdout] --> src/codegen/constant.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum ConstantType { [INFO] [stdout] | ------------ variants in this enum [INFO] [stdout] 5 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 6 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 7 | Int(i32), [INFO] [stdout] | ^^^ [INFO] [stdout] 8 | Uint(u32), [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstantType` 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 `name` and `value` are never read [INFO] [stdout] --> src/codegen/constant.rs:13:9 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Constant { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 13 | pub name: String, [INFO] [stdout] | ^^^^ [INFO] [stdout] 14 | pub value: ConstantType, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Constant` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> src/codegen/context.rs:1791:8 [INFO] [stdout] | [INFO] [stdout] 1791 | fn check(input: &str, expected_tree: expect_test::Expect) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/ast/ast.rs:30:26 [INFO] [stdout] | [INFO] [stdout] 30 | pub struct FuncStatement(SyntaxNode); [INFO] [stdout] | ------------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `FuncStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/ast/ast.rs:36:22 [INFO] [stdout] | [INFO] [stdout] 36 | pub struct LabelExpr(SyntaxNode); [INFO] [stdout] | --------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `LabelExpr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/ast/ast.rs:84:28 [INFO] [stdout] | [INFO] [stdout] 84 | pub struct SwitchStatement(SyntaxNode); [INFO] [stdout] | --------------- ^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this struct [INFO] [stdout] | [INFO] [stdout] = help: consider removing this field [INFO] [stdout] = note: `SwitchStatement` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/ast/ast.rs:96:15 [INFO] [stdout] | [INFO] [stdout] 96 | LabelExpr(LabelExpr), [INFO] [stdout] | --------- ^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is 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] 96 | LabelExpr(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/ast/ast.rs:100:19 [INFO] [stdout] | [INFO] [stdout] 100 | ConstTrueExpr(ConstTrueExpr), [INFO] [stdout] | ------------- ^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is 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] 100 | ConstTrueExpr(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/ast/ast.rs:101:20 [INFO] [stdout] | [INFO] [stdout] 101 | ConstFalseExpr(ConstFalseExpr), [INFO] [stdout] | -------------- ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is 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] 101 | ConstFalseExpr(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `ExecutionModeExpr` is never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:94:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum Expr { [INFO] [stdout] | ---- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 94 | ExecutionModeExpr(ExecutionMode), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `0` is never read [INFO] [stdout] --> src/compiler/ast/ast.rs:123:21 [INFO] [stdout] | [INFO] [stdout] 123 | ReturnStatement(ReturnStatement), [INFO] [stdout] | --------------- ^^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | field in this variant [INFO] [stdout] | [INFO] [stdout] = note: `Stmt` has a derived impl for the trait `Debug`, but this is 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] 123 | ReturnStatement(()), [INFO] [stdout] | ~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `FuncStatement` and `SwitchStatement` are never constructed [INFO] [stdout] --> src/compiler/ast/ast.rs:122:5 [INFO] [stdout] | [INFO] [stdout] 116 | pub enum Stmt { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 122 | FuncStatement(FuncStatement), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | SwitchStatement(SwitchStatement), [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Stmt` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr` and `ty` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:379:19 [INFO] [stdout] | [INFO] [stdout] 378 | impl LoadExpr { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] 379 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 383 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr` and `ty` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:400:19 [INFO] [stdout] | [INFO] [stdout] 399 | impl AtomicLoadExpr { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 400 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 404 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:421:19 [INFO] [stdout] | [INFO] [stdout] 420 | impl StoreStatement { [INFO] [stdout] | ------------------- method in this implementation [INFO] [stdout] 421 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:441:19 [INFO] [stdout] | [INFO] [stdout] 440 | impl AtomicStoreStatement{ [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] 441 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:462:19 [INFO] [stdout] | [INFO] [stdout] 461 | impl ConstExpr { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 462 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:482:19 [INFO] [stdout] | [INFO] [stdout] 481 | impl AddExpr { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 482 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:488:19 [INFO] [stdout] | [INFO] [stdout] 487 | impl SubExpr { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 488 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:494:19 [INFO] [stdout] | [INFO] [stdout] 493 | impl MulExpr { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] 494 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:500:19 [INFO] [stdout] | [INFO] [stdout] 499 | impl EqualExpr { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 500 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `expr` and `ty` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:506:19 [INFO] [stdout] | [INFO] [stdout] 505 | impl NotEqualExpr { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 506 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 510 | pub(crate) fn ty(&self) -> Option { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:519:19 [INFO] [stdout] | [INFO] [stdout] 518 | impl LessThanExpr { [INFO] [stdout] | ----------------- method in this implementation [INFO] [stdout] 519 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `expr` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:525:19 [INFO] [stdout] | [INFO] [stdout] 524 | impl GreaterThanExpr { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 525 | pub(crate) fn expr(&self) -> Option { [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `memory` and `memory_semantics` are never used [INFO] [stdout] --> src/compiler/ast/ast.rs:543:19 [INFO] [stdout] | [INFO] [stdout] 534 | impl AtomicExchangeExpr { [INFO] [stdout] | ----------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 543 | pub(crate) fn memory(&self) -> Option { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 551 | pub(crate) fn memory_semantics(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> src/compiler/ast/ast.rs:689:8 [INFO] [stdout] | [INFO] [stdout] 689 | fn check(input: &str, expected_tree: expect_test::Expect) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `StartNodeAt` is never constructed [INFO] [stdout] --> src/compiler/parse/event.rs:13:5 [INFO] [stdout] | [INFO] [stdout] 8 | pub enum Event { [INFO] [stdout] | ----- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 13 | StartNodeAt { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Event` 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: function `op_function_end_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:197:4 [INFO] [stdout] | [INFO] [stdout] 197 | fn op_function_end_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_type_function_expr` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:235:4 [INFO] [stdout] | [INFO] [stdout] 235 | fn op_type_function_expr(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `op_switch_statement` is never used [INFO] [stdout] --> src/compiler/parse/grammar/statement.rs:640:4 [INFO] [stdout] | [INFO] [stdout] 640 | fn op_switch_statement(p: &mut Parser) -> CompletedMarker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `tokens_to_capture` and `inside_function` are never read [INFO] [stdout] --> src/compiler/parse/lexer.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) struct Lexer<'t> { [INFO] [stdout] | ----- fields in this struct [INFO] [stdout] 7 | inner: logos::Lexer<'t, TokenKind>, [INFO] [stdout] 8 | tokens_to_capture: Vec>, // Store captured tokens [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] 9 | inside_function: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `pos` is never read [INFO] [stdout] --> src/compiler/parse/marker.rs:41:5 [INFO] [stdout] | [INFO] [stdout] 40 | pub(crate) struct CompletedMarker { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 41 | pos: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `precede` is never used [INFO] [stdout] --> src/compiler/parse/marker.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 44 | impl CompletedMarker { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] 45 | pub(super) fn precede(&self, p: &mut Parser) -> Marker { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `AsukaResult` is never used [INFO] [stdout] --> src/compiler/parse/parser.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | type AsukaResult = Result; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `RECOVERY_SET` is never used [INFO] [stdout] --> src/compiler/parse/parser.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const RECOVERY_SET: [TokenKind; 1] = [TokenKind::Newline]; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `start_node`, `start_node_at`, `finish_node`, and `checkpoint` are never used [INFO] [stdout] --> src/compiler/parse/parser.rs:37:19 [INFO] [stdout] | [INFO] [stdout] 22 | impl<'l, 't> Parser<'l, 't> { [INFO] [stdout] | --------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 37 | pub(crate) fn start_node(&mut self, kind: TokenKind) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 43 | pub(crate) fn start_node_at(&mut self, checkpoint: usize, kind: TokenKind) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) fn finish_node(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 51 | pub(crate) fn checkpoint(&mut self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `AsukaError` is never used [INFO] [stdout] --> src/compiler/parse/parser_error.rs:4:10 [INFO] [stdout] | [INFO] [stdout] 4 | pub enum AsukaError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `check` is never used [INFO] [stdout] --> src/compiler/parse/parser_error.rs:47:8 [INFO] [stdout] | [INFO] [stdout] 47 | fn check( [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `error` is never used [INFO] [stdout] --> src/compiler/parse/sink.rs:93:8 [INFO] [stdout] | [INFO] [stdout] 14 | impl<'l, 't> Sink<'l, 't> { [INFO] [stdout] | ------------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 93 | fn error(&mut self, err: ParseError) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `ConstantSymbol` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:11:6 [INFO] [stdout] | [INFO] [stdout] 11 | type ConstantSymbol = String; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `Intermediate` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) enum StorageClass { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 25 | Intermediate, [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 `Function`, `Array`, `RuntimeArray`, and `Struct` are never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:78:5 [INFO] [stdout] | [INFO] [stdout] 76 | pub(crate) enum SpirvType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 77 | Void, [INFO] [stdout] 78 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | Array { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | RuntimeArray { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 97 | Struct { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SpirvType` 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 `default_value` is never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:112:12 [INFO] [stdout] | [INFO] [stdout] 111 | impl SpirvType { [INFO] [stdout] | -------------- method in this implementation [INFO] [stdout] 112 | pub fn default_value(&self) -> ConstantInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `to_text`, `get_int_value`, `get_bool_value`, and `is_signed` are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:139:19 [INFO] [stdout] | [INFO] [stdout] 138 | impl ConstantInfo { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] 139 | pub(crate) fn to_text(&self) -> String { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 155 | pub fn get_int_value(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | pub fn get_bool_value(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 168 | pub fn is_signed(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:266:19 [INFO] [stdout] | [INFO] [stdout] 212 | impl VariableInfo { [INFO] [stdout] | ----------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 266 | pub(crate) fn get_ty(&self) -> SpirvType { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 274 | pub(crate) fn initial_value(&self) -> ConstantInfo { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 279 | pub(crate) fn get_index(&self) -> i32 { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | pub(crate) fn is_intermediate(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | pub(crate) fn is_global(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub(crate) fn is_shared(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 308 | pub(crate) fn is_local(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `VariableInfoBuilder` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:347:12 [INFO] [stdout] | [INFO] [stdout] 347 | pub struct VariableInfoBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ConstantSymbolTable` is never constructed [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:419:12 [INFO] [stdout] | [INFO] [stdout] 419 | pub struct ConstantSymbolTable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `insert`, and `lookup` are never used [INFO] [stdout] --> src/compiler/parse/symbol_table.rs:424:12 [INFO] [stdout] | [INFO] [stdout] 423 | impl ConstantSymbolTable { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 424 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 430 | pub fn insert(&mut self, id: String, constant: ConstantInfo) { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 434 | pub fn lookup(&self, id: &str) -> Option<&ConstantInfo> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `SyntaxElement` is never used [INFO] [stdout] --> src/compiler/parse/syntax.rs:21:17 [INFO] [stdout] | [INFO] [stdout] 21 | pub(crate) type SyntaxElement = rowan::SyntaxElement; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `OpUnsupported` is never constructed [INFO] [stdout] --> src/compiler/parse/syntax.rs:25:5 [INFO] [stdout] | [INFO] [stdout] 24 | pub enum LexingError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] 25 | OpUnsupported(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LexingError` 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: unused `Result` that must be used [INFO] [stdout] --> src/main.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 28 | program.write_to_file(&file); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 28 | let _ = program.write_to_file(&file); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 1 previous error; 192 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `asuka` (bin "asuka") due to 2 previous errors; 192 warnings emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 1 previous error; 89 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `asuka` (bin "asuka" test) due to 2 previous errors; 89 warnings emitted [INFO] running `Command { std: "docker" "inspect" "854e1e8eb4ca0738604f3e3c11bdea17928b9987f1898259897e3195f09860be", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "854e1e8eb4ca0738604f3e3c11bdea17928b9987f1898259897e3195f09860be", kill_on_drop: false }` [INFO] [stdout] 854e1e8eb4ca0738604f3e3c11bdea17928b9987f1898259897e3195f09860be