[INFO] cloning repository https://github.com/dhjs0000/EOL [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dhjs0000/EOL" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdhjs0000%2FEOL", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdhjs0000%2FEOL'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 42f1b1fd2420b637c27e9a60eedcda49ca793118 [INFO] checking dhjs0000/EOL against master#08cd08fbef8c6663b052d8d9e4930d5696cbb8a7 for 150662-leaf [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdhjs0000%2FEOL" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] [stderr] Updating files: 81% (2108/2594) Updating files: 82% (2128/2594) Updating files: 83% (2154/2594) Updating files: 84% (2179/2594) Updating files: 85% (2205/2594) Updating files: 86% (2231/2594) Updating files: 87% (2257/2594) Updating files: 88% (2283/2594) Updating files: 89% (2309/2594) Updating files: 90% (2335/2594) Updating files: 91% (2361/2594) Updating files: 92% (2387/2594) Updating files: 93% (2413/2594) Updating files: 94% (2439/2594) Updating files: 95% (2465/2594) Updating files: 96% (2491/2594) Updating files: 97% (2517/2594) Updating files: 98% (2543/2594) Updating files: 99% (2569/2594) Updating files: 100% (2594/2594) Updating files: 100% (2594/2594), done. [INFO] removed /workspace/builds/worker-1-tc1/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/dhjs0000/EOL [INFO] finished tweaking git repo https://github.com/dhjs0000/EOL [INFO] tweaked toml for git repo https://github.com/dhjs0000/EOL written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dhjs0000/EOL on toolchain 08cd08fbef8c6663b052d8d9e4930d5696cbb8a7 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dhjs0000/EOL 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" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded logos-derive v0.15.1 [INFO] [stderr] Downloaded logos-codegen v0.15.1 [INFO] [stderr] Downloaded owo-colors v4.3.0 [INFO] [stderr] Downloaded egui_extras v0.29.1 [INFO] [stderr] Downloaded ecolor v0.29.1 [INFO] [stderr] Downloaded egui_glow v0.29.1 [INFO] [stderr] Downloaded emath v0.29.1 [INFO] [stderr] Downloaded egui-winit v0.29.1 [INFO] [stderr] Downloaded epaint v0.29.1 [INFO] [stderr] Downloaded eframe v0.29.1 [INFO] [stderr] Downloaded egui v0.29.1 [INFO] [stderr] Downloaded epaint_default_fonts v0.29.1 [INFO] [stderr] Downloaded logos v0.15.1 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0b5f2a36e507d1fe52892794f8262041d1725bc5c551963616c723f62b4b980e [INFO] running `Command { std: "docker" "start" "-a" "0b5f2a36e507d1fe52892794f8262041d1725bc5c551963616c723f62b4b980e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0b5f2a36e507d1fe52892794f8262041d1725bc5c551963616c723f62b4b980e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0b5f2a36e507d1fe52892794f8262041d1725bc5c551963616c723f62b4b980e", kill_on_drop: false }` [INFO] [stdout] 0b5f2a36e507d1fe52892794f8262041d1725bc5c551963616c723f62b4b980e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+08cd08fbef8c6663b052d8d9e4930d5696cbb8a7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3f4331b9581acb9a0cbc841aebb027d9daaff076f31a152fa8c70cbd90d8c82d [INFO] running `Command { std: "docker" "start" "-a" "3f4331b9581acb9a0cbc841aebb027d9daaff076f31a152fa8c70cbd90d8c82d", kill_on_drop: false }` [INFO] [stderr] Compiling wayland-sys v0.31.10 [INFO] [stderr] Compiling zerocopy v0.8.42 [INFO] [stderr] Compiling wayland-scanner v0.31.9 [INFO] [stderr] Compiling bytemuck_derive v1.10.2 [INFO] [stderr] Checking serde v1.0.228 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Compiling khronos_api v3.1.0 [INFO] [stderr] Compiling xml-rs v0.8.28 [INFO] [stderr] Compiling toml_parser v1.0.10+spec-1.1.0 [INFO] [stderr] Compiling toml_datetime v1.0.1+spec-1.1.0 [INFO] [stderr] Checking icu_normalizer v2.1.1 [INFO] [stderr] Compiling zvariant_utils v2.1.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Checking piper v0.2.5 [INFO] [stderr] Checking calloop v0.13.0 [INFO] [stderr] Checking async-channel v2.5.0 [INFO] [stderr] Compiling enumflags2_derive v0.7.12 [INFO] [stderr] Checking getrandom v0.2.17 [INFO] [stderr] Checking epaint_default_fonts v0.29.1 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Checking x11rb v0.13.2 [INFO] [stderr] Checking wayland-backend v0.3.14 [INFO] [stderr] Checking blocking v1.6.2 [INFO] [stderr] Checking calloop v0.14.4 [INFO] [stderr] Checking rand_core v0.6.4 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Compiling toml_edit v0.25.5+spec-1.1.0 [INFO] [stderr] Compiling serde_repr v0.1.20 [INFO] [stderr] Compiling winit v0.30.13 [INFO] [stderr] Compiling object v0.37.3 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling gl_generator v0.14.0 [INFO] [stderr] Checking async-io v2.6.0 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Compiling logos-codegen v0.15.1 [INFO] [stderr] Checking xkbcommon-dl v0.4.2 [INFO] [stderr] Checking async-lock v3.4.2 [INFO] [stderr] Compiling glutin v0.32.3 [INFO] [stderr] Checking futures-util v0.3.32 [INFO] [stderr] Checking regex-syntax v0.8.9 [INFO] [stderr] Checking enumflags2 v0.7.12 [INFO] [stderr] Checking gimli v0.32.3 [INFO] [stderr] Checking wayland-csd-frame v0.3.0 [INFO] [stderr] Checking sha1 v0.10.6 [INFO] [stderr] Compiling mime_guess2 v2.3.1 [INFO] [stderr] Compiling proc-macro-crate v3.5.0 [INFO] [stderr] Compiling glutin_egl_sys v0.7.1 [INFO] [stderr] Checking bytemuck v1.25.0 [INFO] [stderr] Compiling glutin_glx_sys v0.6.1 [INFO] [stderr] Checking nix v0.29.0 [INFO] [stderr] Checking async-fs v2.2.0 [INFO] [stderr] Checking emath v0.29.1 [INFO] [stderr] Checking async-executor v1.14.0 [INFO] [stderr] Checking async-broadcast v0.7.2 [INFO] [stderr] Compiling pin-project-internal v1.1.11 [INFO] [stderr] Compiling tokio-macros v2.6.1 [INFO] [stderr] Compiling glutin-winit v0.5.0 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking mio v1.1.1 [INFO] [stderr] Checking wayland-client v0.31.13 [INFO] [stderr] Checking ecolor v0.29.1 [INFO] [stderr] Compiling zvariant_derive v4.2.0 [INFO] [stderr] Compiling zbus_macros v4.4.0 [INFO] [stderr] Checking xdg-home v1.3.0 [INFO] [stderr] Compiling owo-colors v4.3.0 [INFO] [stderr] Compiling beef v0.5.2 [INFO] [stderr] Checking regex-automata v0.4.14 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Checking moxcms v0.8.1 [INFO] [stderr] Checking png v0.18.1 [INFO] [stderr] Checking arboard v3.6.1 [INFO] [stderr] Checking tokio v1.50.0 [INFO] [stderr] Checking wayland-protocols v0.32.11 [INFO] [stderr] Checking wayland-cursor v0.31.13 [INFO] [stderr] Checking calloop-wayland-source v0.3.0 [INFO] [stderr] Checking zvariant v4.2.0 [INFO] [stderr] Checking calloop-wayland-source v0.4.1 [INFO] [stderr] Checking addr2line v0.25.1 [INFO] [stderr] Checking pin-project v1.1.11 [INFO] [stderr] Checking webbrowser v1.2.0 [INFO] [stderr] Checking async-net v2.0.0 [INFO] [stderr] Compiling enum-map-derive v0.17.0 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling rfd v0.14.1 [INFO] [stderr] Checking glow v0.14.2 [INFO] [stderr] Checking is_ci v1.2.0 [INFO] [stderr] Checking anstream v0.6.21 [INFO] [stderr] Checking supports-color v3.0.2 [INFO] [stderr] Checking textwrap v0.16.2 [INFO] [stderr] Checking enum-map v2.7.3 [INFO] [stderr] Checking dashmap v5.5.3 [INFO] [stderr] Checking lsp-types v0.94.1 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling auto_impl v1.3.0 [INFO] [stderr] Compiling miette-derive v7.6.0 [INFO] [stderr] Checking tower v0.4.13 [INFO] [stderr] Checking ahash v0.8.12 [INFO] [stderr] Checking ppv-lite86 v0.2.21 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Compiling tower-lsp-macros v0.9.0 [INFO] [stderr] Checking regex v1.12.3 [INFO] [stderr] Checking backtrace v0.3.76 [INFO] [stderr] Compiling logos-derive v0.15.1 [INFO] [stderr] Checking terminal_size v0.4.3 [INFO] [stderr] Checking supports-unicode v3.0.0 [INFO] [stderr] Checking epaint v0.29.1 [INFO] [stderr] Compiling cavvy v0.5.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking pollster v0.3.0 [INFO] [stderr] Checking jiff v0.2.23 [INFO] [stderr] Checking env_filter v1.0.0 [INFO] [stderr] Checking supports-hyperlinks v3.2.0 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking logos v0.15.1 [INFO] [stderr] Checking backtrace-ext v0.2.1 [INFO] [stderr] warning: cavvy@0.5.0: Copied Linux toolchain (LLVM Linux binaries) to /opt/rustwide/target/debug [INFO] [stderr] warning: cavvy@0.5.0: Copied examples and caylibs directories to /opt/rustwide/target/debug [INFO] [stderr] Checking zbus_names v3.0.0 [INFO] [stderr] Checking rand v0.8.5 [INFO] [stderr] Checking egui v0.29.1 [INFO] [stderr] Checking miette v7.6.0 [INFO] [stderr] Checking image v0.25.10 [INFO] [stderr] Checking zbus v4.4.0 [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking env_logger v0.11.9 [INFO] [stderr] Checking egui_glow v0.29.1 [INFO] [stderr] Checking egui_extras v0.29.1 [INFO] [stderr] Checking wayland-protocols-wlr v0.3.11 [INFO] [stderr] Checking wayland-protocols-plasma v0.3.11 [INFO] [stderr] Checking wayland-protocols-experimental v20250721.0.1 [INFO] [stderr] Checking wayland-protocols-misc v0.3.11 [INFO] [stderr] Checking smithay-client-toolkit v0.19.2 [INFO] [stderr] Checking smithay-client-toolkit v0.20.0 [INFO] [stderr] Checking ashpd v0.8.1 [INFO] [stderr] Checking smithay-clipboard v0.7.3 [INFO] [stderr] Checking tower-lsp v0.20.0 [INFO] [stderr] Checking egui-winit v0.29.1 [INFO] [stderr] Checking eframe v0.29.1 [INFO] [stdout] warning: unused imports: `Diagnostic` and `NamedSource` [INFO] [stdout] --> src/error.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use miette::{Diagnostic, NamedSource, SourceSpan}; [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: `std::sync::Arc` [INFO] [stdout] --> src/error.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cayError` should have an upper camel case name [INFO] [stdout] --> src/error.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum cayError { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CayError` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cayResult` should have an upper camel case name [INFO] [stdout] --> src/error.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub type cayResult = Result; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CayResult` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/diagnostic.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClassInfo` and `MethodInfo` [INFO] [stdout] --> src/ast.rs:1:41 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::types::{Type, ParameterInfo, ClassInfo, MethodInfo}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SourceSpan` [INFO] [stdout] --> src/lexer/mod.rs:4:88 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::diagnostic::{Diagnostic, DiagnosticCollector, ErrorCodes, CompilationPhase, SourceSpan, FixSuggestion}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InterfaceInfo` [INFO] [stdout] --> src/parser/classes.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::{Type, ParameterInfo, InterfaceInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::error::SourceLocation` [INFO] [stdout] --> src/parser/classes.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::SourceLocation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `is_primitive_type_token` [INFO] [stdout] --> src/parser/statements.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use super::types::{parse_type, is_primitive_type_token}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lambda::*` [INFO] [stdout] --> src/parser/expressions/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use lambda::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenWithLocation` [INFO] [stdout] --> src/parser/utils.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::lexer::{Token, TokenWithLocation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DiagnosticCollector` [INFO] [stdout] --> src/parser/utils.rs:7:37 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::diagnostic::{Diagnostic, DiagnosticCollector, ErrorCodes, CompilationPhase, FixSuggestion}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClassInfo`, `FieldInfo`, `MethodInfo`, `ParameterInfo`, and `Type` [INFO] [stdout] --> src/semantic/analyzer.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::{Type, ParameterInfo, ClassInfo, MethodInfo, FieldInfo, TypeRegistry}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SemanticSymbolInfo` [INFO] [stdout] --> src/semantic/analyzer.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use super::symbol_table::{SemanticSymbolTable, SemanticSymbolInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MethodDecl` [INFO] [stdout] --> src/semantic/class_analysis.rs:3:50 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ast::{Program, ClassMember, Modifier, MethodDecl}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ParameterInfo` [INFO] [stdout] --> src/semantic/type_check.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::{Type, ParameterInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `semantic_error` [INFO] [stdout] --> src/semantic/type_check.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::error::{cayResult, semantic_error}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::codegen::context::IRGenerator` [INFO] [stdout] --> src/codegen/allocator.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::codegen::context::IRGenerator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::Type` [INFO] [stdout] --> src/codegen/allocator.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::types::Type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `block::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use block::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `var_decl::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use var_decl::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `return_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use return_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `if_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use if_stmt::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `loops::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use loops::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `switch_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use switch_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jump_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use jump_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `scope_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use scope_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `statement::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use statement::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/rcpl/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::constant_pool::Constant` [INFO] [stdout] --> src/bytecode/jit.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | use super::constant_pool::Constant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/idle/editor.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Diagnostic` and `NamedSource` [INFO] [stdout] --> src/error.rs:3:14 [INFO] [stdout] | [INFO] [stdout] 3 | use miette::{Diagnostic, NamedSource, SourceSpan}; [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: `std::sync::Arc` [INFO] [stdout] --> src/error.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::sync::Arc; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cayError` should have an upper camel case name [INFO] [stdout] --> src/error.rs:7:10 [INFO] [stdout] | [INFO] [stdout] 7 | pub enum cayError { [INFO] [stdout] | ^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CayError` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: type `cayResult` should have an upper camel case name [INFO] [stdout] --> src/error.rs:86:10 [INFO] [stdout] | [INFO] [stdout] 86 | pub type cayResult = Result; [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to upper camel case (notice the capitalization): `CayResult` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/diagnostic.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClassInfo` and `MethodInfo` [INFO] [stdout] --> src/ast.rs:1:41 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::types::{Type, ParameterInfo, ClassInfo, MethodInfo}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SourceSpan` [INFO] [stdout] --> src/lexer/mod.rs:4:88 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::diagnostic::{Diagnostic, DiagnosticCollector, ErrorCodes, CompilationPhase, SourceSpan, FixSuggestion}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `InterfaceInfo` [INFO] [stdout] --> src/parser/classes.rs:4:41 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::{Type, ParameterInfo, InterfaceInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::error::SourceLocation` [INFO] [stdout] --> src/parser/classes.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::error::SourceLocation; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `is_primitive_type_token` [INFO] [stdout] --> src/parser/statements.rs:6:32 [INFO] [stdout] | [INFO] [stdout] 6 | use super::types::{parse_type, is_primitive_type_token}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lambda::*` [INFO] [stdout] --> src/parser/expressions/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use lambda::*; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TokenWithLocation` [INFO] [stdout] --> src/parser/utils.rs:5:27 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::lexer::{Token, TokenWithLocation}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DiagnosticCollector` [INFO] [stdout] --> src/parser/utils.rs:7:37 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::diagnostic::{Diagnostic, DiagnosticCollector, ErrorCodes, CompilationPhase, FixSuggestion}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `ClassInfo`, `FieldInfo`, `MethodInfo`, `ParameterInfo`, and `Type` [INFO] [stdout] --> src/semantic/analyzer.rs:4:20 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::{Type, ParameterInfo, ClassInfo, MethodInfo, FieldInfo, TypeRegistry}; [INFO] [stdout] | ^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `SemanticSymbolInfo` [INFO] [stdout] --> src/semantic/analyzer.rs:6:48 [INFO] [stdout] | [INFO] [stdout] 6 | use super::symbol_table::{SemanticSymbolTable, SemanticSymbolInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `MethodDecl` [INFO] [stdout] --> src/semantic/class_analysis.rs:3:50 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::ast::{Program, ClassMember, Modifier, MethodDecl}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `ParameterInfo` [INFO] [stdout] --> src/semantic/type_check.rs:4:26 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::types::{Type, ParameterInfo}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `semantic_error` [INFO] [stdout] --> src/semantic/type_check.rs:5:31 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::error::{cayResult, semantic_error}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::codegen::context::IRGenerator` [INFO] [stdout] --> src/codegen/allocator.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::codegen::context::IRGenerator; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `crate::types::Type` [INFO] [stdout] --> src/codegen/allocator.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use crate::types::Type; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> src/codegen/statements/scope_stmt.rs:85:9 [INFO] [stdout] | [INFO] [stdout] 85 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `block::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | pub use block::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `var_decl::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | pub use var_decl::*; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `return_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:17:9 [INFO] [stdout] | [INFO] [stdout] 17 | pub use return_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `if_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:18:9 [INFO] [stdout] | [INFO] [stdout] 18 | pub use if_stmt::*; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `loops::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:19:9 [INFO] [stdout] | [INFO] [stdout] 19 | pub use loops::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `switch_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:20:9 [INFO] [stdout] | [INFO] [stdout] 20 | pub use switch_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `jump_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:21:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub use jump_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `scope_stmt::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 22 | pub use scope_stmt::*; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `statement::*` [INFO] [stdout] --> src/codegen/statements/mod.rs:23:9 [INFO] [stdout] | [INFO] [stdout] 23 | pub use statement::*; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/rcpl/mod.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::constant_pool::Constant` [INFO] [stdout] --> src/bytecode/jit.rs:298:13 [INFO] [stdout] | [INFO] [stdout] 298 | use super::constant_pool::Constant; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> src/idle/editor.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/ast.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Hasher` [INFO] [stdout] --> src/ast.rs:4:23 [INFO] [stdout] | [INFO] [stdout] 4 | use std::hash::{Hash, Hasher}; [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line_num` [INFO] [stdout] --> src/preprocessor/mod.rs:685:48 [INFO] [stdout] | [INFO] [stdout] 685 | fn parse_string_literal(&self, args: &str, line_num: usize, file_path: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_num` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_path` [INFO] [stdout] --> src/preprocessor/mod.rs:685:65 [INFO] [stdout] | [INFO] [stdout] 685 | fn parse_string_literal(&self, args: &str, line_num: usize, file_path: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_path` [INFO] [stdout] --> src/preprocessor/mod.rs:760:48 [INFO] [stdout] | [INFO] [stdout] 760 | fn handle_elif(&mut self, condition: bool, file_path: &str) -> cayResult<()> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `line_num` [INFO] [stdout] --> src/preprocessor/mod.rs:685:48 [INFO] [stdout] | [INFO] [stdout] 685 | fn parse_string_literal(&self, args: &str, line_num: usize, file_path: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_num` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_path` [INFO] [stdout] --> src/preprocessor/mod.rs:685:65 [INFO] [stdout] | [INFO] [stdout] 685 | fn parse_string_literal(&self, args: &str, line_num: usize, file_path: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `file_path` [INFO] [stdout] --> src/preprocessor/mod.rs:760:48 [INFO] [stdout] | [INFO] [stdout] 760 | fn handle_elif(&mut self, condition: bool, file_path: &str) -> cayResult<()> { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_file_path` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lexer/mod.rs:674:9 [INFO] [stdout] | [INFO] [stdout] 674 | let mut source_map = std::collections::HashMap::new(); [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: `line_content` [INFO] [stdout] --> src/lexer/mod.rs:677:23 [INFO] [stdout] | [INFO] [stdout] 677 | for (output_line, line_content) in lines.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_line_num` [INFO] [stdout] --> src/lexer/mod.rs:678:13 [INFO] [stdout] | [INFO] [stdout] 678 | let output_line_num = output_line + 1; // 1-based [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_line_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `member_type` [INFO] [stdout] --> src/parser/classes.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | let member_type = parse_type(parser)?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `member_name` [INFO] [stdout] --> src/parser/classes.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | ... let member_name = parser.consume_identifier("期望成员名\n提示: 类型后应跟字段名或方法名,例如: int count; 或 int calculate() ... [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/lexer/mod.rs:674:9 [INFO] [stdout] | [INFO] [stdout] 674 | let mut source_map = std::collections::HashMap::new(); [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: `line_content` [INFO] [stdout] --> src/lexer/mod.rs:677:23 [INFO] [stdout] | [INFO] [stdout] 677 | for (output_line, line_content) in lines.iter().enumerate() { [INFO] [stdout] | ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_line_content` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `output_line_num` [INFO] [stdout] --> src/lexer/mod.rs:678:13 [INFO] [stdout] | [INFO] [stdout] 678 | let output_line_num = output_line + 1; // 1-based [INFO] [stdout] | ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_line_num` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `member_type` [INFO] [stdout] --> src/parser/classes.rs:209:13 [INFO] [stdout] | [INFO] [stdout] 209 | let member_type = parse_type(parser)?; [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `member_name` [INFO] [stdout] --> src/parser/classes.rs:210:13 [INFO] [stdout] | [INFO] [stdout] 210 | ... let member_name = parser.consume_identifier("期望成员名\n提示: 类型后应跟字段名或方法名,例如: int count; 或 int calculate() ... [INFO] [stdout] | ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_member_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/semantic/expr_inference.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | _ => Ok(left_type), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/semantic/expr_inference.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 112 | BinaryOp::Add => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | BinaryOp::Sub | BinaryOp::Mul | BinaryOp::Div | BinaryOp::Mod => { [INFO] [stdout] | ------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 166 | BinaryOp::Eq | BinaryOp::Ne | BinaryOp::Lt | BinaryOp::Le | BinaryOp::Gt | BinaryOp::Ge => { [INFO] [stdout] | --------------------------------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 169 | BinaryOp::And | BinaryOp::Or => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 205 | _ => Ok(left_type), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/semantic/expr_inference.rs:719:13 [INFO] [stdout] | [INFO] [stdout] 708 | (Type::Object(from_name), Type::Object(to_name)) => { [INFO] [stdout] | ------------------------------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 719 | (Type::Object(obj_name), Type::Object(_)) if obj_name == "Object" => true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr_type` [INFO] [stdout] --> src/semantic/expr_inference.rs:1045:13 [INFO] [stdout] | [INFO] [stdout] 1045 | let expr_type = self.infer_expr_type(&instanceof.expr)?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expr_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `escaped` [INFO] [stdout] --> src/codegen/context.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | let escaped = s.replace("\\", "\\\\") [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_escaped` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/semantic/expr_inference.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 205 | _ => Ok(left_type), [INFO] [stdout] | ^ no value can reach this [INFO] [stdout] | [INFO] [stdout] note: multiple earlier patterns match some of the same values [INFO] [stdout] --> src/semantic/expr_inference.rs:205:13 [INFO] [stdout] | [INFO] [stdout] 112 | BinaryOp::Add => { [INFO] [stdout] | ------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 137 | BinaryOp::Sub | BinaryOp::Mul | BinaryOp::Div | BinaryOp::Mod => { [INFO] [stdout] | ------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 166 | BinaryOp::Eq | BinaryOp::Ne | BinaryOp::Lt | BinaryOp::Le | BinaryOp::Gt | BinaryOp::Ge => { [INFO] [stdout] | --------------------------------------------------------------------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 169 | BinaryOp::And | BinaryOp::Or => { [INFO] [stdout] | ---------------------------- matches some of the same values [INFO] [stdout] ... [INFO] [stdout] 205 | _ => Ok(left_type), [INFO] [stdout] | ^ ...and 2 other patterns collectively make this unreachable [INFO] [stdout] = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable pattern [INFO] [stdout] --> src/semantic/expr_inference.rs:719:13 [INFO] [stdout] | [INFO] [stdout] 708 | (Type::Object(from_name), Type::Object(to_name)) => { [INFO] [stdout] | ------------------------------------------------ matches all the relevant values [INFO] [stdout] ... [INFO] [stdout] 719 | (Type::Object(obj_name), Type::Object(_)) if obj_name == "Object" => true, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no value can reach this [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expr_type` [INFO] [stdout] --> src/semantic/expr_inference.rs:1045:13 [INFO] [stdout] | [INFO] [stdout] 1045 | let expr_type = self.infer_expr_type(&instanceof.expr)?; [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expr_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_type` [INFO] [stdout] --> src/codegen/expressions/binary.rs:376:65 [INFO] [stdout] | [INFO] [stdout] 376 | fn generate_and(&mut self, left_type: &str, left_val: &str, right_type: &str, right_val: &str, temp: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_type` [INFO] [stdout] --> src/codegen/expressions/binary.rs:383:64 [INFO] [stdout] | [INFO] [stdout] 383 | fn generate_or(&mut self, left_type: &str, left_val: &str, right_type: &str, right_val: &str, temp: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `escaped` [INFO] [stdout] --> src/codegen/context.rs:427:13 [INFO] [stdout] | [INFO] [stdout] 427 | let escaped = s.replace("\\", "\\\\") [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_escaped` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_varargs_array` [INFO] [stdout] --> src/codegen/expressions/call.rs:645:102 [INFO] [stdout] | [INFO] [stdout] 645 | ...gs: &[String], has_varargs_array: bool) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_varargs_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_type` [INFO] [stdout] --> src/codegen/expressions/binary.rs:376:65 [INFO] [stdout] | [INFO] [stdout] 376 | fn generate_and(&mut self, left_type: &str, left_val: &str, right_type: &str, right_val: &str, temp: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `right_type` [INFO] [stdout] --> src/codegen/expressions/binary.rs:383:64 [INFO] [stdout] | [INFO] [stdout] 383 | fn generate_or(&mut self, left_type: &str, left_val: &str, right_type: &str, right_val: &str, temp: &str) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_right_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `has_varargs_array` [INFO] [stdout] --> src/codegen/expressions/call.rs:645:102 [INFO] [stdout] | [INFO] [stdout] 645 | ...gs: &[String], has_varargs_array: bool) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_varargs_array` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj_val` [INFO] [stdout] --> src/codegen/expressions/member.rs:73:28 [INFO] [stdout] | [INFO] [stdout] 73 | let (obj_type, obj_val) = self.parse_typed_value(&obj); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `obj_val` [INFO] [stdout] --> src/codegen/expressions/member.rs:73:28 [INFO] [stdout] | [INFO] [stdout] 73 | let (obj_type, obj_val) = self.parse_typed_value(&obj); [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_val` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `align` [INFO] [stdout] --> src/codegen/statements/return_stmt.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | let align = self.get_type_align("float"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_align` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `align` [INFO] [stdout] --> src/codegen/statements/return_stmt.rs:33:25 [INFO] [stdout] | [INFO] [stdout] 33 | let align = self.get_type_align("double"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_align` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/codegen/statements/switch_stmt.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | let (value, label, case_idx) = &case_labels[i]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `align` [INFO] [stdout] --> src/codegen/statements/return_stmt.rs:28:25 [INFO] [stdout] | [INFO] [stdout] 28 | let align = self.get_type_align("float"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_align` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `align` [INFO] [stdout] --> src/codegen/statements/return_stmt.rs:33:25 [INFO] [stdout] | [INFO] [stdout] 33 | let align = self.get_type_align("double"); [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_align` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `llvm_type` [INFO] [stdout] --> src/codegen/generator.rs:348:55 [INFO] [stdout] | [INFO] [stdout] 348 | fn evaluate_const_initializer(&self, expr: &Expr, llvm_type: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_llvm_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `value` [INFO] [stdout] --> src/codegen/statements/switch_stmt.rs:49:18 [INFO] [stdout] | [INFO] [stdout] 49 | let (value, label, case_idx) = &case_labels[i]; [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_value` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `llvm_type` [INFO] [stdout] --> src/codegen/generator.rs:348:55 [INFO] [stdout] | [INFO] [stdout] 348 | fn evaluate_const_initializer(&self, expr: &Expr, llvm_type: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_llvm_type` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `constant_pool` [INFO] [stdout] --> src/bytecode/obfuscator.rs:146:45 [INFO] [stdout] | [INFO] [stdout] 146 | fn update_names_in_constant_pool(&self, constant_pool: &mut ConstantPool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constant_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/bytecode/jit.rs:937:21 [INFO] [stdout] | [INFO] [stdout] 937 | let offset = i16::from_le_bytes([instr.operands[0], instr.operands[1]]); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/bytecode/jit.rs:948:21 [INFO] [stdout] | [INFO] [stdout] 948 | let offset = i16::from_le_bytes([instr.operands[0], instr.operands[1]]); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/bytecode/jit.rs:960:21 [INFO] [stdout] | [INFO] [stdout] 960 | let offset = i16::from_le_bytes([instr.operands[0], instr.operands[1]]); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_name` [INFO] [stdout] --> src/bytecode/jit.rs:1100:29 [INFO] [stdout] | [INFO] [stdout] 1100 | if let Some(class_name) = ctx.pool.get_utf8(index) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `constant_pool` [INFO] [stdout] --> src/bytecode/obfuscator.rs:146:45 [INFO] [stdout] | [INFO] [stdout] 146 | fn update_names_in_constant_pool(&self, constant_pool: &mut ConstantPool) { [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_constant_pool` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/bytecode/jit.rs:937:21 [INFO] [stdout] | [INFO] [stdout] 937 | let offset = i16::from_le_bytes([instr.operands[0], instr.operands[1]]); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/bytecode/jit.rs:948:21 [INFO] [stdout] | [INFO] [stdout] 948 | let offset = i16::from_le_bytes([instr.operands[0], instr.operands[1]]); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `offset` [INFO] [stdout] --> src/bytecode/jit.rs:960:21 [INFO] [stdout] | [INFO] [stdout] 960 | let offset = i16::from_le_bytes([instr.operands[0], instr.operands[1]]); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_offset` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `class_name` [INFO] [stdout] --> src/bytecode/jit.rs:1100:29 [INFO] [stdout] | [INFO] [stdout] 1100 | if let Some(class_name) = ctx.pool.get_utf8(index) { [INFO] [stdout] | ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_class_name` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/idle/mod.rs:72:58 [INFO] [stdout] | [INFO] [stdout] 72 | fn configure_fonts(cc: &eframe::CreationContext<'_>, config: &font_manager::FontConfig) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `line_col_to_offset` is never used [INFO] [stdout] --> src/error.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn line_col_to_offset(source: &str, line: usize, column: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_error_span` is never used [INFO] [stdout] --> src/error.rs:354:4 [INFO] [stdout] | [INFO] [stdout] 354 | fn get_error_span(source: &str, line: usize, column: usize, error: &cayError) -> SourceSpan { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_source_map_from_preprocessed` is never used [INFO] [stdout] --> src/lexer/mod.rs:673:4 [INFO] [stdout] | [INFO] [stdout] 673 | fn extract_source_map_from_preprocessed(source: &str) -> std::collections::HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/parser/mod.rs:157:8 [INFO] [stdout] | [INFO] [stdout] 27 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | fn parse_class_member(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn parse_field(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn parse_method(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn parse_modifiers(&mut self) -> cayResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | fn is_type_token(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn is_primitive_type_token(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn parse_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn parse_var_decl(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | fn parse_if_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | fn parse_while_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | fn parse_for_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | fn parse_do_while_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn parse_switch_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn parse_return_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn parse_expression_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn parse_expression(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | fn parse_assignment(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | fn parse_or(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | fn parse_and(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn parse_bitwise_or(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | fn parse_bitwise_xor(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | fn parse_bitwise_and(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn parse_equality(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | fn parse_comparison(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | fn parse_shift(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn parse_term(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn parse_factor(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | fn parse_unary(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | fn parse_postfix(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | fn parse_primary(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn parse_arguments(&mut self) -> cayResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn match_assignment_op(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | fn previous_loc(&self) -> crate::error::SourceLocation { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_constructor` is never used [INFO] [stdout] --> src/parser/classes.rs:384:8 [INFO] [stdout] | [INFO] [stdout] 384 | pub fn parse_constructor(parser: &mut Parser) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_primitive_type_token` is never used [INFO] [stdout] --> src/parser/types.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn is_primitive_type_token(parser: &Parser) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `previous_loc` is never used [INFO] [stdout] --> src/parser/utils.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn previous_loc(parser: &Parser) -> crate::error::SourceLocation { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_parser_error` is never used [INFO] [stdout] --> src/parser/utils.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn create_parser_error(parser: &mut Parser, error_code: &'static str, message: impl Into) -> cayError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_type_token` is never used [INFO] [stdout] --> src/parser/utils.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn is_type_token(parser: &Parser) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `synchronize` is never used [INFO] [stdout] --> src/parser/utils.rs:326:8 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn synchronize(parser: &mut Parser) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlatformAbstraction` is never constructed [INFO] [stdout] --> src/codegen/generator.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PlatformAbstraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_feature`, `with_define`, `with_undefine`, `generate_platform_init`, and `generate_platform_declarations` are never used [INFO] [stdout] --> src/codegen/generator.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl PlatformAbstraction { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new(target_os: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_feature(mut self, feature: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn with_define(mut self, define: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn with_undefine(mut self, undefine: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn generate_platform_init(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn generate_platform_declarations(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `generate_class_declarations` and `generate_method_declaration` are never used [INFO] [stdout] --> src/codegen/generator.rs:483:8 [INFO] [stdout] | [INFO] [stdout] 81 | impl IRGenerator { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 483 | fn generate_class_declarations(&mut self, class: &ClassDecl) -> cayResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 494 | fn generate_method_declaration(&mut self, class_name: &str, method: &MethodDecl) -> cayResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlatformCodeGenerator` is never constructed [INFO] [stdout] --> src/codegen/platform.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct PlatformCodeGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `generate_platform_init`, `generate_platform_declarations`, and `generate_dynamic_library_loading` are never used [INFO] [stdout] --> src/codegen/platform.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl PlatformCodeGenerator { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 102 | pub fn new(config: PlatformConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn generate_platform_init(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn generate_platform_declarations(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn generate_dynamic_library_loading(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `current_block` is never read [INFO] [stdout] --> src/bytecode/jit.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 90 | struct InstructionContext<'a> { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 100 | current_block: &'a mut String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `selection` and `scroll_offset` are never read [INFO] [stdout] --> src/idle/editor.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct CodeEditor { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | selection: Option<(usize, usize)>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 27 | /// 滚动位置 [INFO] [stdout] 28 | scroll_offset: f32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `config` [INFO] [stdout] --> src/idle/mod.rs:72:58 [INFO] [stdout] | [INFO] [stdout] 72 | fn configure_fonts(cc: &eframe::CreationContext<'_>, config: &font_manager::FontConfig) { [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `line_col_to_offset` is never used [INFO] [stdout] --> src/error.rs:333:4 [INFO] [stdout] | [INFO] [stdout] 333 | fn line_col_to_offset(source: &str, line: usize, column: usize) -> usize { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_error_span` is never used [INFO] [stdout] --> src/error.rs:354:4 [INFO] [stdout] | [INFO] [stdout] 354 | fn get_error_span(source: &str, line: usize, column: usize, error: &cayError) -> SourceSpan { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_source_map_from_preprocessed` is never used [INFO] [stdout] --> src/lexer/mod.rs:673:4 [INFO] [stdout] | [INFO] [stdout] 673 | fn extract_source_map_from_preprocessed(source: &str) -> std::collections::HashMap { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/parser/mod.rs:157:8 [INFO] [stdout] | [INFO] [stdout] 27 | impl Parser { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 157 | fn parse_class_member(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 161 | fn parse_field(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 165 | fn parse_method(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 169 | fn parse_modifiers(&mut self) -> cayResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 182 | fn is_type_token(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | fn is_primitive_type_token(&self) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 195 | fn parse_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 199 | fn parse_var_decl(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 203 | fn parse_if_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 207 | fn parse_while_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 211 | fn parse_for_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 215 | fn parse_do_while_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 219 | fn parse_switch_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 223 | fn parse_return_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 227 | fn parse_expression_statement(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 232 | fn parse_expression(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 236 | fn parse_assignment(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 240 | fn parse_or(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 244 | fn parse_and(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 248 | fn parse_bitwise_or(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 252 | fn parse_bitwise_xor(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 256 | fn parse_bitwise_and(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn parse_equality(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 264 | fn parse_comparison(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 268 | fn parse_shift(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 272 | fn parse_term(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 276 | fn parse_factor(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 280 | fn parse_unary(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 284 | fn parse_postfix(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 288 | fn parse_primary(&mut self) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 292 | fn parse_arguments(&mut self) -> cayResult> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 296 | fn match_assignment_op(&mut self) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 313 | fn previous_loc(&self) -> crate::error::SourceLocation { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_constructor` is never used [INFO] [stdout] --> src/parser/classes.rs:384:8 [INFO] [stdout] | [INFO] [stdout] 384 | pub fn parse_constructor(parser: &mut Parser) -> cayResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_primitive_type_token` is never used [INFO] [stdout] --> src/parser/types.rs:171:8 [INFO] [stdout] | [INFO] [stdout] 171 | pub fn is_primitive_type_token(parser: &Parser) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `previous_loc` is never used [INFO] [stdout] --> src/parser/utils.rs:40:8 [INFO] [stdout] | [INFO] [stdout] 40 | pub fn previous_loc(parser: &Parser) -> crate::error::SourceLocation { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_parser_error` is never used [INFO] [stdout] --> src/parser/utils.rs:168:8 [INFO] [stdout] | [INFO] [stdout] 168 | pub fn create_parser_error(parser: &mut Parser, error_code: &'static str, message: impl Into) -> cayError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_type_token` is never used [INFO] [stdout] --> src/parser/utils.rs:313:8 [INFO] [stdout] | [INFO] [stdout] 313 | pub fn is_type_token(parser: &Parser) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `synchronize` is never used [INFO] [stdout] --> src/parser/utils.rs:326:8 [INFO] [stdout] | [INFO] [stdout] 326 | pub fn synchronize(parser: &mut Parser) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlatformAbstraction` is never constructed [INFO] [stdout] --> src/codegen/generator.rs:8:12 [INFO] [stdout] | [INFO] [stdout] 8 | pub struct PlatformAbstraction { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `with_feature`, `with_define`, `with_undefine`, `generate_platform_init`, and `generate_platform_declarations` are never used [INFO] [stdout] --> src/codegen/generator.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 15 | impl PlatformAbstraction { [INFO] [stdout] | ------------------------ associated items in this implementation [INFO] [stdout] 16 | pub fn new(target_os: &str) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn with_feature(mut self, feature: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 32 | pub fn with_define(mut self, define: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 38 | pub fn with_undefine(mut self, undefine: &str) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | pub fn generate_platform_init(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn generate_platform_declarations(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `generate_class_declarations` and `generate_method_declaration` are never used [INFO] [stdout] --> src/codegen/generator.rs:483:8 [INFO] [stdout] | [INFO] [stdout] 81 | impl IRGenerator { [INFO] [stdout] | ---------------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 483 | fn generate_class_declarations(&mut self, class: &ClassDecl) -> cayResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 494 | fn generate_method_declaration(&mut self, class_name: &str, method: &MethodDecl) -> cayResult<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PlatformCodeGenerator` is never constructed [INFO] [stdout] --> src/codegen/platform.rs:97:12 [INFO] [stdout] | [INFO] [stdout] 97 | pub struct PlatformCodeGenerator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `generate_platform_init`, `generate_platform_declarations`, and `generate_dynamic_library_loading` are never used [INFO] [stdout] --> src/codegen/platform.rs:102:12 [INFO] [stdout] | [INFO] [stdout] 101 | impl PlatformCodeGenerator { [INFO] [stdout] | -------------------------- associated items in this implementation [INFO] [stdout] 102 | pub fn new(config: PlatformConfig) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 107 | pub fn generate_platform_init(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 153 | pub fn generate_platform_declarations(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 186 | pub fn generate_dynamic_library_loading(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `current_block` is never read [INFO] [stdout] --> src/bytecode/jit.rs:100:5 [INFO] [stdout] | [INFO] [stdout] 90 | struct InstructionContext<'a> { [INFO] [stdout] | ------------------ field in this struct [INFO] [stdout] ... [INFO] [stdout] 100 | current_block: &'a mut String, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `selection` and `scroll_offset` are never read [INFO] [stdout] --> src/idle/editor.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 16 | pub struct CodeEditor { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 26 | selection: Option<(usize, usize)>, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 27 | /// 滚动位置 [INFO] [stdout] 28 | scroll_offset: f32, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_eol` is never used [INFO] [stdout] --> tests/common/mod.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn compile_and_run_eol(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Opcode` [INFO] [stdout] --> src/bin/cay-bcgen.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | use cavvy::bytecode::instructions::{Instruction, Opcode}; [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: `print_warning` [INFO] [stdout] --> src/bin/cay-bcgen.rs:8:58 [INFO] [stdout] | [INFO] [stdout] 8 | use cavvy::error::{print_miette_error, print_tool_error, print_warning}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `print_warning` [INFO] [stdout] --> src/bin/cay-run.rs:8:84 [INFO] [stdout] | [INFO] [stdout] 8 | use cavvy::error::{print_error_with_context, print_miette_error, print_tool_error, print_warning}; [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 variable: `type_registry` [INFO] [stdout] --> src/bin/cay-bcgen.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | type_registry: &cavvy::types::TypeRegistry [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_registry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_clang_exe_name` is never used [INFO] [stdout] --> src/bin/ir2exe.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn get_clang_exe_name() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `Path` [INFO] [stdout] --> src/bin/cay-ir.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [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: `print_tool_error` [INFO] [stdout] --> src/bin/cay-ir.rs:6:66 [INFO] [stdout] | [INFO] [stdout] 6 | use cavvy::error::{print_error_with_context, print_miette_error, print_tool_error, print_warning}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `print_warning` [INFO] [stdout] --> src/bin/cay-run.rs:8:84 [INFO] [stdout] | [INFO] [stdout] 8 | use cavvy::error::{print_error_with_context, print_miette_error, print_tool_error, print_warning}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Path` [INFO] [stdout] --> src/bin/cay-ir.rs:4:17 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::{Path, PathBuf}; [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: `print_tool_error` [INFO] [stdout] --> src/bin/cay-ir.rs:6:66 [INFO] [stdout] | [INFO] [stdout] 6 | use cavvy::error::{print_error_with_context, print_miette_error, print_tool_error, print_warning}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `lex` [INFO] [stdout] --> tests/diagnostic_tests.rs:6:20 [INFO] [stdout] | [INFO] [stdout] 6 | use cavvy::lexer::{lex, lex_with_diagnostics}; [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: `cavvy::parser::parse` [INFO] [stdout] --> tests/diagnostic_tests.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use cavvy::parser::parse; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::time::Duration` [INFO] [stdout] --> tests/common/mod.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::time::Duration; [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: `Opcode` [INFO] [stdout] --> src/bin/cay-bcgen.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | use cavvy::bytecode::instructions::{Instruction, Opcode}; [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: `print_warning` [INFO] [stdout] --> src/bin/cay-bcgen.rs:8:58 [INFO] [stdout] | [INFO] [stdout] 8 | use cavvy::error::{print_miette_error, print_tool_error, print_warning}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:461:17 [INFO] [stdout] | [INFO] [stdout] 461 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stderr` [INFO] [stdout] --> tests/bytecode_tests.rs:114:9 [INFO] [stdout] | [INFO] [stdout] 114 | let stderr = String::from_utf8_lossy(&output.stderr); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stdout` [INFO] [stdout] --> tests/bytecode_tests.rs:115:9 [INFO] [stdout] | [INFO] [stdout] 115 | let stdout = String::from_utf8_lossy(&output.stdout); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stdout` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stderr` [INFO] [stdout] --> tests/bytecode_tests.rs:155:9 [INFO] [stdout] | [INFO] [stdout] 155 | let stderr = String::from_utf8_lossy(&output.stderr); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `stderr` [INFO] [stdout] --> tests/bytecode_tests.rs:199:9 [INFO] [stdout] | [INFO] [stdout] 199 | let stderr = String::from_utf8_lossy(&output.stderr); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_stderr` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:567:21 [INFO] [stdout] | [INFO] [stdout] 567 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `type_registry` [INFO] [stdout] --> src/bin/cay-bcgen.rs:146:5 [INFO] [stdout] | [INFO] [stdout] 146 | type_registry: &cavvy::types::TypeRegistry [INFO] [stdout] | ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_type_registry` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:587:21 [INFO] [stdout] | [INFO] [stdout] 587 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> tests/bytecode_tests.rs:516:9 [INFO] [stdout] | [INFO] [stdout] 516 | let result = deserialize(&valid_magic); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `TEST_LOCK` is never used [INFO] [stdout] --> tests/common/mod.rs:11:8 [INFO] [stdout] | [INFO] [stdout] 11 | static TEST_LOCK: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_eol` is never used [INFO] [stdout] --> tests/common/mod.rs:34:8 [INFO] [stdout] | [INFO] [stdout] 34 | pub fn compile_and_run_eol(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_eol_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:88:8 [INFO] [stdout] | [INFO] [stdout] 88 | pub fn compile_eol_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compile_and_run_expect_error` is never used [INFO] [stdout] --> tests/common/mod.rs:130:8 [INFO] [stdout] | [INFO] [stdout] 130 | pub fn compile_and_run_expect_error(source_path: &str) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains` is never used [INFO] [stdout] --> tests/common/mod.rs:175:8 [INFO] [stdout] | [INFO] [stdout] 175 | pub fn assert_output_contains(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assert_output_contains_any` is never used [INFO] [stdout] --> tests/common/mod.rs:193:8 [INFO] [stdout] | [INFO] [stdout] 193 | pub fn assert_output_contains_any(output: &str, expected_substrings: &[&str], test_name: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `result` [INFO] [stdout] --> tests/diagnostic_tests.rs:193:10 [INFO] [stdout] | [INFO] [stdout] 193 | let (result, diagnostics) = lex_with_diagnostics(source); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:461:17 [INFO] [stdout] | [INFO] [stdout] 461 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `uri` is never read [INFO] [stdout] --> src/bin/cay-lsp.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct DocumentState { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 21 | uri: Url, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DocumentState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerConfig` is never constructed [INFO] [stdout] --> src/bin/cay-lsp.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct ServerConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:567:21 [INFO] [stdout] | [INFO] [stdout] 567 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_clang_exe_name` is never used [INFO] [stdout] --> src/bin/ir2exe.rs:52:4 [INFO] [stdout] | [INFO] [stdout] 52 | fn get_clang_exe_name() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:587:21 [INFO] [stdout] | [INFO] [stdout] 587 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated field `tower_lsp::lsp_types::DocumentSymbol::deprecated`: Use tags instead [INFO] [stdout] --> src/bin/cay-lsp.rs:606:21 [INFO] [stdout] | [INFO] [stdout] 606 | deprecated: None, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `uri` is never read [INFO] [stdout] --> src/bin/cay-lsp.rs:21:5 [INFO] [stdout] | [INFO] [stdout] 20 | struct DocumentState { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] 21 | uri: Url, [INFO] [stdout] | ^^^ [INFO] [stdout] | [INFO] [stdout] = note: `DocumentState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ServerConfig` is never constructed [INFO] [stdout] --> src/bin/cay-lsp.rs:35:8 [INFO] [stdout] | [INFO] [stdout] 35 | struct ServerConfig { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 44.56s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ashpd v0.8.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 4` [INFO] running `Command { std: "docker" "inspect" "3f4331b9581acb9a0cbc841aebb027d9daaff076f31a152fa8c70cbd90d8c82d", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3f4331b9581acb9a0cbc841aebb027d9daaff076f31a152fa8c70cbd90d8c82d", kill_on_drop: false }` [INFO] [stdout] 3f4331b9581acb9a0cbc841aebb027d9daaff076f31a152fa8c70cbd90d8c82d