[INFO] cloning repository https://github.com/coldielb/colang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/coldielb/colang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoldielb%2Fcolang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoldielb%2Fcolang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e4abaef1e9e9503b21bcc4744e6fab1f7bc90e00 [INFO] testing coldielb/colang against try#028592fec99e54cc92def5a2a849c673b066dd93 for pr-146098 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoldielb%2Fcolang" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/coldielb/colang [INFO] finished tweaking git repo https://github.com/coldielb/colang [INFO] tweaked toml for git repo https://github.com/coldielb/colang written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/coldielb/colang on toolchain 028592fec99e54cc92def5a2a849c673b066dd93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+028592fec99e54cc92def5a2a849c673b066dd93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/coldielb/colang 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" "+028592fec99e54cc92def5a2a849c673b066dd93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [ERROR] error running command: no output for 300 seconds [INFO] testing coldielb/colang against try#028592fec99e54cc92def5a2a849c673b066dd93 for pr-146098 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcoldielb%2Fcolang" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/coldielb/colang [INFO] finished tweaking git repo https://github.com/coldielb/colang [INFO] tweaked toml for git repo https://github.com/coldielb/colang written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/coldielb/colang on toolchain 028592fec99e54cc92def5a2a849c673b066dd93 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+028592fec99e54cc92def5a2a849c673b066dd93" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/coldielb/colang 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" "+028592fec99e54cc92def5a2a849c673b066dd93" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded ciborium-io v0.2.2 [INFO] [stderr] Downloaded logos-derive v0.13.0 [INFO] [stderr] Downloaded rand_xorshift v0.4.0 [INFO] [stderr] Downloaded rusty-fork v0.3.0 [INFO] [stderr] Downloaded errno v0.3.12 [INFO] [stderr] Downloaded plotters-svg v0.3.7 [INFO] [stderr] Downloaded ciborium-ll v0.2.2 [INFO] [stderr] Downloaded logos v0.13.0 [INFO] [stderr] Downloaded oorandom v11.1.5 [INFO] [stderr] Downloaded unarray v0.1.4 [INFO] [stderr] Downloaded clap_derive v4.5.40 [INFO] [stderr] Downloaded ciborium v0.2.2 [INFO] [stderr] Downloaded logos-codegen v0.13.0 [INFO] [stderr] Downloaded clap v4.5.40 [INFO] [stderr] Downloaded bumpalo v3.18.1 [INFO] [stderr] Downloaded proptest v1.7.0 [INFO] [stderr] Downloaded pretty_assertions v1.4.1 [INFO] [stderr] Downloaded plotters v0.3.7 [INFO] [stderr] Downloaded yansi v1.0.1 [INFO] [stderr] Downloaded plotters-backend v0.3.7 [INFO] [stderr] Downloaded clap_builder v4.5.40 [INFO] [stderr] Downloaded syn v2.0.103 [INFO] [stderr] Downloaded libc v0.2.173 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+028592fec99e54cc92def5a2a849c673b066dd93" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 05fb6dcdebec547caa2b82441627f20ed38db9b8d39efdbe4334b24c4ce596af [INFO] running `Command { std: "docker" "start" "-a" "05fb6dcdebec547caa2b82441627f20ed38db9b8d39efdbe4334b24c4ce596af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05fb6dcdebec547caa2b82441627f20ed38db9b8d39efdbe4334b24c4ce596af", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05fb6dcdebec547caa2b82441627f20ed38db9b8d39efdbe4334b24c4ce596af", kill_on_drop: false }` [INFO] [stdout] 05fb6dcdebec547caa2b82441627f20ed38db9b8d39efdbe4334b24c4ce596af [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+028592fec99e54cc92def5a2a849c673b066dd93" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a9a4084dfa5a510fb943cd9d121afd5b30ff231bd455ce2795a3a57a0eee27cb [INFO] running `Command { std: "docker" "start" "-a" "a9a4084dfa5a510fb943cd9d121afd5b30ff231bd455ce2795a3a57a0eee27cb", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling utf8parse v0.2.2 [INFO] [stderr] Compiling anstyle v1.0.11 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling colorchoice v1.0.4 [INFO] [stderr] Compiling regex-syntax v0.6.29 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.1 [INFO] [stderr] Compiling anstyle-parse v0.2.7 [INFO] [stderr] Compiling anstyle-query v1.1.3 [INFO] [stderr] Compiling clap_lex v0.7.5 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling memchr v2.7.5 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling anstream v0.6.19 [INFO] [stderr] Compiling colored v2.2.0 [INFO] [stderr] Compiling clap_builder v4.5.40 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling syn v2.0.103 [INFO] [stderr] Compiling logos-codegen v0.13.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.40 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling logos-derive v0.13.0 [INFO] [stderr] Compiling logos v0.13.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling clap v4.5.40 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling colang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `super::parser::ParseError` [INFO] [stdout] --> src/parser/error.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use super::parser::ParseError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::*` [INFO] [stdout] --> src/parser/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use error::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NodeId` [INFO] [stdout] --> src/ast/types.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ast::{Node, NodeId}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `visitor::*` [INFO] [stdout] --> src/ast/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use visitor::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/semantics/type_checker.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SymbolType` [INFO] [stdout] --> src/semantics/type_checker.rs:13:59 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::semantics::symbol_table::{SymbolTable, Symbol, SymbolType, TypeInfo, ScopeType, SymbolError}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DeclarationNode` [INFO] [stdout] --> src/semantics/symbol_table.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ast::{TypeNode, DeclarationNode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ownership::*` [INFO] [stdout] --> src/semantics/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use ownership::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `symbol_table::*` [INFO] [stdout] --> src/semantics/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use symbol_table::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::*` [INFO] [stdout] --> src/semantics/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use error::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::TypeNode` [INFO] [stdout] --> src/ir/instruction.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ast::TypeNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BasicBlock` [INFO] [stdout] --> src/ir/builder.rs:12:30 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::ir::basic_block::{BasicBlock, ControlFlowGraph}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FunctionId` [INFO] [stdout] --> src/ir/optimizer.rs:8:86 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::ir::instruction::{Instruction, InstructionKind, IrType, ValueId, BlockId, FunctionId}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BasicBlock` [INFO] [stdout] --> src/ir/optimizer.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ir::basic_block::{ControlFlowGraph, BasicBlock}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instruction::*` [INFO] [stdout] --> src/ir/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use instruction::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `basic_block::*` [INFO] [stdout] --> src/ir/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use basic_block::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `function::*` [INFO] [stdout] --> src/ir/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use function::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `module::*` [INFO] [stdout] --> src/ir/mod.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub use module::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `builder::*` [INFO] [stdout] --> src/ir/mod.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use builder::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `optimizer::*` [INFO] [stdout] --> src/ir/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use optimizer::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `llvm::*` [INFO] [stdout] --> src/codegen/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use llvm::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `target::*` [INFO] [stdout] --> src/codegen/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use target::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug::*` [INFO] [stdout] --> src/codegen/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use debug::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/util/intern.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / /// String interning for efficient identifier storage [INFO] [stdout] 5 | | /// [INFO] [stdout] 6 | | /// This module provides string interning functionality to reduce memory usage [INFO] [stdout] 7 | | /// and improve performance when dealing with many repeated identifiers throughout [INFO] [stdout] 8 | | /// the compilation process. [INFO] [stdout] | |_---------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::*` [INFO] [stdout] --> src/util/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use error::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `intern::*` [INFO] [stdout] --> src/util/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use intern::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `diagnostic::*` [INFO] [stdout] --> src/util/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use diagnostic::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug::*` [INFO] [stdout] --> src/util/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use debug::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::*` [INFO] [stdout] --> src/std/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use prelude::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/codegen/target.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 225 | return "x86_64-unknown-linux-gnu".to_string(); [INFO] [stdout] | --------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 240 | "x86_64-unknown-linux-gnu".to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_type` [INFO] [stdout] --> src/parser/parser.rs:936:23 [INFO] [stdout] | [INFO] [stdout] 936 | fn peek_is(&self, token_type: &TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_type` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/semantics/type_checker.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | if let Item::Declaration(ref decl) = item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/semantics/type_checker.rs:156:16 [INFO] [stdout] | [INFO] [stdout] 156 | if let Item::Declaration(ref decl) = item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/semantics/type_checker.rs:197:35 [INFO] [stdout] | [INFO] [stdout] 197 | Declaration::Struct { name, .. } => { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/semantics/type_checker.rs:200:33 [INFO] [stdout] | [INFO] [stdout] 200 | Declaration::Enum { name, .. } => { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/ir/builder.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | if let Item::Declaration(decl) = &item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/ir/builder.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 146 | if let Item::Declaration(decl) = &item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/ir/builder.rs:126:66 [INFO] [stdout] | [INFO] [stdout] 126 | if let Declaration::Function { name, parameters, return_type, .. } = &decl.inner { [INFO] [stdout] | ^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol_table` [INFO] [stdout] --> src/ir/builder.rs:114:56 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn build_program(&mut self, program: &Program, symbol_table: &SymbolTable) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/ir/builder.rs:515:63 [INFO] [stdout] | [INFO] [stdout] 515 | fn write_variable(&mut self, var: String, value: ValueId, block: BlockId) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/ir/optimizer.rs:466:35 [INFO] [stdout] | [INFO] [stdout] 466 | fn run_on_function(&mut self, cfg: &mut ControlFlowGraph) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/ir/optimizer.rs:485:35 [INFO] [stdout] | [INFO] [stdout] 485 | fn run_on_function(&mut self, cfg: &mut ControlFlowGraph) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_name` [INFO] [stdout] --> src/codegen/llvm.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | for (i, (param_name, param_value)) in cfg.get_parameters().iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/codegen/llvm.rs:213:40 [INFO] [stdout] | [INFO] [stdout] 213 | fn generate_basic_block(&mut self, block_id: BlockId, block: &BasicBlock, is_entry: bool) -> Result<(), LlvmCodegenError> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_entry` [INFO] [stdout] --> src/codegen/llvm.rs:213:79 [INFO] [stdout] | [INFO] [stdout] 213 | fn generate_basic_block(&mut self, block_id: BlockId, block: &BasicBlock, is_entry: bool) -> Result<(), LlvmCodegenError> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen/llvm.rs:225:48 [INFO] [stdout] | [INFO] [stdout] 225 | InstructionKind::ConstInt { value, ty } => { [INFO] [stdout] | ^^ help: try ignoring the field: `ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen/llvm.rs:231:50 [INFO] [stdout] | [INFO] [stdout] 231 | InstructionKind::ConstFloat { value, ty } => { [INFO] [stdout] | ^^ help: try ignoring the field: `ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `visibility` [INFO] [stdout] --> src/util/debug.rs:129:74 [INFO] [stdout] | [INFO] [stdout] 129 | Declaration::Function { name, parameters, return_type, body, visibility, .. } => { [INFO] [stdout] | ^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let mut lexer = lexer::Lexer::new(&source); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_path` [INFO] [stdout] --> src/main.rs:413:74 [INFO] [stdout] | [INFO] [stdout] 413 | fn compile_source_to_binary(source: &str, output_path: &std::path::Path, input_path: &std::path::Path, verbose: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/main.rs:413:104 [INFO] [stdout] | [INFO] [stdout] 413 | fn compile_source_to_binary(source: &str, output_path: &std::path::Path, input_path: &std::path::Path, verbose: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_eof`, `is_keyword`, `is_literal`, and `is_operator` are never used [INFO] [stdout] --> src/lexer/token.rs:250:12 [INFO] [stdout] | [INFO] [stdout] 233 | impl Token { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 250 | pub fn is_eof(&self) -> bool { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 254 | pub fn is_keyword(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | pub fn is_literal(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn is_operator(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidNumber` is never constructed [INFO] [stdout] --> src/lexer/lexer.rs:24:5 [INFO] [stdout] | [INFO] [stdout] 9 | pub enum LexError { [INFO] [stdout] | -------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 24 | InvalidNumber { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LexError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `tokenize`, `peek`, `remainder`, and `is_at_end` are never used [INFO] [stdout] --> src/lexer/lexer.rs:139:12 [INFO] [stdout] | [INFO] [stdout] 45 | impl<'source> Lexer<'source> { [INFO] [stdout] | ---------------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 139 | pub fn tokenize(&mut self) -> Result, LexError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn peek(&self) -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 167 | pub fn remainder(&self) -> &str { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn is_at_end(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnexpectedEof` is never constructed [INFO] [stdout] --> src/parser/parser.rs:1016:5 [INFO] [stdout] | [INFO] [stdout] 1010 | pub enum ParseError { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 1016 | UnexpectedEof { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParseError` 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 `is_empty` is never used [INFO] [stdout] --> src/ast/mod.rs:48:12 [INFO] [stdout] | [INFO] [stdout] 35 | impl Program { [INFO] [stdout] | ------------ method in this implementation [INFO] [stdout] ... [INFO] [stdout] 48 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `node_id` is never used [INFO] [stdout] --> src/ast/node.rs:10:8 [INFO] [stdout] | [INFO] [stdout] 8 | pub trait AstNode: fmt::Debug + Clone { [INFO] [stdout] | ------- method in this trait [INFO] [stdout] 9 | fn span(&self) -> Span; [INFO] [stdout] 10 | fn node_id(&self) -> NodeId; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `dummy`, `map`, and `as_ref` are never used [INFO] [stdout] --> src/ast/node.rs:26:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl Node { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn dummy(inner: T) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 34 | pub fn map(self, f: F) -> Node [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn as_ref(&self) -> Node<&T> { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `create_node` is never used [INFO] [stdout] --> src/ast/node.rs:98:12 [INFO] [stdout] | [INFO] [stdout] 87 | impl NodeIdGenerator { [INFO] [stdout] | -------------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 98 | pub fn create_node(&mut self, inner: T, span: Span) -> Node { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `Visitor` is never used [INFO] [stdout] --> src/ast/visitor.rs:13:11 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Visitor { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `VisitorMut` is never used [INFO] [stdout] --> src/ast/visitor.rs:481:11 [INFO] [stdout] | [INFO] [stdout] 481 | pub trait VisitorMut { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `IdentifierCollector` is never constructed [INFO] [stdout] --> src/ast/visitor.rs:498:12 [INFO] [stdout] | [INFO] [stdout] 498 | pub struct IdentifierCollector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/ast/expr.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Expr { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 56 | Tuple(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | Struct { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | Match { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | Assign { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | CompoundAssign { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | Cast { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 100 | Reference { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | Dereference(Box), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | Move(Box), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 112 | Try(Box), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 115 | Lambda { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | Range { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Expr` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_comparison`, `is_arithmetic`, `is_logical`, and `is_bitwise` are never used [INFO] [stdout] --> src/ast/expr.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 179 | impl BinaryOp { [INFO] [stdout] | ------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 203 | pub fn is_comparison(self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 212 | pub fn is_arithmetic(self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 221 | pub fn is_logical(self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn is_bitwise(self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/ast/expr.rs:301:5 [INFO] [stdout] | [INFO] [stdout] 299 | pub enum Pattern { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 300 | /// Wildcard pattern (_) [INFO] [stdout] 301 | Wildcard, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | Literal(Literal), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | Tuple(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | Array(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 316 | Struct { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | Enum { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 330 | Reference { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 336 | Or(Vec), [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 339 | Range { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Pattern` 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/ast/stmt.rs:18:5 [INFO] [stdout] | [INFO] [stdout] 5 | pub enum Statement { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 18 | Const { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | Static { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 33 | Assign { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 39 | CompoundAssign { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | If { [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 53 | While { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | For { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | Match { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 72 | Break(Option), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 75 | Continue, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | Block(Block), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | Empty, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Statement` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_expression`, `is_empty`, and `len` are never used [INFO] [stdout] --> src/ast/stmt.rs:111:12 [INFO] [stdout] | [INFO] [stdout] 96 | impl Block { [INFO] [stdout] | ---------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn with_expression(mut self, expression: ExprNode) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/ast/decl.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 6 | pub enum Declaration { [INFO] [stdout] | ----------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | Trait { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | Impl { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 55 | TypeAlias { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | Const { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | Static { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | Module { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | Use { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | ExternBlock { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Declaration` 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 `Restricted` is never constructed [INFO] [stdout] --> src/ast/decl.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 112 | pub enum Visibility { [INFO] [stdout] | ---------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 115 | Restricted(/* TODO: path restrictions */), [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Visibility` 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`, `Type`, and `Const` are never constructed [INFO] [stdout] --> src/ast/decl.rs:166:5 [INFO] [stdout] | [INFO] [stdout] 164 | pub enum TraitItem { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 165 | /// Associated function [INFO] [stdout] 166 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 175 | Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 183 | Const { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TraitItem` 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`, `Type`, and `Const` are never constructed [INFO] [stdout] --> src/ast/decl.rs:194:5 [INFO] [stdout] | [INFO] [stdout] 192 | pub enum ImplItem { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 193 | /// Function implementation [INFO] [stdout] 194 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 205 | Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | Const { [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ImplItem` 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 `TypeBound`, `LifetimeBound`, and `Equality` are never constructed [INFO] [stdout] --> src/ast/decl.rs:231:5 [INFO] [stdout] | [INFO] [stdout] 229 | pub enum WherePredicate { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 230 | /// Type bound (T: Trait) [INFO] [stdout] 231 | TypeBound { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 237 | LifetimeBound { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | Equality { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `WherePredicate` 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 `Ident`, `Path`, `Glob`, and `List` are never constructed [INFO] [stdout] --> src/ast/decl.rs:253:5 [INFO] [stdout] | [INFO] [stdout] 251 | pub enum UsePath { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 252 | /// Simple identifier [INFO] [stdout] 253 | Ident(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | Path { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | Glob(Vec), [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | List { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UsePath` 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`, `Static`, and `Type` are never constructed [INFO] [stdout] --> src/ast/decl.rs:275:5 [INFO] [stdout] | [INFO] [stdout] 273 | pub enum ExternItem { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] 274 | /// External function [INFO] [stdout] 275 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 283 | Static { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ExternItem` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_public` and `is_private` are never used [INFO] [stdout] --> src/ast/decl.rs:296:12 [INFO] [stdout] | [INFO] [stdout] 295 | impl Visibility { [INFO] [stdout] | --------------- methods in this implementation [INFO] [stdout] 296 | pub fn is_public(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 300 | pub fn is_private(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_unit`, `is_tuple`, `is_struct`, and `field_count` are never used [INFO] [stdout] --> src/ast/decl.rs:306:12 [INFO] [stdout] | [INFO] [stdout] 305 | impl VariantFields { [INFO] [stdout] | ------------------ methods in this implementation [INFO] [stdout] 306 | pub fn is_unit(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn is_tuple(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 314 | pub fn is_struct(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn field_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Never`, `Function`, `Generic`, `Inferred`, and `Error` are never constructed [INFO] [stdout] --> src/ast/types.rs:29:5 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum Type { [INFO] [stdout] | ---- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 29 | Never, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 56 | Generic(String), [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | Inferred, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | Error, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Type` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/ast/types.rs:69:12 [INFO] [stdout] | [INFO] [stdout] 67 | impl Type { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] 68 | /// Check if this type is a primitive type [INFO] [stdout] 69 | pub fn is_primitive(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | pub fn is_integer(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | pub fn is_signed_integer(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 91 | pub fn is_unsigned_integer(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | pub fn is_float(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn is_numeric(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn has_ownership(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn underlying_type(&self) -> Option<&TypeNode> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 119 | pub fn is_movable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 124 | pub fn is_mutable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 129 | pub fn size_in_bytes(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `Trait`, `Exact`, `Multiple`, and `Lifetime` are never constructed [INFO] [stdout] --> src/ast/types.rs:207:5 [INFO] [stdout] | [INFO] [stdout] 205 | pub enum TypeConstraint { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 206 | /// Must implement a specific trait [INFO] [stdout] 207 | Trait(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 210 | Exact(TypeNode), [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 213 | Multiple(Vec), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 216 | Lifetime(String), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeConstraint` 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 `new`, `with_constraint`, and `with_default` are never used [INFO] [stdout] --> src/ast/types.rs:229:12 [INFO] [stdout] | [INFO] [stdout] 228 | impl GenericParam { [INFO] [stdout] | ----------------- associated items in this implementation [INFO] [stdout] 229 | pub fn new(name: String, span: Span) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn with_constraint(mut self, constraint: TypeConstraint) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | pub fn with_default(mut self, default: TypeNode) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `AssignmentToImmutable` is never constructed [INFO] [stdout] --> src/semantics/type_checker.rs:77:5 [INFO] [stdout] | [INFO] [stdout] 25 | pub enum TypeError { [INFO] [stdout] | --------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 77 | AssignmentToImmutable { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `errors` and `has_errors` are never used [INFO] [stdout] --> src/semantics/type_checker.rs:775:12 [INFO] [stdout] | [INFO] [stdout] 135 | impl TypeChecker { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 775 | pub fn errors(&self) -> &[TypeError] { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 780 | pub fn has_errors(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `OwnershipChecker` is never constructed [INFO] [stdout] --> src/semantics/ownership.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct OwnershipChecker { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `span` is never read [INFO] [stdout] --> src/semantics/symbol_table.rs:28:5 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct Scope { [INFO] [stdout] | ----- field in this struct [INFO] [stdout] ... [INFO] [stdout] 28 | span: Option, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Scope` 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 `Module`, `Struct`, `Enum`, `Trait`, and `Impl` are never constructed [INFO] [stdout] --> src/semantics/symbol_table.rs:37:5 [INFO] [stdout] | [INFO] [stdout] 33 | pub enum ScopeType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 37 | Module { name: String }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 38 | Struct { name: String }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 39 | Enum { name: String }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 40 | Trait { name: String }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 41 | Impl { target: String }, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ScopeType` 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: fields `is_mutable` and `declaration_scope` are never read [INFO] [stdout] --> src/semantics/symbol_table.rs:51:9 [INFO] [stdout] | [INFO] [stdout] 46 | pub struct Symbol { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] ... [INFO] [stdout] 51 | pub is_mutable: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 52 | pub is_used: bool, [INFO] [stdout] 53 | pub declaration_scope: ScopeId, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Symbol` 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 `Type`, `Module`, `Trait`, `Field`, `Constant`, and `Static` are never constructed [INFO] [stdout] --> src/semantics/symbol_table.rs:62:5 [INFO] [stdout] | [INFO] [stdout] 58 | pub enum SymbolType { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 62 | Type, [INFO] [stdout] | ^^^^ [INFO] [stdout] 63 | Module, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 64 | Trait, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 65 | Field, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 66 | Constant, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 67 | Static, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SymbolType` 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 `Inferred`, `Unknown`, and `Type` are never constructed [INFO] [stdout] --> src/semantics/symbol_table.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 72 | pub enum TypeInfo { [INFO] [stdout] | -------- variants in this enum [INFO] [stdout] 73 | Known(TypeNode), [INFO] [stdout] 74 | Inferred(TypeNode), [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 75 | Unknown, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 80 | Type { [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeInfo` 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 `Struct`, `Enum`, and `TypeAlias` are never constructed [INFO] [stdout] --> src/semantics/symbol_table.rs:88:5 [INFO] [stdout] | [INFO] [stdout] 87 | pub enum TypeDefinition { [INFO] [stdout] | -------------- variants in this enum [INFO] [stdout] 88 | Struct { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | Enum { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | TypeAlias { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TypeDefinition` 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 `TypeMismatch` is never constructed [INFO] [stdout] --> src/semantics/symbol_table.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 122 | pub enum SymbolError { [INFO] [stdout] | ----------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 135 | TypeMismatch { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `SymbolError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `lookup_symbol_current_scope`, `current_scope_type`, `current_scope_symbols`, and `get_unused_symbols` are never used [INFO] [stdout] --> src/semantics/symbol_table.rs:259:12 [INFO] [stdout] | [INFO] [stdout] 164 | impl SymbolTable { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 259 | pub fn lookup_symbol_current_scope(&self, name: &str) -> Option<&Symbol> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 307 | pub fn current_scope_type(&self) -> Result<&ScopeType, SymbolError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 335 | pub fn current_scope_symbols(&self) -> Result<&HashMap, SymbolError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 340 | pub fn get_unused_symbols(&self) -> Vec<&Symbol> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `type_symbol`, `is_function`, `is_variable`, and `is_type` are never used [INFO] [stdout] --> src/semantics/symbol_table.rs:446:12 [INFO] [stdout] | [INFO] [stdout] 384 | impl Symbol { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 446 | pub fn type_symbol( [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 464 | pub fn is_function(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 469 | pub fn is_variable(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 474 | pub fn is_type(&self) -> bool { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SemanticError` is never constructed [INFO] [stdout] --> src/semantics/error.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | pub struct SemanticError { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/ir/instruction.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 30 | pub enum InstructionKind { [INFO] [stdout] | --------------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 55 | Load { address: ValueId }, [INFO] [stdout] | ^^^^ [INFO] [stdout] 56 | Store { address: ValueId, value: ValueId }, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 57 | Alloca { ty: IrType }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | Branch { condition: ValueId, then_block: BlockId, else_block: BlockId }, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 73 | CallIndirect { function: ValueId, args: Vec }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 76 | Cast { value: ValueId, target_ty: IrType }, [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 82 | GetLocal { name: String }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 83 | SetLocal { name: String, value: ValueId }, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 86 | DebugLocation { line: u32, column: u32, file: String }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `InstructionKind` 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 `Ptr` and `Function` are never constructed [INFO] [stdout] --> src/ir/instruction.rs:101:5 [INFO] [stdout] | [INFO] [stdout] 91 | pub enum IrType { [INFO] [stdout] | ------ variants in this enum [INFO] [stdout] ... [INFO] [stdout] 101 | Ptr(Box), [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | Function { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrType` 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 `result_type` is never used [INFO] [stdout] --> src/ir/instruction.rs:160:12 [INFO] [stdout] | [INFO] [stdout] 154 | impl Instruction { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 160 | pub fn result_type(&self) -> &IrType { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `is_numeric`, `is_pointer`, `size_bytes`, `pointer_to`, and `pointee` are never used [INFO] [stdout] --> src/ir/instruction.rs:242:12 [INFO] [stdout] | [INFO] [stdout] 220 | impl IrType { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn is_numeric(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 247 | pub fn is_pointer(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | pub fn size_bytes(&self) -> Option { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | pub fn pointer_to(self) -> IrType { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 281 | pub fn pointee(&self) -> Option<&IrType> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `function_id` is never read [INFO] [stdout] --> src/ir/basic_block.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub struct ControlFlowGraph { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] 24 | pub function_id: FunctionId, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ControlFlowGraph` 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: struct `BlockIterator` is never constructed [INFO] [stdout] --> src/ir/basic_block.rs:32:12 [INFO] [stdout] | [INFO] [stdout] 32 | pub struct BlockIterator<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `with_name`, `is_empty`, `defined_values`, `used_values`, and `dominates` are never used [INFO] [stdout] --> src/ir/basic_block.rs:51:12 [INFO] [stdout] | [INFO] [stdout] 38 | impl BasicBlock { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 51 | pub fn with_name(id: BlockId, name: String) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 101 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 106 | pub fn defined_values(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 111 | pub fn used_values(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub fn dominates(&self, other_id: BlockId, cfg: &ControlFlowGraph) -> bool { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `add_named_block`, `depth_first_order`, `all_paths_through`, `validate`, `remove_unreachable_blocks`, and `blocks_rpo` are never used [INFO] [stdout] --> src/ir/basic_block.rs:159:12 [INFO] [stdout] | [INFO] [stdout] 137 | impl ControlFlowGraph { [INFO] [stdout] | --------------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn add_named_block(&mut self, id: BlockId, name: String) -> &mut BasicBlock { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 265 | pub fn depth_first_order(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 293 | pub fn all_paths_through(&self, target_id: BlockId, through_id: BlockId) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 343 | pub fn validate(&self) -> Result<(), String> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 386 | pub fn remove_unreachable_blocks(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 406 | pub fn blocks_rpo(&self) -> BlockIterator { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `modules` and `type_cache` are never read [INFO] [stdout] --> src/ir/builder.rs:19:5 [INFO] [stdout] | [INFO] [stdout] 17 | pub struct IrBuilder { [INFO] [stdout] | --------- fields in this struct [INFO] [stdout] 18 | id_gen: IdGenerator, [INFO] [stdout] 19 | modules: Vec, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 30 | type_cache: HashMap, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `type_definitions` is never read [INFO] [stdout] --> src/ir/builder.rs:39:9 [INFO] [stdout] | [INFO] [stdout] 35 | pub struct IrModule { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 39 | pub type_definitions: HashMap, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrModule` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `is_mutable` is never read [INFO] [stdout] --> src/ir/builder.rs:48:9 [INFO] [stdout] | [INFO] [stdout] 44 | pub struct GlobalValue { [INFO] [stdout] | ----------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 48 | pub is_mutable: bool, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `GlobalValue` 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/ir/builder.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub enum ConstantValue { [INFO] [stdout] | ------------- variants in this enum [INFO] [stdout] 54 | Int(i64), [INFO] [stdout] | ^^^ [INFO] [stdout] 55 | Float(f64), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 56 | Bool(bool), [INFO] [stdout] | ^^^^ [INFO] [stdout] 57 | String(String), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 58 | Unit, [INFO] [stdout] | ^^^^ [INFO] [stdout] 59 | Array(Vec), [INFO] [stdout] | ^^^^^ [INFO] [stdout] 60 | Struct(Vec), [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ConstantValue` 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 `TypeMismatch` is never constructed [INFO] [stdout] --> src/ir/builder.rs:68:5 [INFO] [stdout] | [INFO] [stdout] 65 | pub enum IrBuildError { [INFO] [stdout] | ------------ variant in this enum [INFO] [stdout] ... [INFO] [stdout] 68 | TypeMismatch { expected: String, found: String, span: Span }, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `IrBuildError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `modules` and `get_cfg` are never used [INFO] [stdout] --> src/ir/builder.rs:619:12 [INFO] [stdout] | [INFO] [stdout] 97 | impl IrBuilder { [INFO] [stdout] | -------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 619 | pub fn modules(&self) -> &[IrModule] { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 624 | pub fn get_cfg(&self, func_id: FunctionId) -> Option<&ControlFlowGraph> { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `add_function`, and `get_function` are never used [INFO] [stdout] --> src/ir/builder.rs:637:12 [INFO] [stdout] | [INFO] [stdout] 635 | impl IrModule { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 636 | /// Create a new empty module [INFO] [stdout] 637 | pub fn new(name: String) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 647 | pub fn add_function(&mut self, cfg: ControlFlowGraph) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 652 | pub fn get_function(&self, func_id: FunctionId) -> Option<&ControlFlowGraph> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `name` is never used [INFO] [stdout] --> src/ir/optimizer.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait OptimizationPass { [INFO] [stdout] | ---------------- method in this trait [INFO] [stdout] 14 | /// Get the name of this optimization pass [INFO] [stdout] 15 | fn name(&self) -> &str; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `constants` is never read [INFO] [stdout] --> src/ir/optimizer.rs:55:5 [INFO] [stdout] | [INFO] [stdout] 53 | pub struct ConstantPropagation { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 54 | /// Map from value ID to constant value [INFO] [stdout] 55 | constants: HashMap, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `copies` is never read [INFO] [stdout] --> src/ir/optimizer.rs:61:5 [INFO] [stdout] | [INFO] [stdout] 59 | pub struct CopyPropagation { [INFO] [stdout] | --------------- field in this struct [INFO] [stdout] 60 | /// Map from value ID to the value it copies [INFO] [stdout] 61 | copies: HashMap, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `InvalidTransformation` and `InternalError` are never constructed [INFO] [stdout] --> src/ir/optimizer.rs:76:5 [INFO] [stdout] | [INFO] [stdout] 75 | pub enum OptimizationError { [INFO] [stdout] | ----------------- variants in this enum [INFO] [stdout] 76 | InvalidTransformation { message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 77 | InternalError { message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `OptimizationError` 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 `set_max_iterations` is never used [INFO] [stdout] --> src/ir/optimizer.rs:110:12 [INFO] [stdout] | [INFO] [stdout] 95 | impl PassManager { [INFO] [stdout] | ---------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 110 | pub fn set_max_iterations(&mut self, max_iter: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `InvalidOperation` is never constructed [INFO] [stdout] --> src/codegen/llvm.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 32 | pub enum LlvmCodegenError { [INFO] [stdout] | ---------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 38 | InvalidOperation { message: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `LlvmCodegenError` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `with_target`, `output`, and `clear` are never used [INFO] [stdout] --> src/codegen/llvm.rs:83:12 [INFO] [stdout] | [INFO] [stdout] 68 | impl LlvmCodegen { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn with_target(mut self, target_triple: String) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 604 | pub fn output(&self) -> &str { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 626 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant `UnsupportedTarget` is never constructed [INFO] [stdout] --> src/codegen/target.rs:16:5 [INFO] [stdout] | [INFO] [stdout] 12 | pub enum BinaryGenError { [INFO] [stdout] | -------------- variant in this enum [INFO] [stdout] ... [INFO] [stdout] 16 | UnsupportedTarget { target: String }, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `BinaryGenError` 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 `check_tools_available` is never used [INFO] [stdout] --> src/codegen/target.rs:204:12 [INFO] [stdout] | [INFO] [stdout] 50 | impl BinaryGenerator { [INFO] [stdout] | -------------------- associated function in this implementation [INFO] [stdout] ... [INFO] [stdout] 204 | pub fn check_tools_available() -> Result<(), BinaryGenError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `len`, `is_empty`, `contains`, and `overlaps` are never used [INFO] [stdout] --> src/util/span.rs:21:12 [INFO] [stdout] | [INFO] [stdout] 12 | impl Span { [INFO] [stdout] | --------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 21 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub fn contains(&self, other: Span) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 45 | pub fn overlaps(&self, other: Span) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CompilerError` is never used [INFO] [stdout] --> src/util/error.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum CompilerError { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `ParseError` is never used [INFO] [stdout] --> src/util/error.rs:29:10 [INFO] [stdout] | [INFO] [stdout] 29 | pub enum ParseError { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `SemanticError` is never used [INFO] [stdout] --> src/util/error.rs:56:10 [INFO] [stdout] | [INFO] [stdout] 56 | pub enum SemanticError { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `CodegenError` is never used [INFO] [stdout] --> src/util/error.rs:112:10 [INFO] [stdout] | [INFO] [stdout] 112 | pub enum CodegenError { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `DiagnosticLevel` is never used [INFO] [stdout] --> src/util/error.rs:128:10 [INFO] [stdout] | [INFO] [stdout] 128 | pub enum DiagnosticLevel { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Diagnostic` is never constructed [INFO] [stdout] --> src/util/error.rs:137:12 [INFO] [stdout] | [INFO] [stdout] 137 | pub struct Diagnostic { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `error`, `warning`, `note`, `with_note`, and `with_help` are never used [INFO] [stdout] --> src/util/error.rs:146:12 [INFO] [stdout] | [INFO] [stdout] 145 | impl Diagnostic { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 146 | pub fn error(message: String, span: Option) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 156 | pub fn warning(message: String, span: Option) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn note(message: String, span: Option) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn with_note(mut self, note: String) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn with_help(mut self, help: String) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type alias `CompilerResult` is never used [INFO] [stdout] --> src/util/error.rs:199:10 [INFO] [stdout] | [INFO] [stdout] 199 | pub type CompilerResult = Result; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiagnosticCollector` is never constructed [INFO] [stdout] --> src/util/error.rs:203:12 [INFO] [stdout] | [INFO] [stdout] 203 | pub struct DiagnosticCollector { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/error.rs:208:12 [INFO] [stdout] | [INFO] [stdout] 207 | impl DiagnosticCollector { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 208 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 214 | pub fn error(&mut self, message: String, span: Option) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 218 | pub fn warning(&mut self, message: String, span: Option) { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 222 | pub fn note(&mut self, message: String, span: Option) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 226 | pub fn has_errors(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 230 | pub fn error_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 234 | pub fn warning_count(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 238 | pub fn is_empty(&self) -> bool { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 242 | pub fn len(&self) -> usize { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 246 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `InternedString` is never constructed [INFO] [stdout] --> src/util/intern.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct InternedString { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `as_str`, `as_str_ref`, and `id` are never used [INFO] [stdout] --> src/util/intern.rs:22:12 [INFO] [stdout] | [INFO] [stdout] 20 | impl InternedString { [INFO] [stdout] | ------------------- methods in this implementation [INFO] [stdout] 21 | /// Get the string value for this interned string [INFO] [stdout] 22 | pub fn as_str(&self) -> String { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn as_str_ref(&self) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn id(&self) -> u32 { [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StringInterner` is never constructed [INFO] [stdout] --> src/util/intern.rs:50:8 [INFO] [stdout] | [INFO] [stdout] 50 | struct StringInterner { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `intern`, `get`, and `get_ref` are never used [INFO] [stdout] --> src/util/intern.rs:56:8 [INFO] [stdout] | [INFO] [stdout] 55 | impl StringInterner { [INFO] [stdout] | ------------------- associated items in this implementation [INFO] [stdout] 56 | fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | fn intern(&mut self, s: &str) -> InternedString { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | fn get(&self, interned: InternedString) -> String { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 78 | fn get_ref(&self, interned: InternedString) -> &str { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intern` is never used [INFO] [stdout] --> src/util/intern.rs:84:8 [INFO] [stdout] | [INFO] [stdout] 84 | pub fn intern(s: &str) -> InternedString { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `CommonStrings` is never constructed [INFO] [stdout] --> src/util/intern.rs:89:12 [INFO] [stdout] | [INFO] [stdout] 89 | pub struct CommonStrings { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiagnosticRenderer` is never constructed [INFO] [stdout] --> src/util/diagnostic.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct DiagnosticRenderer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `render_diagnostic`, `render_diagnostics`, `format_level`, and `render_span_context` are never used [INFO] [stdout] --> src/util/diagnostic.rs:10:12 [INFO] [stdout] | [INFO] [stdout] 9 | impl DiagnosticRenderer { [INFO] [stdout] | ----------------------- associated items in this implementation [INFO] [stdout] 10 | pub fn new(use_colors: bool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 15 | pub fn render_diagnostic(&self, diagnostic: &Diagnostic, source: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn render_diagnostics(&self, diagnostics: &[Diagnostic], source: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 53 | fn format_level(&self, level: DiagnosticLevel) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 69 | fn render_span_context(&self, span: &Span, source: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DiagnosticBuilder` is never constructed [INFO] [stdout] --> src/util/diagnostic.rs:148:12 [INFO] [stdout] | [INFO] [stdout] 148 | pub struct DiagnosticBuilder { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/diagnostic.rs:153:12 [INFO] [stdout] | [INFO] [stdout] 152 | impl DiagnosticBuilder { [INFO] [stdout] | ---------------------- associated items in this implementation [INFO] [stdout] 153 | pub fn error(message: String) -> Self { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 159 | pub fn warning(message: String) -> Self { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | pub fn note(message: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn with_span(mut self, span: Span) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 176 | pub fn with_note(mut self, note: String) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 181 | pub fn with_help(mut self, help: String) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn build(self) -> Diagnostic { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Profiler` is never constructed [INFO] [stdout] --> src/util/debug.rs:12:12 [INFO] [stdout] | [INFO] [stdout] 12 | pub struct Profiler { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/debug.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl Profiler { [INFO] [stdout] | ------------- associated items in this implementation [INFO] [stdout] 18 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 23 | pub fn start(&mut self, phase: &str) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 28 | pub fn end(&mut self, phase: &str) { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 36 | pub fn get_time(&self, phase: &str) -> Option { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn get_all_timings(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 46 | pub fn print_summary(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 64 | pub fn clear(&mut self) { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `with_indent_size` is never used [INFO] [stdout] --> src/util/debug.rs:95:12 [INFO] [stdout] | [INFO] [stdout] 87 | impl AstPrinter { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 95 | pub fn with_indent_size(mut self, size: usize) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MemoryTracker` is never constructed [INFO] [stdout] --> src/util/debug.rs:291:12 [INFO] [stdout] | [INFO] [stdout] 291 | pub struct MemoryTracker { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/util/debug.rs:298:12 [INFO] [stdout] | [INFO] [stdout] 297 | impl MemoryTracker { [INFO] [stdout] | ------------------ associated items in this implementation [INFO] [stdout] 298 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 303 | pub fn allocate(&mut self, category: &str, size: usize) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 310 | pub fn deallocate(&mut self, category: &str, size: usize) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 318 | pub fn current_usage(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 323 | pub fn peak_usage(&self) -> usize { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 328 | pub fn allocations(&self) -> &HashMap { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 333 | pub fn print_summary(&self) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/ir/basic_block.rs:406:23 [INFO] [stdout] | [INFO] [stdout] 406 | pub fn blocks_rpo(&self) -> BlockIterator { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 406 | pub fn blocks_rpo(&self) -> BlockIterator<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 10.13s [INFO] running `Command { std: "docker" "inspect" "a9a4084dfa5a510fb943cd9d121afd5b30ff231bd455ce2795a3a57a0eee27cb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a9a4084dfa5a510fb943cd9d121afd5b30ff231bd455ce2795a3a57a0eee27cb", kill_on_drop: false }` [INFO] [stdout] a9a4084dfa5a510fb943cd9d121afd5b30ff231bd455ce2795a3a57a0eee27cb [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+028592fec99e54cc92def5a2a849c673b066dd93" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 79349654a6d491cce2372ba2b3de909ff795ffaf779beeab4da42a79a03b409b [INFO] running `Command { std: "docker" "start" "-a" "79349654a6d491cce2372ba2b3de909ff795ffaf779beeab4da42a79a03b409b", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.173 [INFO] [stderr] Compiling cfg-if v1.0.1 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling zerocopy v0.8.25 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling half v2.6.0 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling plotters-backend v0.3.7 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling logos-codegen v0.13.0 [INFO] [stderr] Compiling itertools v0.10.5 [INFO] [stderr] Compiling same-file v1.0.6 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling criterion-plot v0.5.0 [INFO] [stderr] Compiling logos-derive v0.13.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling rand v0.9.1 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling tinytemplate v1.2.1 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling proptest v1.7.0 [INFO] [stderr] Compiling logos v0.13.0 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling criterion v0.5.1 [INFO] [stderr] Compiling colang v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error[E0432]: unresolved import `crate::util::NodeIdGenerator` [INFO] [stdout] --> src/semantics/symbol_table.rs:505:9 [INFO] [stdout] | [INFO] [stdout] 505 | use crate::util::NodeIdGenerator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no `NodeIdGenerator` in `util` [INFO] [stdout] | [INFO] [stdout] help: consider importing this struct through its public re-export instead [INFO] [stdout] | [INFO] [stdout] 505 - use crate::util::NodeIdGenerator; [INFO] [stdout] 505 + use crate::ast::NodeIdGenerator; [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::parser::ParseError` [INFO] [stdout] --> src/parser/error.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | pub use super::parser::ParseError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::*` [INFO] [stdout] --> src/parser/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use error::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `NodeId` [INFO] [stdout] --> src/ast/types.rs:1:24 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::ast::{Node, NodeId}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `visitor::*` [INFO] [stdout] --> src/ast/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use visitor::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/semantics/type_checker.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SymbolType` [INFO] [stdout] --> src/semantics/type_checker.rs:13:59 [INFO] [stdout] | [INFO] [stdout] 13 | use crate::semantics::symbol_table::{SymbolTable, Symbol, SymbolType, TypeInfo, ScopeType, SymbolError}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DeclarationNode` [INFO] [stdout] --> src/semantics/symbol_table.rs:7:28 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ast::{TypeNode, DeclarationNode}; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ownership::*` [INFO] [stdout] --> src/semantics/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use ownership::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `symbol_table::*` [INFO] [stdout] --> src/semantics/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use symbol_table::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::*` [INFO] [stdout] --> src/semantics/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use error::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::ast::TypeNode` [INFO] [stdout] --> src/ir/instruction.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::ast::TypeNode; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BasicBlock` [INFO] [stdout] --> src/ir/builder.rs:12:30 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::ir::basic_block::{BasicBlock, ControlFlowGraph}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `FunctionId` [INFO] [stdout] --> src/ir/optimizer.rs:8:86 [INFO] [stdout] | [INFO] [stdout] 8 | use crate::ir::instruction::{Instruction, InstructionKind, IrType, ValueId, BlockId, FunctionId}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BasicBlock` [INFO] [stdout] --> src/ir/optimizer.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | use crate::ir::basic_block::{ControlFlowGraph, BasicBlock}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `instruction::*` [INFO] [stdout] --> src/ir/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use instruction::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `basic_block::*` [INFO] [stdout] --> src/ir/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use basic_block::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `function::*` [INFO] [stdout] --> src/ir/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use function::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `module::*` [INFO] [stdout] --> src/ir/mod.rs:24:9 [INFO] [stdout] | [INFO] [stdout] 24 | pub use module::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `builder::*` [INFO] [stdout] --> src/ir/mod.rs:25:9 [INFO] [stdout] | [INFO] [stdout] 25 | pub use builder::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `optimizer::*` [INFO] [stdout] --> src/ir/mod.rs:26:9 [INFO] [stdout] | [INFO] [stdout] 26 | pub use optimizer::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/codegen/llvm.rs:653:9 [INFO] [stdout] | [INFO] [stdout] 653 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `llvm::*` [INFO] [stdout] --> src/codegen/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use llvm::*; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `target::*` [INFO] [stdout] --> src/codegen/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use target::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug::*` [INFO] [stdout] --> src/codegen/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use debug::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused doc comment [INFO] [stdout] --> src/util/intern.rs:4:1 [INFO] [stdout] | [INFO] [stdout] 4 | / /// String interning for efficient identifier storage [INFO] [stdout] 5 | | /// [INFO] [stdout] 6 | | /// This module provides string interning functionality to reduce memory usage [INFO] [stdout] 7 | | /// and improve performance when dealing with many repeated identifiers throughout [INFO] [stdout] 8 | | /// the compilation process. [INFO] [stdout] | |_---------------------------^ [INFO] [stdout] | | [INFO] [stdout] | rustdoc does not generate documentation for macro invocations [INFO] [stdout] | [INFO] [stdout] = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion [INFO] [stdout] = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::util::Span` [INFO] [stdout] --> src/util/debug.rs:351:9 [INFO] [stdout] | [INFO] [stdout] 351 | use crate::util::Span; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `error::*` [INFO] [stdout] --> src/util/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use error::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `intern::*` [INFO] [stdout] --> src/util/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use intern::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `diagnostic::*` [INFO] [stdout] --> src/util/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use diagnostic::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `debug::*` [INFO] [stdout] --> src/util/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use debug::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `prelude::*` [INFO] [stdout] --> src/std/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use prelude::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `?` couldn't convert the error: `Vec: std::error::Error` is not satisfied [INFO] [stdout] --> src/ir/builder.rs:683:45 [INFO] [stdout] | [INFO] [stdout] 677 | fn build_ir_from_source(source: &str) -> Result> { [INFO] [stdout] | -------------------------------------------- required `Vec: std::error::Error` because of this [INFO] [stdout] ... [INFO] [stdout] 683 | type_checker.check_program(&program)?; [INFO] [stdout] | -----------------------^ the trait `std::error::Error` is not implemented for `Vec` [INFO] [stdout] | | [INFO] [stdout] | this has type `Result<_, Vec>` [INFO] [stdout] | [INFO] [stdout] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stdout] = note: required for `Box` to implement `From>` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable expression [INFO] [stdout] --> src/codegen/target.rs:240:5 [INFO] [stdout] | [INFO] [stdout] 225 | return "x86_64-unknown-linux-gnu".to_string(); [INFO] [stdout] | --------------------------------------------- any code following this expression is unreachable [INFO] [stdout] ... [INFO] [stdout] 240 | "x86_64-unknown-linux-gnu".to_string() [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable expression [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `token_type` [INFO] [stdout] --> src/parser/parser.rs:936:23 [INFO] [stdout] | [INFO] [stdout] 936 | fn peek_is(&self, token_type: &TokenType) -> bool { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_token_type` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/semantics/type_checker.rs:149:16 [INFO] [stdout] | [INFO] [stdout] 149 | if let Item::Declaration(ref decl) = item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] = note: `#[warn(irrefutable_let_patterns)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/semantics/type_checker.rs:156:16 [INFO] [stdout] | [INFO] [stdout] 156 | if let Item::Declaration(ref decl) = item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/semantics/type_checker.rs:197:35 [INFO] [stdout] | [INFO] [stdout] 197 | Declaration::Struct { name, .. } => { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `name` [INFO] [stdout] --> src/semantics/type_checker.rs:200:33 [INFO] [stdout] | [INFO] [stdout] 200 | Declaration::Enum { name, .. } => { [INFO] [stdout] | ^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/ir/builder.rs:125:16 [INFO] [stdout] | [INFO] [stdout] 125 | if let Item::Declaration(decl) = &item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: irrefutable `if let` pattern [INFO] [stdout] --> src/ir/builder.rs:146:16 [INFO] [stdout] | [INFO] [stdout] 146 | if let Item::Declaration(decl) = &item.inner { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this pattern will always match, so the `if let` is useless [INFO] [stdout] = help: consider replacing the `if let` with a `let` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `return_type` [INFO] [stdout] --> src/ir/builder.rs:126:66 [INFO] [stdout] | [INFO] [stdout] 126 | if let Declaration::Function { name, parameters, return_type, .. } = &decl.inner { [INFO] [stdout] | ^^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `symbol_table` [INFO] [stdout] --> src/ir/builder.rs:114:56 [INFO] [stdout] | [INFO] [stdout] 114 | pub fn build_program(&mut self, program: &Program, symbol_table: &SymbolTable) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_symbol_table` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block` [INFO] [stdout] --> src/ir/builder.rs:515:63 [INFO] [stdout] | [INFO] [stdout] 515 | fn write_variable(&mut self, var: String, value: ValueId, block: BlockId) { [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_block` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/ir/optimizer.rs:466:35 [INFO] [stdout] | [INFO] [stdout] 466 | fn run_on_function(&mut self, cfg: &mut ControlFlowGraph) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cfg` [INFO] [stdout] --> src/ir/optimizer.rs:485:35 [INFO] [stdout] | [INFO] [stdout] 485 | fn run_on_function(&mut self, cfg: &mut ControlFlowGraph) -> bool { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_cfg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `param_name` [INFO] [stdout] --> src/codegen/llvm.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | for (i, (param_name, param_value)) in cfg.get_parameters().iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_param_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `block_id` [INFO] [stdout] --> src/codegen/llvm.rs:213:40 [INFO] [stdout] | [INFO] [stdout] 213 | fn generate_basic_block(&mut self, block_id: BlockId, block: &BasicBlock, is_entry: bool) -> Result<(), LlvmCodegenError> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_block_id` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `is_entry` [INFO] [stdout] --> src/codegen/llvm.rs:213:79 [INFO] [stdout] | [INFO] [stdout] 213 | fn generate_basic_block(&mut self, block_id: BlockId, block: &BasicBlock, is_entry: bool) -> Result<(), LlvmCodegenError> { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_is_entry` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen/llvm.rs:225:48 [INFO] [stdout] | [INFO] [stdout] 225 | InstructionKind::ConstInt { value, ty } => { [INFO] [stdout] | ^^ help: try ignoring the field: `ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `ty` [INFO] [stdout] --> src/codegen/llvm.rs:231:50 [INFO] [stdout] | [INFO] [stdout] 231 | InstructionKind::ConstFloat { value, ty } => { [INFO] [stdout] | ^^ help: try ignoring the field: `ty: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `visibility` [INFO] [stdout] --> src/util/debug.rs:129:74 [INFO] [stdout] | [INFO] [stdout] 129 | Declaration::Function { name, parameters, return_type, body, visibility, .. } => { [INFO] [stdout] | ^^^^^^^^^^- [INFO] [stdout] | | [INFO] [stdout] | help: try removing the field [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:136:9 [INFO] [stdout] | [INFO] [stdout] 136 | let mut lexer = lexer::Lexer::new(&source); [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `input_path` [INFO] [stdout] --> src/main.rs:413:74 [INFO] [stdout] | [INFO] [stdout] 413 | fn compile_source_to_binary(source: &str, output_path: &std::path::Path, input_path: &std::path::Path, verbose: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `verbose` [INFO] [stdout] --> src/main.rs:413:104 [INFO] [stdout] | [INFO] [stdout] 413 | fn compile_source_to_binary(source: &str, output_path: &std::path::Path, input_path: &std::path::Path, verbose: bool) -> Result<()> { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_verbose` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0432. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] [INFO] [stderr] error: could not compile `colang` (bin "colang" test) due to 2 previous errors; 53 warnings emitted [INFO] running `Command { std: "docker" "inspect" "79349654a6d491cce2372ba2b3de909ff795ffaf779beeab4da42a79a03b409b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "79349654a6d491cce2372ba2b3de909ff795ffaf779beeab4da42a79a03b409b", kill_on_drop: false }` [INFO] [stdout] 79349654a6d491cce2372ba2b3de909ff795ffaf779beeab4da42a79a03b409b