[INFO] fetching crate tailwind-rs-scanner 0.15.4...
[INFO] testing tailwind-rs-scanner-0.15.4 against master#d98a5da813da67eb189387b8ccfb73cf481275d8+rustflags=-Copt-level=3 for pr-138759
[INFO] extracting crate tailwind-rs-scanner 0.15.4 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate tailwind-rs-scanner 0.15.4
[INFO] finished tweaking crates.io crate tailwind-rs-scanner 0.15.4
[INFO] tweaked toml for crates.io crate tailwind-rs-scanner 0.15.4 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate tailwind-rs-scanner 0.15.4 on toolchain d98a5da813da67eb189387b8ccfb73cf481275d8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tailwind-rs-scanner 0.15.4 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" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde_derive v1.0.227
[INFO] [stderr]   Downloaded globset v0.4.6
[INFO] [stderr]   Downloaded ignore v0.4.17
[INFO] [stderr]   Downloaded clap v4.5.48
[INFO] [stderr]   Downloaded serde_core v1.0.227
[INFO] [stderr]   Downloaded tree-sitter v0.20.10
[INFO] [stderr]   Downloaded serde v1.0.227
[INFO] [stderr]   Downloaded clap_builder v4.5.48
[INFO] [stderr]   Downloaded regex v1.11.3
[INFO] [stderr]   Downloaded regex-automata v0.4.11
[INFO] [stderr]   Downloaded regex-syntax v0.8.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4f1b2d5796d185eaaab291c9c02500da33da2644b7a3a924742c34ada1029629
[INFO] running `Command { std: "docker" "start" "-a" "4f1b2d5796d185eaaab291c9c02500da33da2644b7a3a924742c34ada1029629", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4f1b2d5796d185eaaab291c9c02500da33da2644b7a3a924742c34ada1029629", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4f1b2d5796d185eaaab291c9c02500da33da2644b7a3a924742c34ada1029629", kill_on_drop: false }`
[INFO] [stdout] 4f1b2d5796d185eaaab291c9c02500da33da2644b7a3a924742c34ada1029629
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 135b52b50ab0e0f2a51d0eac092dfdba23adfe015337f0a9de6678fe8e4dfb37
[INFO] running `Command { std: "docker" "start" "-a" "135b52b50ab0e0f2a51d0eac092dfdba23adfe015337f0a9de6678fe8e4dfb37", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling serde_core v1.0.227
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling bstr v0.2.17
[INFO] [stderr]    Compiling aho-corasick v0.7.20
[INFO] [stderr]    Compiling serde v1.0.227
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling regex-automata v0.4.11
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling regex v1.11.3
[INFO] [stderr]    Compiling globset v0.4.6
[INFO] [stderr]    Compiling ignore v0.4.17
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling serde_derive v1.0.227
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tailwind-rs-scanner v0.15.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Result` and `ScannerError`
[INFO] [stdout]  --> src/cache.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CacheEntry`
[INFO] [stdout]  --> src/file_scanner.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::cache::{CacheEntry, CacheStats, ScanCache};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClassContext`
[INFO] [stdout]  --> src/file_scanner.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::class_extractor::{ClassContext, ClassExtractor, ExtractedClass};
[INFO] [stdout]   |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FilePattern`
[INFO] [stdout]  --> src/file_scanner.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::content_config::{ContentConfig, FilePattern, ScanConfig};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/file_scanner.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/file_watcher.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/glob_matcher.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/parallel_processor.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/parallel_processor.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         config: &ScanConfig,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_time`
[INFO] [stdout]   --> src/parallel_processor.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let start_time = Instant::now();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/content_config.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     let prefix = suffix_parts[0];
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree_sitter_parser.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut string_delimiter = '"';
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/file_watcher.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FileWatcher {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 13 |     /// Watch configuration
[INFO] [stdout] 14 |     config: WatchConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileWatcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_workers` is never read
[INFO] [stdout]   --> src/parallel_processor.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ParallelProcessor {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     max_workers: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParallelProcessor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 51s
[INFO] running `Command { std: "docker" "inspect" "135b52b50ab0e0f2a51d0eac092dfdba23adfe015337f0a9de6678fe8e4dfb37", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "135b52b50ab0e0f2a51d0eac092dfdba23adfe015337f0a9de6678fe8e4dfb37", kill_on_drop: false }`
[INFO] [stdout] 135b52b50ab0e0f2a51d0eac092dfdba23adfe015337f0a9de6678fe8e4dfb37
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] dc56f109914e374b5277191fdb39a7afbae15e5f67cd19cb100bbab114b5ae24
[INFO] running `Command { std: "docker" "start" "-a" "dc56f109914e374b5277191fdb39a7afbae15e5f67cd19cb100bbab114b5ae24", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling serde_core v1.0.227
[INFO] [stderr]    Compiling serde v1.0.227
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling clap_builder v4.5.48
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rusty-fork v0.3.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling proptest v1.8.0
[INFO] [stderr]    Compiling clap v4.5.48
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling tailwind-rs-scanner v0.15.4 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Result` and `ScannerError`
[INFO] [stdout]  --> src/cache.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CacheEntry`
[INFO] [stdout]  --> src/file_scanner.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::cache::{CacheEntry, CacheStats, ScanCache};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ClassContext`
[INFO] [stdout]  --> src/file_scanner.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::class_extractor::{ClassContext, ClassExtractor, ExtractedClass};
[INFO] [stdout]   |                              ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FilePattern`
[INFO] [stdout]  --> src/file_scanner.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::content_config::{ContentConfig, FilePattern, ScanConfig};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/file_scanner.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/file_watcher.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/glob_matcher.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/parallel_processor.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/parallel_processor.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         config: &ScanConfig,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_time`
[INFO] [stdout]   --> src/parallel_processor.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let start_time = Instant::now();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/content_config.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     let prefix = suffix_parts[0];
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree_sitter_parser.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut string_delimiter = '"';
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/file_watcher.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FileWatcher {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 13 |     /// Watch configuration
[INFO] [stdout] 14 |     config: WatchConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileWatcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `max_workers` is never read
[INFO] [stdout]   --> src/parallel_processor.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ParallelProcessor {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 22 |     max_workers: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParallelProcessor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Result` and `ScannerError`
[INFO] [stdout]  --> src/cache.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                    ^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/class_extractor.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 251 |     use std::path::PathBuf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `CacheEntry`
[INFO] [stdout]  --> src/file_scanner.rs:6:20
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::cache::{CacheEntry, CacheStats, ScanCache};
[INFO] [stdout]   |                    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FilePattern`
[INFO] [stdout]  --> src/file_scanner.rs:8:44
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::content_config::{ContentConfig, FilePattern, ScanConfig};
[INFO] [stdout]   |                                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/file_scanner.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/file_watcher.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/glob_matcher.rs:6:28
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScannerError`
[INFO] [stdout]  --> src/parallel_processor.rs:9:28
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::error::{Result, ScannerError};
[INFO] [stdout]   |                            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/parallel_processor.rs:68:9
[INFO] [stdout]    |
[INFO] [stdout] 68 |         config: &ScanConfig,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_time`
[INFO] [stdout]   --> src/parallel_processor.rs:70:13
[INFO] [stdout]    |
[INFO] [stdout] 70 |         let start_time = Instant::now();
[INFO] [stdout]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `prefix`
[INFO] [stdout]    --> src/content_config.rs:210:25
[INFO] [stdout]     |
[INFO] [stdout] 210 |                     let prefix = suffix_parts[0];
[INFO] [stdout]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/tree_sitter_parser.rs:174:13
[INFO] [stdout]     |
[INFO] [stdout] 174 |         let mut string_delimiter = '"';
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/file_watcher.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct FileWatcher {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 13 |     /// Watch configuration
[INFO] [stdout] 14 |     config: WatchConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FileWatcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 03s
[INFO] running `Command { std: "docker" "inspect" "dc56f109914e374b5277191fdb39a7afbae15e5f67cd19cb100bbab114b5ae24", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dc56f109914e374b5277191fdb39a7afbae15e5f67cd19cb100bbab114b5ae24", kill_on_drop: false }`
[INFO] [stdout] dc56f109914e374b5277191fdb39a7afbae15e5f67cd19cb100bbab114b5ae24
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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 -Copt-level=3" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+d98a5da813da67eb189387b8ccfb73cf481275d8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] cee8b85c98175e67e477a74c3fb21b3c18b4d4effe6abd6fc6ad5cda2fba0b8f
[INFO] running `Command { std: "docker" "start" "-a" "cee8b85c98175e67e477a74c3fb21b3c18b4d4effe6abd6fc6ad5cda2fba0b8f", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Result` and `ScannerError`
[INFO] [stderr]  --> src/cache.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::error::{Result, ScannerError};
[INFO] [stderr]   |                    ^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `CacheEntry`
[INFO] [stderr]  --> src/file_scanner.rs:6:20
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::cache::{CacheEntry, CacheStats, ScanCache};
[INFO] [stderr]   |                    ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ClassContext`
[INFO] [stderr]  --> src/file_scanner.rs:7:30
[INFO] [stderr]   |
[INFO] [stderr] 7 | use crate::class_extractor::{ClassContext, ClassExtractor, ExtractedClass};
[INFO] [stderr]   |                              ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FilePattern`
[INFO] [stderr]  --> src/file_scanner.rs:8:44
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::content_config::{ContentConfig, FilePattern, ScanConfig};
[INFO] [stderr]   |                                            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ScannerError`
[INFO] [stderr]  --> src/file_scanner.rs:9:28
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::error::{Result, ScannerError};
[INFO] [stderr]   |                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ScannerError`
[INFO] [stderr]  --> src/file_watcher.rs:6:28
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::error::{Result, ScannerError};
[INFO] [stderr]   |                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ScannerError`
[INFO] [stderr]  --> src/glob_matcher.rs:6:28
[INFO] [stderr]   |
[INFO] [stderr] 6 | use crate::error::{Result, ScannerError};
[INFO] [stderr]   |                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ScannerError`
[INFO] [stderr]  --> src/parallel_processor.rs:9:28
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::error::{Result, ScannerError};
[INFO] [stderr]   |                            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]   --> src/parallel_processor.rs:68:9
[INFO] [stderr]    |
[INFO] [stderr] 68 |         config: &ScanConfig,
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_time`
[INFO] [stderr]   --> src/parallel_processor.rs:70:13
[INFO] [stderr]    |
[INFO] [stderr] 70 |         let start_time = Instant::now();
[INFO] [stderr]    |             ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_time`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `prefix`
[INFO] [stderr]    --> src/content_config.rs:210:25
[INFO] [stderr]     |
[INFO] [stderr] 210 |                     let prefix = suffix_parts[0];
[INFO] [stderr]     |                         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_prefix`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/tree_sitter_parser.rs:174:13
[INFO] [stderr]     |
[INFO] [stderr] 174 |         let mut string_delimiter = '"';
[INFO] [stderr]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/file_watcher.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct FileWatcher {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 13 |     /// Watch configuration
[INFO] [stderr] 14 |     config: WatchConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FileWatcher` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `max_workers` is never read
[INFO] [stderr]   --> src/parallel_processor.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | pub struct ParallelProcessor {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 22 |     max_workers: Option<usize>,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ParallelProcessor` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `tailwind-rs-scanner` (lib) generated 14 warnings (run `cargo fix --lib -p tailwind-rs-scanner` to apply 9 suggestions)
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]    --> src/class_extractor.rs:251:9
[INFO] [stderr]     |
[INFO] [stderr] 251 |     use std::path::PathBuf;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `tailwind-rs-scanner` (lib test) generated 13 warnings (12 duplicates) (run `cargo fix --lib -p tailwind-rs-scanner --tests` to apply 1 suggestion)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tailwind_rs_scanner-b165bfb252017783)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test cache::tests::test_scan_cache_creation ... ok
[INFO] [stdout] test cache::tests::test_cache_entry_creation ... ok
[INFO] [stdout] test content_config::tests::test_extraction_rule_creation ... ok
[INFO] [stdout] test class_extractor::tests::test_class_context_with_file_type ... ok
[INFO] [stdout] test class_extractor::tests::test_extracted_class_creation ... ok
[INFO] [stdout] test content_config::tests::test_file_pattern_creation ... ok
[INFO] [stdout] test class_extractor::tests::test_class_context_creation ... ok
[INFO] [stdout] test content_config::tests::test_file_pattern_matching ... ok
[INFO] [stdout] test cache::tests::test_cache_operations ... ok
[INFO] [stdout] test content_config::tests::test_content_config_default ... ok
[INFO] [stdout] test class_extractor::tests::test_custom_rule_addition ... ok
[INFO] [stdout] test file_watcher::tests::test_file_watcher_creation ... ok
[INFO] [stdout] test content_config::tests::test_scan_config_default ... ok
[INFO] [stdout] test file_watcher::tests::test_watch_config_default ... ok
[INFO] [stdout] test error::tests::test_error_conversion ... ok
[INFO] [stdout] test glob_matcher::tests::test_glob_matcher_creation ... ok
[INFO] [stdout] test error::tests::test_scanner_error_creation ... ok
[INFO] [stdout] test glob_matcher::tests::test_glob_pattern_matching ... ok
[INFO] [stdout] test file_scanner::tests::test_class_set_creation ... ok
[INFO] [stdout] test file_scanner::tests::test_class_set_operations ... ok
[INFO] [stdout] test class_extractor::tests::test_class_extractor_creation ... ok
[INFO] [stdout] test file_scanner::tests::test_file_type_detection ... ok
[INFO] [stdout] test class_extractor::tests::test_string_detection ... ok
[INFO] [stdout] test tree_sitter_parser::tests::test_language_support ... ok
[INFO] [stdout] test tests::test_version_constant ... ok
[INFO] [stdout] test tree_sitter_parser::tests::test_tree_sitter_parser_creation ... ok
[INFO] [stdout] test parallel_processor::tests::test_parallel_processor_creation ... ok
[INFO] [stdout] test parallel_processor::tests::test_parallel_processor_with_max_workers ... ok
[INFO] [stdout] test parallel_processor::tests::test_processing_stats_default ... ok
[INFO] [stdout] test tests::test_default_config ... ok
[INFO] [stdout] test class_extractor::tests::test_comment_detection ... ok
[INFO] [stdout] test content_config::tests::test_extraction_rule_with_context ... ok
[INFO] [stdout] test tests::test_scan_content ... ok
[INFO] [stdout] test cache::tests::test_cache_stats ... ok
[INFO] [stderr]    Doc-tests tailwind_rs_scanner
[INFO] [stdout] test file_scanner::tests::test_content_scanner_creation ... ok
[INFO] [stdout] test tree_sitter_parser::tests::test_parse_content ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/lib.rs - (line 24) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - (line 24) stdout ----
[INFO] [stdout] error[E0107]: type alias takes 1 generic argument but 2 generic arguments were supplied
[INFO] [stdout]   --> src/lib.rs:29:20
[INFO] [stdout]    |
[INFO] [stdout] 7  | async fn main() -> Result<(), ScannerError> {
[INFO] [stdout]    |                    ^^^^^^   -------------- help: remove the unnecessary generic argument
[INFO] [stdout]    |                    |
[INFO] [stdout]    |                    expected 1 generic argument
[INFO] [stdout]    |
[INFO] [stdout] note: type alias defined here, with 1 generic parameter: `T`
[INFO] [stdout]   --> /opt/rustwide/workdir/src/error.rs:43:10
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub type Result<T> = std::result::Result<T, ScannerError>;
[INFO] [stdout]    |          ^^^^^^ -
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `scan_for_classes` found for struct `tailwind_rs_scanner::ContentScanner` in the current scope
[INFO] [stdout]    --> src/lib.rs:32:27
[INFO] [stdout]     |
[INFO] [stdout] 10  |     let classes = scanner.scan_for_classes().await?;
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `scan_file` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/file_scanner.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     pub async fn scan_file(&self, file_path: &Path) -> Result<Vec<ExtractedClass>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `watch` found for struct `tailwind_rs_scanner::ContentScanner` in the current scope
[INFO] [stdout]   --> src/lib.rs:36:31
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut watcher = scanner.watch().await?;
[INFO] [stdout]    |                               ^^^^^ method not found in `tailwind_rs_scanner::ContentScanner`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 24)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "cee8b85c98175e67e477a74c3fb21b3c18b4d4effe6abd6fc6ad5cda2fba0b8f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cee8b85c98175e67e477a74c3fb21b3c18b4d4effe6abd6fc6ad5cda2fba0b8f", kill_on_drop: false }`
[INFO] [stdout] cee8b85c98175e67e477a74c3fb21b3c18b4d4effe6abd6fc6ad5cda2fba0b8f
