[INFO] fetching crate tooka 1.0.6... [INFO] checking tooka-1.0.6 against master#8c32e313cccf7df531e2d49ffb8227bb92304aee for pr-145608-1 [INFO] extracting crate tooka 1.0.6 into /workspace/builds/worker-7-tc1/source [INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml [INFO] started tweaking crates.io crate tooka 1.0.6 [INFO] finished tweaking crates.io crate tooka 1.0.6 [INFO] tweaked toml for crates.io crate tooka 1.0.6 written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate tooka 1.0.6 on toolchain 8c32e313cccf7df531e2d49ffb8227bb92304aee [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate tooka 1.0.6 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" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded clap_complete v4.5.57 [INFO] [stderr] Downloaded mutate_once v0.1.1 [INFO] [stderr] Downloaded kamadak-exif v0.6.1 [INFO] [stderr] Downloaded pdf-writer v0.13.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 808a02a5a0f1fc116b985bf8f7a2ac2a0f6d30cb98e07557533656837e87b89e [INFO] running `Command { std: "docker" "start" "-a" "808a02a5a0f1fc116b985bf8f7a2ac2a0f6d30cb98e07557533656837e87b89e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "808a02a5a0f1fc116b985bf8f7a2ac2a0f6d30cb98e07557533656837e87b89e", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "808a02a5a0f1fc116b985bf8f7a2ac2a0f6d30cb98e07557533656837e87b89e", kill_on_drop: false }` [INFO] [stdout] 808a02a5a0f1fc116b985bf8f7a2ac2a0f6d30cb98e07557533656837e87b89e [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+8c32e313cccf7df531e2d49ffb8227bb92304aee" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4a4e8c665c16f00ed55053f5b722a8cecae8202743e5ebf07e4e73ecc8a58b12 [INFO] running `Command { std: "docker" "start" "-a" "4a4e8c665c16f00ed55053f5b722a8cecae8202743e5ebf07e4e73ecc8a58b12", kill_on_drop: false }` [INFO] [stderr] Compiling serde_json v1.0.142 [INFO] [stderr] Checking regex-automata v0.4.9 [INFO] [stderr] Compiling thiserror v2.0.14 [INFO] [stderr] Checking half v2.6.0 [INFO] [stderr] Compiling syn v2.0.104 [INFO] [stderr] Checking clap_builder v4.5.44 [INFO] [stderr] Checking console v0.16.0 [INFO] [stderr] Checking indexmap v2.10.0 [INFO] [stderr] Checking rayon v1.11.0 [INFO] [stderr] Checking unit-prefix v0.5.1 [INFO] [stderr] Checking mutate_once v0.1.1 [INFO] [stderr] Checking trash v5.2.2 [INFO] [stderr] Checking directories-next v2.0.0 [INFO] [stderr] Checking plotters v0.3.7 [INFO] [stderr] Checking criterion-plot v0.6.0 [INFO] [stderr] Checking pdf-writer v0.13.0 [INFO] [stderr] Checking kamadak-exif v0.6.1 [INFO] [stderr] Checking indicatif v0.18.0 [INFO] [stderr] Checking ciborium-ll v0.2.2 [INFO] [stderr] Checking regex v1.11.1 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling clap_derive v4.5.45 [INFO] [stderr] Compiling thiserror-impl v2.0.14 [INFO] [stderr] Checking flexi_logger v0.31.2 [INFO] [stderr] Checking clap v4.5.45 [INFO] [stderr] Checking clap_complete v4.5.57 [INFO] [stderr] Checking serde v1.0.219 [INFO] [stderr] Checking csv v1.3.1 [INFO] [stderr] Checking ciborium v0.2.2 [INFO] [stderr] Checking serde_yaml v0.9.34+deprecated [INFO] [stderr] Checking tinytemplate v1.2.1 [INFO] [stderr] Checking criterion v0.7.0 [INFO] [stderr] Checking tooka v1.0.6 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `crate::core::error::TookaError` [INFO] [stdout] --> benches/../src/core/sorter_tests.rs:3:9 [INFO] [stdout] | [INFO] [stdout] 3 | use crate::core::error::TookaError; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `collect_files` and `sort_files` [INFO] [stdout] --> benches/../src/core/sorter_tests.rs:4:31 [INFO] [stdout] | [INFO] [stdout] 4 | use crate::core::sorter::{collect_files, sort_files}; [INFO] [stdout] | ^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `tempfile::tempdir` [INFO] [stdout] --> benches/../src/core/sorter_tests.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | use tempfile::tempdir; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> benches/../src/file/file_match_tests.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> benches/../src/file/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod file_match_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::file_match` [INFO] [stdout] --> benches/../src/file/file_match_tests.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use super::file_match; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> benches/../src/file/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod file_match_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateRange`, `MetadataField`, and `Range` [INFO] [stdout] --> benches/../src/file/file_match_tests.rs:7:26 [INFO] [stdout] | [INFO] [stdout] 7 | use crate::rules::rule::{DateRange, MetadataField, Range}; [INFO] [stdout] | ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> benches/../src/file/mod.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | mod file_match_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `fs` and `os::unix::fs::PermissionsExt` [INFO] [stdout] --> benches/../src/file/file_ops_tests.rs:1:11 [INFO] [stdout] | [INFO] [stdout] 1 | use std::{fs, os::unix::fs::PermissionsExt}; [INFO] [stdout] | ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> benches/../src/file/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod file_ops_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::file_ops` [INFO] [stdout] --> benches/../src/file/file_ops_tests.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use super::file_ops; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> benches/../src/file/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod file_ops_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Action`, `CopyAction`, `DeleteAction`, `MoveAction`, `RenameAction`, and `rules::rule::ExecuteAction` [INFO] [stdout] --> benches/../src/file/file_ops_tests.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | rules::rule::ExecuteAction, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 6 | rules::rule::{Action, CopyAction, DeleteAction, MoveAction, RenameAction}, [INFO] [stdout] | ^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] help: if this is a test module, consider adding a `#[cfg(test)]` to the containing module [INFO] [stdout] --> benches/../src/file/mod.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | mod file_ops_tests; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `super::*` [INFO] [stdout] --> benches/../src/utils/date_parser.rs:81:9 [INFO] [stdout] | [INFO] [stdout] 81 | use super::*; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Datelike` and `Timelike` [INFO] [stdout] --> benches/../src/utils/date_parser.rs:82:18 [INFO] [stdout] | [INFO] [stdout] 82 | use chrono::{Datelike, Timelike}; [INFO] [stdout] | ^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CONFIG_VERSION` is never used [INFO] [stdout] --> benches/../src/core/context.rs:14:12 [INFO] [stdout] | [INFO] [stdout] 14 | pub static CONFIG_VERSION: usize = 0; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CONFIG_FILE_NAME` is never used [INFO] [stdout] --> benches/../src/core/context.rs:16:12 [INFO] [stdout] | [INFO] [stdout] 16 | pub static CONFIG_FILE_NAME: &str = "tooka.yaml"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RULES_FILE_NAME` is never used [INFO] [stdout] --> benches/../src/core/context.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 18 | pub static RULES_FILE_NAME: &str = "rules.yaml"; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `DEFAULT_LOGS_FOLDER` is never used [INFO] [stdout] --> benches/../src/core/context.rs:20:12 [INFO] [stdout] | [INFO] [stdout] 20 | pub static DEFAULT_LOGS_FOLDER: &str = "logs"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_QUALIFIER` is never used [INFO] [stdout] --> benches/../src/core/context.rs:23:11 [INFO] [stdout] | [INFO] [stdout] 23 | pub const APP_QUALIFIER: &str = "io"; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_ORG` is never used [INFO] [stdout] --> benches/../src/core/context.rs:25:11 [INFO] [stdout] | [INFO] [stdout] 25 | pub const APP_ORG: &str = "github.tooka-org"; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `APP_NAME` is never used [INFO] [stdout] --> benches/../src/core/context.rs:27:11 [INFO] [stdout] | [INFO] [stdout] 27 | pub const APP_NAME: &str = "tooka"; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `CONFIG` is never used [INFO] [stdout] --> benches/../src/core/context.rs:30:8 [INFO] [stdout] | [INFO] [stdout] 30 | static CONFIG: OnceLock>> = OnceLock::new(); [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `RULES_FILE` is never used [INFO] [stdout] --> benches/../src/core/context.rs:32:8 [INFO] [stdout] | [INFO] [stdout] 32 | static RULES_FILE: OnceLock>> = OnceLock::new(); [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_config` is never used [INFO] [stdout] --> benches/../src/core/context.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 38 | pub fn init_config() -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_rules_file` is never used [INFO] [stdout] --> benches/../src/core/context.rs:49:8 [INFO] [stdout] | [INFO] [stdout] 49 | pub fn init_rules_file() -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_locked_rules_file` is never used [INFO] [stdout] --> benches/../src/core/context.rs:60:8 [INFO] [stdout] | [INFO] [stdout] 60 | pub fn get_locked_rules_file() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_locked_config` is never used [INFO] [stdout] --> benches/../src/core/context.rs:73:8 [INFO] [stdout] | [INFO] [stdout] 73 | pub fn get_locked_config() -> Result> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `ConfigError`, `ConfigAlreadyInitialized`, `RulesFileAlreadyInitialized`, `InvalidRule`, `PdfGenerationError`, and `Other` are never constructed [INFO] [stdout] --> benches/../src/core/error.rs:38:5 [INFO] [stdout] | [INFO] [stdout] 19 | pub enum TookaError { [INFO] [stdout] | ---------- variants in this enum [INFO] [stdout] ... [INFO] [stdout] 38 | ConfigError(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 44 | ConfigAlreadyInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | RulesFileAlreadyInitialized, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | InvalidRule(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 71 | PdfGenerationError(String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | Other(String), [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TookaError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variants `MissingId`, `MissingName`, `NoActions`, `InvalidAction`, `InvalidCondition`, and `InvalidFormat` are never constructed [INFO] [stdout] --> benches/../src/core/error.rs:81:5 [INFO] [stdout] | [INFO] [stdout] 79 | pub enum RuleValidationError { [INFO] [stdout] | ------------------- variants in this enum [INFO] [stdout] 80 | #[error("rule id is required")] [INFO] [stdout] 81 | MissingId, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 84 | MissingName(String), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | NoActions(String), [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | InvalidAction(String, usize, String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 93 | InvalidCondition(String, String), [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 96 | InvalidFormat(String), [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RuleValidationError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_report` is never used [INFO] [stdout] --> benches/../src/core/report.rs:25:8 [INFO] [stdout] | [INFO] [stdout] 25 | pub fn generate_report( [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `collect_files` is never used [INFO] [stdout] --> benches/../src/core/sorter.rs:162:8 [INFO] [stdout] | [INFO] [stdout] 162 | pub fn collect_files(dir: &Path) -> Result, TookaError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_test_file` is never used [INFO] [stdout] --> benches/../src/core/sorter_tests.rs:12:8 [INFO] [stdout] | [INFO] [stdout] 12 | fn create_test_file(path: &std::path::Path, content: &str) -> std::io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_test_files` is never used [INFO] [stdout] --> benches/../src/core/sorter_tests.rs:19:8 [INFO] [stdout] | [INFO] [stdout] 19 | fn create_test_files(base_dir: &std::path::Path) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_test_rules` is never used [INFO] [stdout] --> benches/../src/core/sorter_tests.rs:39:8 [INFO] [stdout] | [INFO] [stdout] 39 | fn create_test_rules(dest_dir: &std::path::Path) -> RulesFile { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new_from_file` and `validate` are never used [INFO] [stdout] --> benches/../src/rules/rule.rs:166:12 [INFO] [stdout] | [INFO] [stdout] 163 | impl Rule { [INFO] [stdout] | --------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 166 | pub fn new_from_file>(path: P) -> Result, RuleValidationError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 194 | pub fn validate(&self, deep: bool) -> Result<(), RuleValidationError> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RulesWrapper` is never constructed [INFO] [stdout] --> benches/../src/rules/rule.rs:315:8 [INFO] [stdout] | [INFO] [stdout] 315 | struct RulesWrapper { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> benches/../src/rules/rules_file.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 21 | impl RulesFile { [INFO] [stdout] | -------------- associated items in this implementation [INFO] [stdout] ... [INFO] [stdout] 27 | pub fn load() -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 60 | pub fn save(&self) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn add_rule_from_file( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 92 | fn add_single_rule(&mut self, yaml: &str, overwrite: bool) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 116 | fn add_multiple_rules(&mut self, yaml: &str, overwrite: bool) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn remove_rule(&mut self, rule_id: &str) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 163 | pub fn find_rule(&self, rule_id: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 172 | pub fn export_rule(&self, rule_id: &str, out_path: Option<&str>) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 197 | pub fn list_rules(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 206 | pub fn toggle_rule(&mut self, rule_id: &str) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 262 | fn rules_file_path() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 270 | fn write_to_file(path: &Path, rules: &Self) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_rule_template_yaml` is never used [INFO] [stdout] --> benches/../src/rules/template.rs:9:8 [INFO] [stdout] | [INFO] [stdout] 9 | pub fn generate_rule_template_yaml() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_temp_file_with_name` is never used [INFO] [stdout] --> benches/../src/file/file_match_tests.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn create_temp_file_with_name(filename: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_temp_file_with_extension` is never used [INFO] [stdout] --> benches/../src/file/file_match_tests.rs:18:4 [INFO] [stdout] | [INFO] [stdout] 18 | fn create_temp_file_with_extension(ext: &str) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_temp_file_in_dir` is never used [INFO] [stdout] --> benches/../src/file/file_match_tests.rs:26:4 [INFO] [stdout] | [INFO] [stdout] 26 | fn create_temp_file_in_dir>(dir_and_file: P) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `setup_temp_dir_and_file` is never used [INFO] [stdout] --> benches/../src/file/file_ops_tests.rs:10:4 [INFO] [stdout] | [INFO] [stdout] 10 | fn setup_temp_dir_and_file() -> (TempDir, NamedTempFile) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Config` is never constructed [INFO] [stdout] --> benches/../src/common/config.rs:25:12 [INFO] [stdout] | [INFO] [stdout] 25 | pub struct Config { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> benches/../src/common/config.rs:58:8 [INFO] [stdout] | [INFO] [stdout] 56 | impl Config { [INFO] [stdout] | ----------- associated items in this implementation [INFO] [stdout] 57 | /// Creates a new configuration with fallback paths [INFO] [stdout] 58 | fn new_with_fallbacks() -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub fn load() -> Result { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 108 | pub fn save(&self) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn locate_config_file(&self) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | pub fn reset_config(&mut self) -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 145 | pub fn show_config(&self) -> String { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn config_path() -> Result { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_dir_with_env` is never used [INFO] [stdout] --> benches/../src/common/environment.rs:27:8 [INFO] [stdout] | [INFO] [stdout] 27 | pub fn get_dir_with_env( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_source_folder` is never used [INFO] [stdout] --> benches/../src/common/environment.rs:57:8 [INFO] [stdout] | [INFO] [stdout] 57 | pub fn get_source_folder(home: &Path) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOG_MUTEX` is never used [INFO] [stdout] --> benches/../src/common/logger.rs:21:8 [INFO] [stdout] | [INFO] [stdout] 21 | static LOG_MUTEX: Mutex<()> = Mutex::new(()); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: static `LOGGER_HANDLE` is never used [INFO] [stdout] --> benches/../src/common/logger.rs:23:8 [INFO] [stdout] | [INFO] [stdout] 23 | static LOGGER_HANDLE: OnceLock = OnceLock::new(); [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_LOG_FILES` is never used [INFO] [stdout] --> benches/../src/common/logger.rs:25:7 [INFO] [stdout] | [INFO] [stdout] 25 | const MAX_LOG_FILES: usize = 10; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DualWriter` is never constructed [INFO] [stdout] --> benches/../src/common/logger.rs:28:8 [INFO] [stdout] | [INFO] [stdout] 28 | struct DualWriter { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `init_logger` is never used [INFO] [stdout] --> benches/../src/common/logger.rs:42:8 [INFO] [stdout] | [INFO] [stdout] 42 | pub fn init_logger() -> Result<(), TookaError> { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `custom_format` is never used [INFO] [stdout] --> benches/../src/common/logger.rs:73:4 [INFO] [stdout] | [INFO] [stdout] 73 | fn custom_format( [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated items `new`, `get_main_log_path`, `get_ops_log_path`, and `is_file_recent` are never used [INFO] [stdout] --> benches/../src/common/logger.rs:91:8 [INFO] [stdout] | [INFO] [stdout] 89 | impl DualWriter { [INFO] [stdout] | --------------- associated items in this implementation [INFO] [stdout] 90 | /// Creates a new DualWriter with the specified base path [INFO] [stdout] 91 | fn new(base: &Path) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | fn get_main_log_path(&self) -> PathBuf { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | fn get_ops_log_path(&self) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 127 | fn is_file_recent(path: &Path) -> std::io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_WIDTH` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:6:7 [INFO] [stdout] | [INFO] [stdout] 6 | const PAGE_WIDTH: f32 = 595.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `PAGE_HEIGHT` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:7:7 [INFO] [stdout] | [INFO] [stdout] 7 | const PAGE_HEIGHT: f32 = 842.0; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `FONT_SIZE` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:8:7 [INFO] [stdout] | [INFO] [stdout] 8 | const FONT_SIZE: f32 = 12.0; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TITLE_FONT_SIZE` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:9:7 [INFO] [stdout] | [INFO] [stdout] 9 | const TITLE_FONT_SIZE: f32 = 20.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MARGIN_X` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:10:7 [INFO] [stdout] | [INFO] [stdout] 10 | const MARGIN_X: f32 = 20.0; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MARGIN_TOP` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:11:7 [INFO] [stdout] | [INFO] [stdout] 11 | const MARGIN_TOP: f32 = 40.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TITLE_POS_X` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:12:7 [INFO] [stdout] | [INFO] [stdout] 12 | const TITLE_POS_X: f32 = MARGIN_X; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TITLE_POS_Y` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:13:7 [INFO] [stdout] | [INFO] [stdout] 13 | const TITLE_POS_Y: f32 = PAGE_HEIGHT - MARGIN_TOP; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TIME_POS_X` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:14:7 [INFO] [stdout] | [INFO] [stdout] 14 | const TIME_POS_X: f32 = PAGE_WIDTH - 110.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TIME_POS_Y` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:15:7 [INFO] [stdout] | [INFO] [stdout] 15 | const TIME_POS_Y: f32 = PAGE_HEIGHT - 15.0; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `MAX_PATH_LENGTH` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:16:7 [INFO] [stdout] | [INFO] [stdout] 16 | const MAX_PATH_LENGTH: f32 = PAGE_WIDTH - 2.0 * MARGIN_X - 105.0; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `generate_pdf` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:18:15 [INFO] [stdout] | [INFO] [stdout] 18 | pub(crate) fn generate_pdf(path: &Path, results: &[MatchResult]) -> Result<(), anyhow::Error> { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_text` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:200:4 [INFO] [stdout] | [INFO] [stdout] 200 | fn write_text(content: &mut Content, text: &str, font_size: f32, x: f32, y: f32, font_name: Name) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_footer` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:208:4 [INFO] [stdout] | [INFO] [stdout] 208 | fn draw_footer(content: &mut Content, page_num: usize, font_name: Name) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_header` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:219:4 [INFO] [stdout] | [INFO] [stdout] 219 | fn draw_header(content: &mut Content, total_changes: usize, font_name: Name) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_match_result_block` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:249:4 [INFO] [stdout] | [INFO] [stdout] 249 | fn draw_match_result_block( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `draw_colored_box` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:300:4 [INFO] [stdout] | [INFO] [stdout] 300 | fn draw_colored_box( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `truncate_path` is never used [INFO] [stdout] --> benches/../src/utils/gen_pdf.rs:314:4 [INFO] [stdout] | [INFO] [stdout] 314 | fn truncate_path(path: &Path, max_len: f32) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 19.09s [INFO] running `Command { std: "docker" "inspect" "4a4e8c665c16f00ed55053f5b722a8cecae8202743e5ebf07e4e73ecc8a58b12", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4a4e8c665c16f00ed55053f5b722a8cecae8202743e5ebf07e4e73ecc8a58b12", kill_on_drop: false }` [INFO] [stdout] 4a4e8c665c16f00ed55053f5b722a8cecae8202743e5ebf07e4e73ecc8a58b12