[INFO] cloning repository https://github.com/nwiizo/instrument-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/nwiizo/instrument-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnwiizo%2Finstrument-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnwiizo%2Finstrument-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 48434ab23be93dc6d21e7fa5dc6a9f5888433659
[INFO] testing nwiizo/instrument-rs against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnwiizo%2Finstrument-rs" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/nwiizo/instrument-rs
[INFO] finished tweaking git repo https://github.com/nwiizo/instrument-rs
[INFO] tweaked toml for git repo https://github.com/nwiizo/instrument-rs written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/nwiizo/instrument-rs on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/nwiizo/instrument-rs 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded unit-prefix v0.5.1
[INFO] [stderr]   Downloaded console v0.16.0
[INFO] [stderr]   Downloaded indicatif v0.17.12
[INFO] [stderr]   Downloaded insta v1.43.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 35a9827c3a8e734324adb58505e3185e690d3d6625d95f468e5746e6d4692252
[INFO] running `Command { std: "docker" "start" "-a" "35a9827c3a8e734324adb58505e3185e690d3d6625d95f468e5746e6d4692252", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "35a9827c3a8e734324adb58505e3185e690d3d6625d95f468e5746e6d4692252", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "35a9827c3a8e734324adb58505e3185e690d3d6625d95f468e5746e6d4692252", kill_on_drop: false }`
[INFO] [stdout] 35a9827c3a8e734324adb58505e3185e690d3d6625d95f468e5746e6d4692252
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d8f3bb3741e3db8de79cae9e41460b0a6749eb9b4881191dce7d11afd3fa58cf
[INFO] running `Command { std: "docker" "start" "-a" "d8f3bb3741e3db8de79cae9e41460b0a6749eb9b4881191dce7d11afd3fa58cf", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.95
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling cfg-if v1.0.1
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]    Compiling anstyle-query v1.1.3
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling crypto-common v0.1.6
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling anstream v0.6.19
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling winnow v0.7.11
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling unit-prefix v0.5.1
[INFO] [stderr]    Compiling itoa v1.0.15
[INFO] [stderr]    Compiling jiff v0.2.15
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling clap_builder v4.5.40
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling ryu v1.0.20
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling syn v2.0.104
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling console v0.16.0
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling indicatif v0.17.12
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling glob v0.3.2
[INFO] [stderr]    Compiling rayon v1.10.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling clap_derive v4.5.40
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling clap v4.5.40
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling instrument-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `ErrorHandlingInfo`
[INFO] [stdout]  --> src/ast/helpers.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ast::{AnalysisResult, ComplexityMetrics, ErrorHandlingInfo, FunctionInfo};
[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: `NodeKind`
[INFO] [stdout]   --> src/call_graph/builder.rs:11:58
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{CallEdge, CallGraph, CallKind, FunctionNode, NodeKind, SymbolResolver};
[INFO] [stdout]    |                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/mod.rs:392:22
[INFO] [stdout]     |
[INFO] [stdout] 392 |     pub fn from_span(span: proc_macro2::Span) -> Option<Self> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge`
[INFO] [stdout]    --> src/call_graph/builder.rs:329:17
[INFO] [stdout]     |
[INFO] [stdout] 329 |             let edge = CallEdge::new(
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_edge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/framework/adapter.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn build_test_command(&self, config: &RunnerConfig) -> Vec<String> {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/framework/adapter.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn parse_results(&self, output: &str) -> Result<TestResults> {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_root`
[INFO] [stdout]   --> src/framework/detector.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn detect(&self, project_root: &Path) -> Result<Vec<FrameworkInfo>> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/instrumentation/coverage.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn instrument_element(&self, element: &InstrumentableElement, expr: &Expr) -> TokenStream {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/instrumentation/mutation.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn instrument_element(&self, element: &InstrumentableElement, expr: &Expr) -> TokenStream {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/instrumentation/transform.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn transform(&self, ast: &mut File) -> Result<()> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/mutation/analyzer.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         results: &[MutationResult],
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/mutation/analyzer.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn find_equivalent_mutations(&self, results: &[MutationResult]) -> Vec<&MutationResult> {
[INFO] [stdout]    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elements`
[INFO] [stdout]   --> src/mutation/generator.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn generate_batch(&mut self, elements: &[InstrumentableElement]) -> Result<Vec<Mutation>> {
[INFO] [stdout]    |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_runner`
[INFO] [stdout]   --> src/mutation/runner.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         test_runner: &dyn TestRunner,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_runner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:52:65
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `summary`
[INFO] [stdout]   --> src/reporting/html.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         summary: &CoverageSummary,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `summary`
[INFO] [stdout]   --> src/reporting/html.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         summary: &MutationSummary,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `report`
[INFO] [stdout]   --> src/reporting/html.rs:41:40
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:41:65
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lib.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Instrumentor {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 86 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source_lines` is never read
[INFO] [stdout]   --> src/ast/visitor.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct AstVisitor {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     source_lines: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_depth` is never read
[INFO] [stdout]   --> src/call_graph/builder.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct FunctionContext {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     block_depth: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_router` is never read
[INFO] [stdout]    --> src/framework/web/axum.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | struct RouterVisitor<'a> {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 296 |     current_router: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/instrumentation/coverage.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CoverageStrategy {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 11 |     context: InstrumentationContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/instrumentation/mutation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MutationStrategy {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 11 |     context: InstrumentationContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]    --> src/mutation/mod.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct MutationGenerator {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 127 |     rng: rand::rngs::StdRng,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generator` is never read
[INFO] [stdout]  --> src/mutation/generator.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct BatchMutationGenerator {
[INFO] [stdout]   |            ---------------------- field in this struct
[INFO] [stdout] 9 |     generator: MutationGenerator,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeout` is never read
[INFO] [stdout]   --> src/mutation/runner.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct MutationRunner {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 10 |     timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/call_graph/builder.rs:240:39
[INFO] [stdout]     |
[INFO] [stdout] 240 |         for edge in self.graph.edges().clone() {
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[CallEdge]` does not implement `Clone`, so calling `clone` on `&[CallEdge]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub total_mutations: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub killed: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub survived: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub mutation_score: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/output/utils.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub lines: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const RESET: &str = "\x1b[0m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub const BOLD: &str = "\x1b[1m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const DIM: &str = "\x1b[2m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const BLACK: &str = "\x1b[30m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const RED: &str = "\x1b[31m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const GREEN: &str = "\x1b[32m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const YELLOW: &str = "\x1b[33m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const BLUE: &str = "\x1b[34m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const MAGENTA: &str = "\x1b[35m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const CYAN: &str = "\x1b[36m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const WHITE: &str = "\x1b[37m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const BG_RED: &str = "\x1b[41m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub const BG_GREEN: &str = "\x1b[42m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const BG_YELLOW: &str = "\x1b[43m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub const BRANCH: &str = "├── ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub const LAST_BRANCH: &str = "└── ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub const VERTICAL: &str = "│   ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub const EMPTY: &str = "    ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/main.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{debug, error, info, warn};
[INFO] [stdout]    |           ^^^^^               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_dir`
[INFO] [stdout]    --> src/main.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     input_dir: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_dir`
[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/main.rs:748:28
[INFO] [stdout]     |
[INFO] [stdout] 748 | fn generate_mermaid_output(config: &Config, output: Option<PathBuf>) -> Result<()> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 47.70s
[INFO] running `Command { std: "docker" "inspect" "d8f3bb3741e3db8de79cae9e41460b0a6749eb9b4881191dce7d11afd3fa58cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d8f3bb3741e3db8de79cae9e41460b0a6749eb9b4881191dce7d11afd3fa58cf", kill_on_drop: false }`
[INFO] [stdout] d8f3bb3741e3db8de79cae9e41460b0a6749eb9b4881191dce7d11afd3fa58cf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 92a522c4a647656755ce4c3e77d00656cb421015b7eb0a5f880986f6277003ec
[INFO] running `Command { std: "docker" "start" "-a" "92a522c4a647656755ce4c3e77d00656cb421015b7eb0a5f880986f6277003ec", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling linux-raw-sys v0.9.4
[INFO] [stdout] warning: unused import: `ErrorHandlingInfo`
[INFO] [stdout]  --> src/ast/helpers.rs:3:53
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::ast::{AnalysisResult, ComplexityMetrics, ErrorHandlingInfo, FunctionInfo};
[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: `NodeKind`
[INFO] [stdout]   --> src/call_graph/builder.rs:11:58
[INFO] [stdout]    |
[INFO] [stdout] 11 | use super::{CallEdge, CallGraph, CallKind, FunctionNode, NodeKind, SymbolResolver};
[INFO] [stdout]    |                                                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/mod.rs:392:22
[INFO] [stdout]     |
[INFO] [stdout] 392 |     pub fn from_span(span: proc_macro2::Span) -> Option<Self> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge`
[INFO] [stdout]    --> src/call_graph/builder.rs:329:17
[INFO] [stdout]     |
[INFO] [stdout] 329 |             let edge = CallEdge::new(
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_edge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/framework/adapter.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn build_test_command(&self, config: &RunnerConfig) -> Vec<String> {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/framework/adapter.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn parse_results(&self, output: &str) -> Result<TestResults> {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_root`
[INFO] [stdout]   --> src/framework/detector.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn detect(&self, project_root: &Path) -> Result<Vec<FrameworkInfo>> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/instrumentation/coverage.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn instrument_element(&self, element: &InstrumentableElement, expr: &Expr) -> TokenStream {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/instrumentation/mutation.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn instrument_element(&self, element: &InstrumentableElement, expr: &Expr) -> TokenStream {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/instrumentation/transform.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn transform(&self, ast: &mut File) -> Result<()> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/mutation/analyzer.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         results: &[MutationResult],
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/mutation/analyzer.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn find_equivalent_mutations(&self, results: &[MutationResult]) -> Vec<&MutationResult> {
[INFO] [stdout]    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elements`
[INFO] [stdout]   --> src/mutation/generator.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn generate_batch(&mut self, elements: &[InstrumentableElement]) -> Result<Vec<Mutation>> {
[INFO] [stdout]    |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_runner`
[INFO] [stdout]   --> src/mutation/runner.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         test_runner: &dyn TestRunner,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_runner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:52:65
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `summary`
[INFO] [stdout]   --> src/reporting/html.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         summary: &CoverageSummary,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `summary`
[INFO] [stdout]   --> src/reporting/html.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         summary: &MutationSummary,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `report`
[INFO] [stdout]   --> src/reporting/html.rs:41:40
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:41:65
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lib.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Instrumentor {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 86 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source_lines` is never read
[INFO] [stdout]   --> src/ast/visitor.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct AstVisitor {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     source_lines: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_depth` is never read
[INFO] [stdout]   --> src/call_graph/builder.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct FunctionContext {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     block_depth: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_router` is never read
[INFO] [stdout]    --> src/framework/web/axum.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | struct RouterVisitor<'a> {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 296 |     current_router: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/instrumentation/coverage.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CoverageStrategy {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 11 |     context: InstrumentationContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/instrumentation/mutation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MutationStrategy {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 11 |     context: InstrumentationContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]    --> src/mutation/mod.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct MutationGenerator {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 127 |     rng: rand::rngs::StdRng,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generator` is never read
[INFO] [stdout]  --> src/mutation/generator.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct BatchMutationGenerator {
[INFO] [stdout]   |            ---------------------- field in this struct
[INFO] [stdout] 9 |     generator: MutationGenerator,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeout` is never read
[INFO] [stdout]   --> src/mutation/runner.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct MutationRunner {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 10 |     timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/call_graph/builder.rs:240:39
[INFO] [stdout]     |
[INFO] [stdout] 240 |         for edge in self.graph.edges().clone() {
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[CallEdge]` does not implement `Clone`, so calling `clone` on `&[CallEdge]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub total_mutations: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub killed: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub survived: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub mutation_score: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/output/utils.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub lines: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const RESET: &str = "\x1b[0m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub const BOLD: &str = "\x1b[1m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const DIM: &str = "\x1b[2m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const BLACK: &str = "\x1b[30m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const RED: &str = "\x1b[31m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const GREEN: &str = "\x1b[32m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const YELLOW: &str = "\x1b[33m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const BLUE: &str = "\x1b[34m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const MAGENTA: &str = "\x1b[35m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const CYAN: &str = "\x1b[36m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const WHITE: &str = "\x1b[37m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const BG_RED: &str = "\x1b[41m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub const BG_GREEN: &str = "\x1b[42m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const BG_YELLOW: &str = "\x1b[43m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub const BRANCH: &str = "├── ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub const LAST_BRANCH: &str = "└── ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub const VERTICAL: &str = "│   ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub const EMPTY: &str = "    ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/main.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{debug, error, info, warn};
[INFO] [stdout]    |           ^^^^^               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_dir`
[INFO] [stdout]    --> src/main.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     input_dir: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_dir`
[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/main.rs:748:28
[INFO] [stdout]     |
[INFO] [stdout] 748 | fn generate_mermaid_output(config: &Config, output: Option<PathBuf>) -> Result<()> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling insta v1.43.1
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling instrument-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> examples/simple_output_demo.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[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: `CallGraph`
[INFO] [stdout]  --> examples/call_graph_demo.rs:3:47
[INFO] [stdout]   |
[INFO] [stdout] 3 | use instrument_rs::call_graph::{GraphBuilder, CallGraph};
[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::Path`
[INFO] [stdout]  --> tests/call_graph_test.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::Path;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::common`
[INFO] [stdout]  --> tests/framework_detection_integration.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::sample_projects;
[INFO] [stdout]   |            ^^^^^^ could not find `common` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::common`
[INFO] [stdout]  --> tests/performance_tests.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::sample_projects;
[INFO] [stdout]   |            ^^^^^^ could not find `common` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `instrument_rs::reporting::HtmlReporter`, `instrument_rs::reporting::JsonReporter`
[INFO] [stdout]    --> tests/performance_tests.rs:360:36
[INFO] [stdout]     |
[INFO] [stdout] 360 |     use instrument_rs::reporting::{HtmlReporter, JsonReporter};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^  ^^^^^^^^^^^^ no `JsonReporter` in `reporting`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    no `HtmlReporter` in `reporting`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Config`
[INFO] [stdout]  --> tests/performance_tests.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Config,
[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: `OutputFormatter`
[INFO] [stdout]    --> tests/performance_tests.rs:359:63
[INFO] [stdout]     |
[INFO] [stdout] 359 |     use instrument_rs::output::{JsonFormatter, TreeFormatter, OutputFormatter};
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/main.rs:14:11
[INFO] [stdout]    |
[INFO] [stdout] 14 | use log::{debug, error, info, warn};
[INFO] [stdout]    |           ^^^^^               ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_from_cargo` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]   --> tests/framework_detection_integration.rs:16:30
[INFO] [stdout]    |
[INFO] [stdout] 16 |     let framework = detector.detect_from_cargo(&cargo_toml)
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FrameworkDetector`
[INFO] [stdout]  --> examples/axum_detection.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | use instrument_rs::framework::web::{DetectorRegistry, FrameworkDetector};
[INFO] [stdout]   |                                                       ^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_from_cargo` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]   --> tests/framework_detection_integration.rs:86:30
[INFO] [stdout]    |
[INFO] [stdout] 86 |     let framework = detector.detect_from_cargo(&cargo_toml)
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_frameworks` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]    --> tests/framework_detection_integration.rs:142:29
[INFO] [stdout]     |
[INFO] [stdout] 142 |     let detected = detector.detect_frameworks(project_path)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `WebFramework`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:145:47
[INFO] [stdout]     |
[INFO] [stdout] 145 |     assert!(detected.web_frameworks.contains(&WebFramework::Rocket),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ use of undeclared type `WebFramework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_frameworks` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]    --> tests/framework_detection_integration.rs:214:29
[INFO] [stdout]     |
[INFO] [stdout] 214 |     let detected = detector.detect_frameworks(project_path)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `WebFramework`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:217:47
[INFO] [stdout]     |
[INFO] [stdout] 217 |     assert!(detected.web_frameworks.contains(&WebFramework::Warp),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ use of undeclared type `WebFramework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_frameworks` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]    --> tests/framework_detection_integration.rs:279:29
[INFO] [stdout]     |
[INFO] [stdout] 279 |     let detected = detector.detect_frameworks(project_path)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `WebFramework`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:284:47
[INFO] [stdout]     |
[INFO] [stdout] 284 |     assert!(detected.web_frameworks.contains(&WebFramework::Axum),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ use of undeclared type `WebFramework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `WebFramework`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:286:47
[INFO] [stdout]     |
[INFO] [stdout] 286 |     assert!(detected.web_frameworks.contains(&WebFramework::ActixWeb),
[INFO] [stdout]     |                                               ^^^^^^^^^^^^ use of undeclared type `WebFramework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `instrument_rs::output::TestOutputFormatter`, `instrument_rs::reporting::ConsoleReporter`, `instrument_rs::reporting::HtmlReporter`, `instrument_rs::reporting::JsonReporter`
[INFO] [stdout]  --> tests/output_format_tests.rs:7:79
[INFO] [stdout]   |
[INFO] [stdout] 7 |     output::{OutputFormatter, JsonFormatter, TreeFormatter, MermaidFormatter, TestOutputFormatter},
[INFO] [stdout]   |                                                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |                                                                               |
[INFO] [stdout]   |                                                                               no `TestOutputFormatter` in `output`
[INFO] [stdout]   |                                                                               help: a similar name exists in the module: `OutputFormatter`
[INFO] [stdout] 8 |     reporting::{ConsoleReporter, HtmlReporter, JsonReporter},
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^ no `JsonReporter` in `reporting`
[INFO] [stdout]   |                 |                |
[INFO] [stdout]   |                 |                no `HtmlReporter` in `reporting`
[INFO] [stdout]   |                 no `ConsoleReporter` in `reporting`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_frameworks` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]    --> tests/framework_detection_integration.rs:295:29
[INFO] [stdout]     |
[INFO] [stdout] 295 |     let detected = detector.detect_frameworks(&project.root_path)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `FrameworkAdapter`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:299:19
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let adapter = FrameworkAdapter::for_framework(WebFramework::Axum);
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^ use of undeclared type `FrameworkAdapter`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `WebFramework`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:299:51
[INFO] [stdout]     |
[INFO] [stdout] 299 |     let adapter = FrameworkAdapter::for_framework(WebFramework::Axum);
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^ use of undeclared type `WebFramework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::common`
[INFO] [stdout]  --> tests/output_format_tests.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::sample_projects;
[INFO] [stdout]   |            ^^^^^^ could not find `common` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `instrument_rs::output::TestOutputFormatter`, `instrument_rs::reporting::ConsoleReporter`, `instrument_rs::reporting::HtmlReporter`, `instrument_rs::reporting::JsonReporter`
[INFO] [stdout]  --> tests/output_format_tests.rs:7:79
[INFO] [stdout]   |
[INFO] [stdout] 7 |     output::{OutputFormatter, JsonFormatter, TreeFormatter, MermaidFormatter, TestOutputFormatter},
[INFO] [stdout]   |                                                                               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |                                                                               |
[INFO] [stdout]   |                                                                               no `TestOutputFormatter` in `output`
[INFO] [stdout]   |                                                                               help: a similar name exists in the module: `OutputFormatter`
[INFO] [stdout] 8 |     reporting::{ConsoleReporter, HtmlReporter, JsonReporter},
[INFO] [stdout]   |                 ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^ no `JsonReporter` in `reporting`
[INFO] [stdout]   |                 |                |
[INFO] [stdout]   |                 |                no `HtmlReporter` in `reporting`
[INFO] [stdout]   |                 no `ConsoleReporter` in `reporting`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `InstrumentationPriority: Hash` is not satisfied
[INFO] [stdout]   --> examples/scoring_demo.rs:63:26
[INFO] [stdout]    |
[INFO] [stdout] 63 |         *priority_counts.entry(score.priority).or_insert(0) += 1;
[INFO] [stdout]    |                          ^^^^^ the trait `Hash` is not implemented for `InstrumentationPriority`
[INFO] [stdout]    |
[INFO] [stdout] note: required by a bound in `HashMap::<K, V, S>::entry`
[INFO] [stdout]   --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/std/src/collections/hash/map.rs:887:4
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `instrument_rs::reporting::HtmlReporter`, `instrument_rs::reporting::JsonReporter`
[INFO] [stdout]    --> tests/performance_tests.rs:360:36
[INFO] [stdout]     |
[INFO] [stdout] 360 |     use instrument_rs::reporting::{HtmlReporter, JsonReporter};
[INFO] [stdout]     |                                    ^^^^^^^^^^^^  ^^^^^^^^^^^^ no `JsonReporter` in `reporting`
[INFO] [stdout]     |                                    |
[INFO] [stdout]     |                                    no `HtmlReporter` in `reporting`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_frameworks` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]    --> tests/framework_detection_integration.rs:335:29
[INFO] [stdout]     |
[INFO] [stdout] 335 |     let detected = detector.detect_frameworks(&project.root_path)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `WebFramework`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:338:42
[INFO] [stdout]     |
[INFO] [stdout] 338 |     if detected.web_frameworks.contains(&WebFramework::Axum) {
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ use of undeclared type `WebFramework`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `parameters` on type `&&FunctionInfo`
[INFO] [stdout]    --> tests/framework_detection_integration.rs:354:19
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 f.parameters.iter().any(|p| 
[INFO] [stdout]     |                   ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `id`, `name`, `full_path`, `is_async`, `is_unsafe` ... and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]    --> tests/framework_detection_integration.rs:354:42
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 f.parameters.iter().any(|p| 
[INFO] [stdout]     |                                          ^
[INFO] [stdout] 355 |                     p.contains("Json") || 
[INFO] [stdout]     |                     - type must be known at this point
[INFO] [stdout]     |
[INFO] [stdout] help: consider giving this closure parameter an explicit type
[INFO] [stdout]     |
[INFO] [stdout] 354 |                 f.parameters.iter().any(|p: /* Type */| 
[INFO] [stdout]     |                                           ++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_frameworks` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]    --> tests/framework_detection_integration.rs:413:29
[INFO] [stdout]     |
[INFO] [stdout] 413 |     let detected = detector.detect_frameworks(project_path)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: could not find `AstAnalysisResult` in `ast`
[INFO] [stdout]    --> tests/output_format_tests.rs:334:41
[INFO] [stdout]     |
[INFO] [stdout] 334 |     let empty_ast = instrument_rs::ast::AstAnalysisResult::default();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         could not find `AstAnalysisResult` in `ast`
[INFO] [stdout]     |                                         help: a struct with a similar name exists: `AnalysisResult`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the method `get` exists for struct `HashMap<InstrumentationPriority, {integer}>`, but its trait bounds were not satisfied
[INFO] [stdout]   --> examples/scoring_demo.rs:73:37
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let count = priority_counts.get(&priority).unwrap_or(&0);
[INFO] [stdout]    |                                     ^^^ method cannot be called on `HashMap<InstrumentationPriority, {integer}>` due to unsatisfied trait bounds
[INFO] [stdout]    |
[INFO] [stdout]   ::: /opt/rustwide/workdir/src/scoring/instrumentation.rs:62:1
[INFO] [stdout]    |
[INFO] [stdout] 62 | pub enum InstrumentationPriority {
[INFO] [stdout]    | -------------------------------- doesn't satisfy `InstrumentationPriority: Hash`
[INFO] [stdout]    |
[INFO] [stdout]    = note: the following trait bounds were not satisfied:
[INFO] [stdout]            `InstrumentationPriority: Hash`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `detect_frameworks` found for struct `instrument_rs::framework::detector::FrameworkDetector` in the current scope
[INFO] [stdout]    --> tests/framework_detection_integration.rs:451:29
[INFO] [stdout]     |
[INFO] [stdout] 451 |     let detected = detector.detect_frameworks(project_path)
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^ method not found in `instrument_rs::framework::detector::FrameworkDetector`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0282, E0432, E0433, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `instrument-rs` (example "scoring_demo") due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error: could not compile `instrument-rs` (test "framework_detection_integration") due to 19 previous errors
[INFO] [stdout] error[E0433]: failed to resolve: could not find `AstAnalysisResult` in `ast`
[INFO] [stdout]    --> tests/output_format_tests.rs:334:41
[INFO] [stdout]     |
[INFO] [stdout] 334 |     let empty_ast = instrument_rs::ast::AstAnalysisResult::default();
[INFO] [stdout]     |                                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                         |
[INFO] [stdout]     |                                         could not find `AstAnalysisResult` in `ast`
[INFO] [stdout]     |                                         help: a struct with a similar name exists: `AnalysisResult`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `assertions::*`
[INFO] [stdout]  --> tests/e2e_analysis.rs:3:38
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::common::{sample_projects, assertions::*};
[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]  --> tests/e2e_analysis.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::path::PathBuf;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tempfile::TempDir`
[INFO] [stdout]   --> tests/e2e_analysis.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tempfile::TempDir;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Config`
[INFO] [stdout]  --> tests/performance_tests.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Config,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OutputFormatter`
[INFO] [stdout]    --> tests/performance_tests.rs:359:63
[INFO] [stdout]     |
[INFO] [stdout] 359 |     use instrument_rs::output::{JsonFormatter, TreeFormatter, OutputFormatter};
[INFO] [stdout]     |                                                               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |             builder.add_file(source_file).expect("Should add file to graph");
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> tests/output_format_tests.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let formatter = JsonFormatter::new();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]    |                                        ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `traits` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:105:25
[INFO] [stdout]     |
[INFO] [stdout] 105 |     assert!(!ast_result.traits.is_empty(), "Should detect traits");
[INFO] [stdout]     |                         ^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `traits` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:106:39
[INFO] [stdout]     |
[INFO] [stdout] 106 |     let data_store_trait = ast_result.traits.iter()
[INFO] [stdout]     |                                       ^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `structs` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:112:25
[INFO] [stdout]     |
[INFO] [stdout] 112 |     assert!(!ast_result.structs.is_empty(), "Should detect structs");
[INFO] [stdout]     |                         ^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `structs` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:113:46
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let struct_names: Vec<&str> = ast_result.structs.iter()
[INFO] [stdout]     |                                              ^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `enums` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:121:25
[INFO] [stdout]     |
[INFO] [stdout] 121 |     assert!(!ast_result.enums.is_empty(), "Should detect enums");
[INFO] [stdout]     |                         ^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `enums` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:122:44
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let enum_names: Vec<&str> = ast_result.enums.iter()
[INFO] [stdout]     |                                            ^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `impl_blocks` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |     assert!(!ast_result.impl_blocks.is_empty(), "Should detect impl blocks");
[INFO] [stdout]     |                         ^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `impl_blocks` on type `AnalysisResult`
[INFO] [stdout]    --> tests/e2e_analysis.rs:138:34
[INFO] [stdout]     |
[INFO] [stdout] 138 |     let async_impls = ast_result.impl_blocks.iter()
[INFO] [stdout]     |                                  ^^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `source_file`, `elements`, `functions`, `test_functions`, `modules`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `build` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let graph = builder.build();
[INFO] [stdout]     |                         ^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_source_file` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/e2e_analysis.rs:159:21
[INFO] [stdout]     |
[INFO] [stdout] 159 |             builder.add_source_file(entry.path().to_path_buf()).expect("Should add file to graph");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:26:28
[INFO] [stdout]     |
[INFO] [stdout]  26 |     let output = formatter.format(&ast_result);
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> tests/output_format_tests.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let formatter = TreeFormatter::new();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]    |                                        ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:70:28
[INFO] [stdout]     |
[INFO] [stdout]  70 |     let output = formatter.format(&ast_result);
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> tests/output_format_tests.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 |         if line.contains("├──") || line.contains("└──") {
[INFO] [stdout]    |            ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |     builder.add_file(source_file).expect("Should add file to graph");
[INFO] [stdout]     |             ^^^^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `build` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let graph = builder.build();
[INFO] [stdout]     |                         ^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let formatter = MermaidFormatter::new();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/mermaid.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let formatter = MermaidFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                           ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `build` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/e2e_analysis.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |     let graph = builder.build().expect("Should build graph");
[INFO] [stdout]     |                         ^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `operators` on type `&FunctionInfo`
[INFO] [stdout]    --> tests/e2e_analysis.rs:292:34
[INFO] [stdout]     |
[INFO] [stdout] 292 |                 assert!(function.operators.arithmetic_ops > 0, 
[INFO] [stdout]     |                                  ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `id`, `name`, `full_path`, `is_async`, `is_unsafe` ... and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `operators` on type `&FunctionInfo`
[INFO] [stdout]    --> tests/e2e_analysis.rs:297:34
[INFO] [stdout]     |
[INFO] [stdout] 297 |                 assert!(function.operators.comparison_ops > 0,
[INFO] [stdout]     |                                  ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `id`, `name`, `full_path`, `is_async`, `is_unsafe` ... and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `operators` on type `&FunctionInfo`
[INFO] [stdout]    --> tests/e2e_analysis.rs:302:34
[INFO] [stdout]     |
[INFO] [stdout] 302 |                 assert!(function.operators.comparison_ops > 0,
[INFO] [stdout]     |                                  ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `id`, `name`, `full_path`, `is_async`, `is_unsafe` ... and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `operators` on type `&FunctionInfo`
[INFO] [stdout]    --> tests/e2e_analysis.rs:304:34
[INFO] [stdout]     |
[INFO] [stdout] 304 |                 assert!(function.operators.logical_ops > 0,
[INFO] [stdout]     |                                  ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout]     = note: available fields are: `id`, `name`, `full_path`, `is_async`, `is_unsafe` ... and 8 others
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> tests/output_format_tests.rs:25:21
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let formatter = JsonFormatter::new();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 25 |     let formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]    |                                        ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format_graph` found for struct `MermaidFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let output = formatter.format_graph(&graph);
[INFO] [stdout]     |                            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 5 arguments but 1 argument was supplied
[INFO] [stdout]    --> tests/performance_tests.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let score = scorer.score_function(function);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^----------
[INFO] [stdout]     |                                              ||
[INFO] [stdout]     |                                              |expected `&str`, found `&FunctionInfo`
[INFO] [stdout]     |                                              multiple arguments are missing
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&str`
[INFO] [stdout]                found reference `&FunctionInfo`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/scoring/instrumentation.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn score_function(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 210 -             let score = scorer.score_function(function);
[INFO] [stdout] 210 +             let score = scorer.score_function(/* &str */, /* u32 */, /* bool */, /* usize */, /* bool */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:303:26
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let json_formatter = JsonFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let json_formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:304:26
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let tree_formatter = TreeFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let tree_formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:307:38
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let json_output = json_formatter.format(&ast_result);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:26:28
[INFO] [stdout]     |
[INFO] [stdout]  26 |     let output = formatter.format(&ast_result);
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]   --> tests/output_format_tests.rs:69:21
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let formatter = TreeFormatter::new();
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]    |                                        ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/performance_tests.rs:364:26
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let json_formatter = JsonFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let json_formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `input_dir`
[INFO] [stdout]    --> src/main.rs:489:5
[INFO] [stdout]     |
[INFO] [stdout] 489 |     input_dir: Option<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_input_dir`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:308:38
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let tree_output = tree_formatter.format(&ast_result);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:336:26
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let json_formatter = JsonFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let json_formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:337:26
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let tree_formatter = TreeFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let tree_formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:340:38
[INFO] [stdout]     |
[INFO] [stdout] 340 |     let json_output = json_formatter.format(&empty_ast);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:341:38
[INFO] [stdout]     |
[INFO] [stdout] 341 |     let tree_output = tree_formatter.format(&empty_ast);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0282, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/main.rs:748:28
[INFO] [stdout]     |
[INFO] [stdout] 748 | fn generate_mermaid_output(config: &Config, output: Option<PathBuf>) -> Result<()> {
[INFO] [stdout]     |                            ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `instrument-rs` (test "output_format_tests") due to 20 previous errors
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:366:32
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let _ = json_formatter.format(result);
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/performance_tests.rs:372:26
[INFO] [stdout]     |
[INFO] [stdout] 372 |     let tree_formatter = TreeFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 372 |     let tree_formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:70:28
[INFO] [stdout]     |
[INFO] [stdout]  70 |     let output = formatter.format(&ast_result);
[INFO] [stdout]     |                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> tests/output_format_tests.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 |         if line.contains("├──") || line.contains("└──") {
[INFO] [stdout]    |            ^^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:374:32
[INFO] [stdout]     |
[INFO] [stdout] 374 |         let _ = tree_formatter.format(result);
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0432, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:109:13
[INFO] [stdout]     |
[INFO] [stdout] 109 |     builder.add_file(source_file).expect("Should add file to graph");
[INFO] [stdout]     |             ^^^^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `instrument-rs` (test "performance_tests") due to 9 previous errors; 2 warnings emitted
[INFO] [stdout] error[E0599]: no method named `build` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:110:25
[INFO] [stdout]     |
[INFO] [stdout] 110 |     let graph = builder.build();
[INFO] [stdout]     |                         ^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:113:21
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let formatter = MermaidFormatter::new();
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/mermaid.rs:26:12
[INFO] [stdout]     |
[INFO] [stdout]  26 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 113 |     let formatter = MermaidFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                           ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format_graph` found for struct `MermaidFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:114:28
[INFO] [stdout]     |
[INFO] [stdout] 114 |     let output = formatter.format_graph(&graph);
[INFO] [stdout]     |                            ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:303:26
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let json_formatter = JsonFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 303 |     let json_formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:304:26
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let tree_formatter = TreeFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 304 |     let tree_formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:307:38
[INFO] [stdout]     |
[INFO] [stdout] 307 |     let json_output = json_formatter.format(&ast_result);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:308:38
[INFO] [stdout]     |
[INFO] [stdout] 308 |     let tree_output = tree_formatter.format(&ast_result);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:336:26
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let json_formatter = JsonFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 336 |     let json_formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/output_format_tests.rs:337:26
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let tree_formatter = TreeFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 337 |     let tree_formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:340:38
[INFO] [stdout]     |
[INFO] [stdout] 340 |     let json_output = json_formatter.format(&empty_ast);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/output_format_tests.rs:341:38
[INFO] [stdout]     |
[INFO] [stdout] 341 |     let tree_output = tree_formatter.format(&empty_ast);
[INFO] [stdout]     |                                      ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `add_file` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:164:21
[INFO] [stdout]     |
[INFO] [stdout] 164 |             builder.add_file(source_file).expect("Should add file to graph");
[INFO] [stdout]     |                     ^^^^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `build` found for struct `GraphBuilder` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:170:25
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let graph = builder.build();
[INFO] [stdout]     |                         ^^^^^ method not found in `GraphBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this method takes 5 arguments but 1 argument was supplied
[INFO] [stdout]    --> tests/performance_tests.rs:210:32
[INFO] [stdout]     |
[INFO] [stdout] 210 |             let score = scorer.score_function(function);
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^----------
[INFO] [stdout]     |                                              ||
[INFO] [stdout]     |                                              |expected `&str`, found `&FunctionInfo`
[INFO] [stdout]     |                                              multiple arguments are missing
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&str`
[INFO] [stdout]                found reference `&FunctionInfo`
[INFO] [stdout] note: method defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/scoring/instrumentation.rs:213:12
[INFO] [stdout]     |
[INFO] [stdout] 213 |     pub fn score_function(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout] 210 -             let score = scorer.score_function(function);
[INFO] [stdout] 210 +             let score = scorer.score_function(/* &str */, /* u32 */, /* bool */, /* usize */, /* bool */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/performance_tests.rs:364:26
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let json_formatter = JsonFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/json.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 364 |     let json_formatter = JsonFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `JsonFormatter` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:366:32
[INFO] [stdout]     |
[INFO] [stdout] 366 |         let _ = json_formatter.format(result);
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 1 argument but 0 arguments were supplied
[INFO] [stdout]    --> tests/performance_tests.rs:372:26
[INFO] [stdout]     |
[INFO] [stdout] 372 |     let tree_formatter = TreeFormatter::new();
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^-- argument #1 of type `FormatterOptions` is missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/tree.rs:17:12
[INFO] [stdout]     |
[INFO] [stdout]  17 |     pub fn new(options: FormatterOptions) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the argument
[INFO] [stdout]     |
[INFO] [stdout] 372 |     let tree_formatter = TreeFormatter::new(/* FormatterOptions */);
[INFO] [stdout]     |                                             ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `format` found for struct `TreeFormatter` in the current scope
[INFO] [stdout]    --> tests/performance_tests.rs:374:32
[INFO] [stdout]     |
[INFO] [stdout] 374 |         let _ = tree_formatter.format(result);
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `format_type` with a similar name, but with different arguments
[INFO] [stdout]    --> /opt/rustwide/workdir/src/output/traits.rs:120:5
[INFO] [stdout]     |
[INFO] [stdout] 120 |     fn format_type(&self) -> OutputFormat;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> tests/e2e_analysis.rs:61:9
[INFO] [stdout]    |
[INFO] [stdout] 61 |     let config = Config::default();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[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]    --> tests/e2e_analysis.rs:232:9
[INFO] [stdout]     |
[INFO] [stdout] 232 |     let config = Config::default();
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> tests/performance_tests.rs:23:9
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let config = project.create_config();
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0282, E0432, E0433, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `instrument-rs` (test "integration_tests") due to 41 previous errors; 8 warnings emitted
[INFO] [stdout] warning: unused variable: `span`
[INFO] [stdout]    --> src/ast/mod.rs:392:22
[INFO] [stdout]     |
[INFO] [stdout] 392 |     pub fn from_span(span: proc_macro2::Span) -> Option<Self> {
[INFO] [stdout]     |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_span`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `edge`
[INFO] [stdout]    --> src/call_graph/builder.rs:329:17
[INFO] [stdout]     |
[INFO] [stdout] 329 |             let edge = CallEdge::new(
[INFO] [stdout]     |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_edge`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/call_graph/graph.rs:396:13
[INFO] [stdout]     |
[INFO] [stdout] 396 |         let mut main = FunctionNode {
[INFO] [stdout]     |             ----^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/framework/adapter.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 |     fn build_test_command(&self, config: &RunnerConfig) -> Vec<String> {
[INFO] [stdout]    |                                  ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output`
[INFO] [stdout]   --> src/framework/adapter.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn parse_results(&self, output: &str) -> Result<TestResults> {
[INFO] [stdout]    |                             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_output`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `project_root`
[INFO] [stdout]   --> src/framework/detector.rs:17:26
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn detect(&self, project_root: &Path) -> Result<Vec<FrameworkInfo>> {
[INFO] [stdout]    |                          ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_project_root`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/instrumentation/coverage.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn instrument_element(&self, element: &InstrumentableElement, expr: &Expr) -> TokenStream {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `element`
[INFO] [stdout]   --> src/instrumentation/mutation.rs:34:34
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn instrument_element(&self, element: &InstrumentableElement, expr: &Expr) -> TokenStream {
[INFO] [stdout]    |                                  ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_element`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ast`
[INFO] [stdout]   --> src/instrumentation/transform.rs:17:29
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub fn transform(&self, ast: &mut File) -> Result<()> {
[INFO] [stdout]    |                             ^^^ help: if this is intentional, prefix it with an underscore: `_ast`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/mutation/analyzer.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 18 |         results: &[MutationResult],
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `results`
[INFO] [stdout]   --> src/mutation/analyzer.rs:25:45
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn find_equivalent_mutations(&self, results: &[MutationResult]) -> Vec<&MutationResult> {
[INFO] [stdout]    |                                             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_results`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elements`
[INFO] [stdout]   --> src/mutation/generator.rs:19:38
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub fn generate_batch(&mut self, elements: &[InstrumentableElement]) -> Result<Vec<Mutation>> {
[INFO] [stdout]    |                                      ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elements`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `test_runner`
[INFO] [stdout]   --> src/mutation/runner.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         test_runner: &dyn TestRunner,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_test_runner`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:42:9
[INFO] [stdout]    |
[INFO] [stdout] 42 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/console.rs:52:65
[INFO] [stdout]    |
[INFO] [stdout] 52 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `summary`
[INFO] [stdout]   --> src/reporting/html.rs:25:9
[INFO] [stdout]    |
[INFO] [stdout] 25 |         summary: &CoverageSummary,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:26:9
[INFO] [stdout]    |
[INFO] [stdout] 26 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `summary`
[INFO] [stdout]   --> src/reporting/html.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 34 |         summary: &MutationSummary,
[INFO] [stdout]    |         ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_summary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:35:9
[INFO] [stdout]    |
[INFO] [stdout] 35 |         output_path: &Path,
[INFO] [stdout]    |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `report`
[INFO] [stdout]   --> src/reporting/html.rs:41:40
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                        ^^^^^^ help: if this is intentional, prefix it with an underscore: `_report`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `output_path`
[INFO] [stdout]   --> src/reporting/html.rs:41:65
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn generate_combined_report(&self, report: &CombinedReport, output_path: &Path) -> Result<()> {
[INFO] [stdout]    |                                                                 ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_output_path`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/lib.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct Instrumentor {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 86 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `source_lines` is never read
[INFO] [stdout]   --> src/ast/visitor.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub struct AstVisitor {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     source_lines: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `block_depth` is never read
[INFO] [stdout]   --> src/call_graph/builder.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 55 | struct FunctionContext {
[INFO] [stdout]    |        --------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 63 |     block_depth: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FunctionContext` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `current_router` is never read
[INFO] [stdout]    --> src/framework/web/axum.rs:296:5
[INFO] [stdout]     |
[INFO] [stdout] 293 | struct RouterVisitor<'a> {
[INFO] [stdout]     |        ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 296 |     current_router: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/instrumentation/coverage.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CoverageStrategy {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 11 |     context: InstrumentationContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `context` is never read
[INFO] [stdout]   --> src/instrumentation/mutation.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MutationStrategy {
[INFO] [stdout]    |            ---------------- field in this struct
[INFO] [stdout] 11 |     context: InstrumentationContext,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `rng` is never read
[INFO] [stdout]    --> src/mutation/mod.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct MutationGenerator {
[INFO] [stdout]     |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 127 |     rng: rand::rngs::StdRng,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generator` is never read
[INFO] [stdout]  --> src/mutation/generator.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct BatchMutationGenerator {
[INFO] [stdout]   |            ---------------------- field in this struct
[INFO] [stdout] 9 |     generator: MutationGenerator,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `timeout` is never read
[INFO] [stdout]   --> src/mutation/runner.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct MutationRunner {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] 10 |     timeout: Duration,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: call to `.clone()` on a reference in this situation does nothing
[INFO] [stdout]    --> src/call_graph/builder.rs:240:39
[INFO] [stdout]     |
[INFO] [stdout] 240 |         for edge in self.graph.edges().clone() {
[INFO] [stdout]     |                                       ^^^^^^^^ help: remove this redundant call
[INFO] [stdout]     |
[INFO] [stdout]     = note: the type `[edge::CallEdge]` does not implement `Clone`, so calling `clone` on `&[edge::CallEdge]` copies the reference, which does not do anything and can be removed
[INFO] [stdout]     = note: `#[warn(noop_method_call)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub total_mutations: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 62 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub killed: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub survived: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/mutation/analyzer.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub mutation_score: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/output/utils.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub lines: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 |     pub const RESET: &str = "\x1b[0m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub const BOLD: &str = "\x1b[1m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]  --> src/output/utils.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     pub const DIM: &str = "\x1b[2m";
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub const BLACK: &str = "\x1b[30m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub const RED: &str = "\x1b[31m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub const GREEN: &str = "\x1b[32m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub const YELLOW: &str = "\x1b[33m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub const BLUE: &str = "\x1b[34m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub const MAGENTA: &str = "\x1b[35m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     pub const CYAN: &str = "\x1b[36m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub const WHITE: &str = "\x1b[37m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub const BG_RED: &str = "\x1b[41m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub const BG_GREEN: &str = "\x1b[42m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub const BG_YELLOW: &str = "\x1b[43m";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub const BRANCH: &str = "├── ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub const LAST_BRANCH: &str = "└── ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:77:5
[INFO] [stdout]    |
[INFO] [stdout] 77 |     pub const VERTICAL: &str = "│   ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a constant
[INFO] [stdout]   --> src/output/utils.rs:78:5
[INFO] [stdout]    |
[INFO] [stdout] 78 |     pub const EMPTY: &str = "    ";
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "92a522c4a647656755ce4c3e77d00656cb421015b7eb0a5f880986f6277003ec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "92a522c4a647656755ce4c3e77d00656cb421015b7eb0a5f880986f6277003ec", kill_on_drop: false }`
[INFO] [stdout] 92a522c4a647656755ce4c3e77d00656cb421015b7eb0a5f880986f6277003ec
