[INFO] fetching crate tailwind-rs-scanner 0.15.4... [INFO] testing tailwind-rs-scanner-0.15.4 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8 [INFO] extracting crate tailwind-rs-scanner 0.15.4 into /workspace/builds/worker-6-tc2/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-6-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate tailwind-rs-scanner 0.15.4 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d6d436f0fecb2ace6b72d826198f3df3d3d76596b7bcbf169d11cd6bb0ea875a [INFO] running `Command { std: "docker" "start" "-a" "d6d436f0fecb2ace6b72d826198f3df3d3d76596b7bcbf169d11cd6bb0ea875a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d6d436f0fecb2ace6b72d826198f3df3d3d76596b7bcbf169d11cd6bb0ea875a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d6d436f0fecb2ace6b72d826198f3df3d3d76596b7bcbf169d11cd6bb0ea875a", kill_on_drop: false }` [INFO] [stdout] d6d436f0fecb2ace6b72d826198f3df3d3d76596b7bcbf169d11cd6bb0ea875a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 1be794f9a98aa4d8a2ce2f0fb7f4020b66f9c62ca23e5e0c57f0670cc5105ab8 [INFO] running `Command { std: "docker" "start" "-a" "1be794f9a98aa4d8a2ce2f0fb7f4020b66f9c62ca23e5e0c57f0670cc5105ab8", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.176 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling serde_core v1.0.227 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling regex-syntax v0.8.6 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling aho-corasick v0.7.20 [INFO] [stderr] Compiling bstr v0.2.17 [INFO] [stderr] Compiling serde v1.0.227 [INFO] [stderr] Compiling syn v2.0.106 [INFO] [stderr] Compiling walkdir v2.5.0 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling futures-channel v0.3.31 [INFO] [stderr] Compiling mio v1.0.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.6 [INFO] [stderr] Compiling socket2 v0.6.0 [INFO] [stderr] Compiling parking_lot v0.12.4 [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 futures-macro v0.3.31 [INFO] [stderr] Compiling serde_derive v1.0.227 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [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 regex v1.11.3 [INFO] [stderr] Compiling globset v0.4.6 [INFO] [stderr] Compiling ignore v0.4.17 [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)]` (part of `#[warn(unused)]`) 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: `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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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] [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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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, [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 27.97s [INFO] running `Command { std: "docker" "inspect" "1be794f9a98aa4d8a2ce2f0fb7f4020b66f9c62ca23e5e0c57f0670cc5105ab8", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1be794f9a98aa4d8a2ce2f0fb7f4020b66f9c62ca23e5e0c57f0670cc5105ab8", kill_on_drop: false }` [INFO] [stdout] 1be794f9a98aa4d8a2ce2f0fb7f4020b66f9c62ca23e5e0c57f0670cc5105ab8 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] cda4130f5001409555ad5278c3a1e26fe3f23341def552bcc7045b99dbea9826 [INFO] running `Command { std: "docker" "start" "-a" "cda4130f5001409555ad5278c3a1e26fe3f23341def552bcc7045b99dbea9826", 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 half v2.6.0 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling plotters-backend v0.3.7 [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 itertools v0.10.5 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling cast v0.3.0 [INFO] [stderr] Compiling rayon v1.11.0 [INFO] [stderr] Compiling is-terminal v0.4.16 [INFO] [stderr] Compiling anes v0.1.6 [INFO] [stderr] Compiling oorandom v11.1.5 [INFO] [stderr] Compiling plotters-svg v0.3.7 [INFO] [stderr] Compiling clap_builder v4.5.48 [INFO] [stderr] Compiling plotters v0.3.7 [INFO] [stderr] Compiling rand_core v0.9.3 [INFO] [stderr] Compiling tempfile v3.23.0 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rusty-fork v0.3.0 [INFO] [stderr] Compiling proptest v1.8.0 [INFO] [stderr] Compiling criterion-plot v0.5.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)]` (part of `#[warn(unused)]`) 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] [stderr] Compiling criterion v0.5.1 [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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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] [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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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, [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)]` (part of `#[warn(unused)]`) 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: `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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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] [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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 23.00s [INFO] running `Command { std: "docker" "inspect" "cda4130f5001409555ad5278c3a1e26fe3f23341def552bcc7045b99dbea9826", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cda4130f5001409555ad5278c3a1e26fe3f23341def552bcc7045b99dbea9826", kill_on_drop: false }` [INFO] [stdout] cda4130f5001409555ad5278c3a1e26fe3f23341def552bcc7045b99dbea9826 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] b7d8c79812f80fe612281179d83a32fbd81d58017ce7ed05b9e8e11847e286ab [INFO] running `Command { std: "docker" "start" "-a" "b7d8c79812f80fe612281179d83a32fbd81d58017ce7ed05b9e8e11847e286ab", 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)]` (part of `#[warn(unused)]`) 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: `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] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [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] 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: 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)]` (part of `#[warn(unused)]`) 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)]` (part of `#[warn(unused)]`) 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, [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 12 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.19s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/tailwind_rs_scanner-ec2c34071bcfede8) [INFO] [stdout] [INFO] [stdout] running 36 tests [INFO] [stdout] test cache::tests::test_cache_operations ... ok [INFO] [stdout] test cache::tests::test_cache_entry_creation ... ok [INFO] [stdout] test cache::tests::test_cache_stats ... ok [INFO] [stdout] test cache::tests::test_scan_cache_creation ... ok [INFO] [stdout] test class_extractor::tests::test_class_context_with_file_type ... ok [INFO] [stdout] test content_config::tests::test_file_pattern_creation ... ok [INFO] [stdout] test content_config::tests::test_extraction_rule_with_context ... ok [INFO] [stdout] test error::tests::test_error_conversion ... ok [INFO] [stdout] test error::tests::test_scanner_error_creation ... ok [INFO] [stdout] test class_extractor::tests::test_class_context_creation ... ok [INFO] [stdout] test file_scanner::tests::test_class_set_operations ... ok [INFO] [stdout] test file_watcher::tests::test_file_watcher_creation ... ok [INFO] [stdout] test content_config::tests::test_content_config_default ... ok [INFO] [stdout] test content_config::tests::test_file_pattern_matching ... ok [INFO] [stdout] test file_watcher::tests::test_watch_config_default ... ok [INFO] [stdout] test glob_matcher::tests::test_glob_matcher_creation ... ok [INFO] [stdout] test parallel_processor::tests::test_parallel_processor_with_max_workers ... ok [INFO] [stdout] test class_extractor::tests::test_extracted_class_creation ... ok [INFO] [stdout] test tests::test_default_config ... ok [INFO] [stdout] test glob_matcher::tests::test_glob_pattern_matching ... ok [INFO] [stdout] test parallel_processor::tests::test_parallel_processor_creation ... ok [INFO] [stdout] test parallel_processor::tests::test_processing_stats_default ... ok [INFO] [stdout] test tree_sitter_parser::tests::test_language_support ... ok [INFO] [stdout] test tree_sitter_parser::tests::test_parse_content ... ok [INFO] [stdout] test tree_sitter_parser::tests::test_tree_sitter_parser_creation ... ok [INFO] [stdout] test tests::test_version_constant ... ok [INFO] [stdout] test file_scanner::tests::test_class_set_creation ... ok [INFO] [stdout] test content_config::tests::test_extraction_rule_creation ... ok [INFO] [stdout] test content_config::tests::test_scan_config_default ... ok [INFO] [stdout] test file_scanner::tests::test_file_type_detection ... ok [INFO] [stdout] test tests::test_scan_content ... ok [INFO] [stdout] test class_extractor::tests::test_class_extractor_creation ... ok [INFO] [stdout] test class_extractor::tests::test_comment_detection ... ok [INFO] [stdout] test file_scanner::tests::test_content_scanner_creation ... ok [INFO] [stdout] test class_extractor::tests::test_string_detection ... ok [INFO] [stdout] test class_extractor::tests::test_custom_rule_addition ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s [INFO] [stdout] [INFO] [stderr] Doc-tests tailwind_rs_scanner [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] 29 | 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 = std::result::Result; [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] 32 | 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> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | let classes = scanner.scan_for_classes().await?; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 33 | println!("Found {} classes", classes.total_classes()); [INFO] [stdout] | ------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `classes` an explicit type [INFO] [stdout] | [INFO] [stdout] 32 | let classes: /* Type */ = scanner.scan_for_classes().await?; [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] 36 | let mut watcher = scanner.watch().await?; [INFO] [stdout] | ^^^^^ method not found in `tailwind_rs_scanner::ContentScanner` [INFO] [stdout] [INFO] [stdout] error[E0282]: type annotations needed [INFO] [stdout] --> src/lib.rs:36:9 [INFO] [stdout] | [INFO] [stdout] 36 | let mut watcher = scanner.watch().await?; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 37 | while let Some(update) = watcher.next().await { [INFO] [stdout] | ------- type must be known at this point [INFO] [stdout] | [INFO] [stdout] help: consider giving `watcher` an explicit type [INFO] [stdout] | [INFO] [stdout] 36 | let mut watcher: /* Type */ = scanner.watch().await?; [INFO] [stdout] | ++++++++++++ [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0107, E0282, 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.18s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "b7d8c79812f80fe612281179d83a32fbd81d58017ce7ed05b9e8e11847e286ab", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b7d8c79812f80fe612281179d83a32fbd81d58017ce7ed05b9e8e11847e286ab", kill_on_drop: false }` [INFO] [stdout] b7d8c79812f80fe612281179d83a32fbd81d58017ce7ed05b9e8e11847e286ab