[INFO] cloning repository https://github.com/genehuh39/v0-pull
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/genehuh39/v0-pull" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgenehuh39%2Fv0-pull", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgenehuh39%2Fv0-pull'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c281650347ad21ff1c991434a4dd916a9c1a78e7
[INFO] checking genehuh39/v0-pull against master#c756124775121dea0e640652c5ee3c89e3dd0eb4 for pr-154971
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fgenehuh39%2Fv0-pull" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/genehuh39/v0-pull
[INFO] finished tweaking git repo https://github.com/genehuh39/v0-pull
[INFO] tweaked toml for git repo https://github.com/genehuh39/v0-pull written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/genehuh39/v0-pull on toolchain c756124775121dea0e640652c5ee3c89e3dd0eb4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/genehuh39/v0-pull 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" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded predicates-core v1.0.10
[INFO] [stderr]   Downloaded predicates v3.1.4
[INFO] [stderr]   Downloaded config v0.14.1
[INFO] [stderr]   Downloaded predicates-tree v1.0.13
[INFO] [stderr]   Downloaded deadpool v0.12.3
[INFO] [stderr]   Downloaded assert_cmd v2.1.2
[INFO] [stderr]   Downloaded wiremock v0.6.5
[INFO] [stderr]   Downloaded rust-ini v0.20.0
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.40
[INFO] [stderr]   Downloaded yaml-rust2 v0.8.1
[INFO] [stderr]   Downloaded zerocopy v0.8.40
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 1b2ee45e7d9f345c86d5e512b988e0da790162d1204506dc2c097ce474100800
[INFO] running `Command { std: "docker" "start" "-a" "1b2ee45e7d9f345c86d5e512b988e0da790162d1204506dc2c097ce474100800", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1b2ee45e7d9f345c86d5e512b988e0da790162d1204506dc2c097ce474100800", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1b2ee45e7d9f345c86d5e512b988e0da790162d1204506dc2c097ce474100800", kill_on_drop: false }`
[INFO] [stdout] 1b2ee45e7d9f345c86d5e512b988e0da790162d1204506dc2c097ce474100800
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+c756124775121dea0e640652c5ee3c89e3dd0eb4" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 9035ee54ac69bda6e0c2de60bf45cab5959b1eef33ce4977bb9f6a88f8f83d82
[INFO] running `Command { std: "docker" "start" "-a" "9035ee54ac69bda6e0c2de60bf45cab5959b1eef33ce4977bb9f6a88f8f83d82", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking bitflags v2.11.0
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]     Checking anstyle v1.0.13
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]     Checking serde_json v1.0.149
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling num-conv v0.2.0
[INFO] [stderr]     Checking anstyle-parse v0.2.7
[INFO] [stderr]    Compiling cookie v0.17.0
[INFO] [stderr]     Checking http v1.4.0
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]     Checking colorchoice v1.0.4
[INFO] [stderr]     Checking anstream v0.6.21
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]     Checking unicode-normalization v0.1.25
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking mio v1.1.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking clap_lex v1.0.0
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking zerofrom v0.1.6
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking unicode-width v0.2.2
[INFO] [stderr]     Checking winnow v0.7.15
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking toml_write v0.1.2
[INFO] [stderr]     Checking yoke v0.8.1
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]     Checking console v0.15.11
[INFO] [stderr]     Checking clap_builder v4.5.60
[INFO] [stderr]     Checking idna v0.3.0
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]     Checking tokio v1.50.0
[INFO] [stderr]     Checking http-body v1.0.1
[INFO] [stderr]     Checking zerovec v0.11.5
[INFO] [stderr]     Checking zerotrie v0.2.3
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]     Checking nom v7.1.3
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking tinystr v0.8.2
[INFO] [stderr]     Checking potential_utf v0.1.4
[INFO] [stderr]     Checking icu_locale_core v2.1.1
[INFO] [stderr]     Checking icu_collections v2.1.1
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking icu_provider v2.1.1
[INFO] [stderr]     Checking thiserror v1.0.69
[INFO] [stderr]     Checking predicates-core v1.0.10
[INFO] [stderr]     Checking ipnet v2.12.0
[INFO] [stderr]     Checking shell-words v1.1.1
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking indicatif v0.17.11
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking colored v2.2.0
[INFO] [stderr]     Checking tempfile v3.26.0
[INFO] [stderr]     Checking clap v4.5.60
[INFO] [stderr]     Checking clap_complete v4.5.66
[INFO] [stderr]     Checking float-cmp v0.10.0
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking icu_properties v2.1.2
[INFO] [stderr]     Checking icu_normalizer v2.1.1
[INFO] [stderr]     Checking termtree v0.5.1
[INFO] [stderr]     Checking dialoguer v0.11.0
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]     Checking difflib v0.4.0
[INFO] [stderr]     Checking deadpool-runtime v0.1.4
[INFO] [stderr]     Checking predicates-tree v1.0.13
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking http-body-util v0.1.3
[INFO] [stderr]     Checking wait-timeout v0.2.1
[INFO] [stderr]     Checking assert-json-diff v2.0.2
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking bstr v1.12.1
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking predicates v3.1.4
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking idna_adapter v1.2.1
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking publicsuffix v2.3.0
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking cookie_store v0.20.0
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-native-tls v0.3.1
[INFO] [stderr]     Checking deadpool v0.12.3
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking h2 v0.4.13
[INFO] [stderr]     Checking hyper v1.8.1
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking wiremock v0.6.5
[INFO] [stderr]     Checking hyper-tls v0.5.0
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking v0-pull v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `OutputFormatter`
[INFO] [stdout]  --> src/cli/commands.rs:8:46
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::output::{JsonOutput, HumanOutput, OutputFormatter};
[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: `V0PullError`
[INFO] [stdout]  --> src/config.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/core/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `V0PullError`
[INFO] [stdout]  --> src/core/resolver.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InternalDep`, `MissingDep`, `ShadcnDep`, and `ThirdPartyDep`
[INFO] [stdout]  --> src/output/mod.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     DependencyResolution, InternalDep, MissingDep, ShadcnDep, ThirdPartyDep,
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/output/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OutputFormatter`
[INFO] [stdout]  --> src/cli/commands.rs:8:46
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::output::{JsonOutput, HumanOutput, OutputFormatter};
[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: `V0PullError`
[INFO] [stdout]  --> src/config.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/core/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `V0PullError`
[INFO] [stdout]  --> src/core/resolver.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InternalDep`, `MissingDep`, `ShadcnDep`, and `ThirdPartyDep`
[INFO] [stdout]  --> src/output/mod.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     DependencyResolution, InternalDep, MissingDep, ShadcnDep, ThirdPartyDep,
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/output/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/core/resolver.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 ImportType::Relative { path } => {
[INFO] [stdout]     |                                        ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/core/resolver.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 ImportType::Relative { path } => {
[INFO] [stdout]     |                                        ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]  --> src/shadcn/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShadcnInstaller<'a> {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 6 |     config: &'a 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 `config` is never read
[INFO] [stdout]  --> src/shadcn/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShadcnInstaller<'a> {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 6 |     config: &'a 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: unused import: `OutputFormatter`
[INFO] [stdout]  --> src/cli/commands.rs:8:46
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::output::{JsonOutput, HumanOutput, OutputFormatter};
[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: `V0PullError`
[INFO] [stdout]  --> src/config.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/core/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `V0PullError`
[INFO] [stdout]  --> src/core/resolver.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fetcher` and `Source`
[INFO] [stdout]  --> src/core/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use fetcher::{Fetcher, Source};
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComponentInstaller`, `OverwriteStrategy`, and `WriteResult`
[INFO] [stdout]  --> src/core/mod.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use installer::{ComponentInstaller, OverwriteStrategy, WriteResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComponentParser`, `ImportInfo`, `ImportType`, and `ParsedComponent`
[INFO] [stdout]  --> src/core/mod.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use parser::{ComponentParser, ImportInfo, ImportType, ParsedComponent};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DependencyResolution` and `DependencyResolver`
[INFO] [stdout]  --> src/core/mod.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use resolver::{DependencyResolution, DependencyResolver};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InternalDep`, `MissingDep`, `ShadcnDep`, and `ThirdPartyDep`
[INFO] [stdout]  --> src/output/mod.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     DependencyResolution, InternalDep, MissingDep, ShadcnDep, ThirdPartyDep,
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/output/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OutputFormatter`
[INFO] [stdout]  --> src/cli/commands.rs:8:46
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::output::{JsonOutput, HumanOutput, OutputFormatter};
[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: `V0PullError`
[INFO] [stdout]  --> src/config.rs:1:28
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/core/parser.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `V0PullError`
[INFO] [stdout]  --> src/core/resolver.rs:3:28
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::error::{Result, V0PullError};
[INFO] [stdout]   |                            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Fetcher` and `Source`
[INFO] [stdout]  --> src/core/mod.rs:6:19
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use fetcher::{Fetcher, Source};
[INFO] [stdout]   |                   ^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComponentInstaller`, `OverwriteStrategy`, and `WriteResult`
[INFO] [stdout]  --> src/core/mod.rs:7:21
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub use installer::{ComponentInstaller, OverwriteStrategy, WriteResult};
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComponentParser`, `ImportInfo`, `ImportType`, and `ParsedComponent`
[INFO] [stdout]  --> src/core/mod.rs:8:18
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub use parser::{ComponentParser, ImportInfo, ImportType, ParsedComponent};
[INFO] [stdout]   |                  ^^^^^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DependencyResolution` and `DependencyResolver`
[INFO] [stdout]  --> src/core/mod.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub use resolver::{DependencyResolution, DependencyResolver};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `InternalDep`, `MissingDep`, `ShadcnDep`, and `ThirdPartyDep`
[INFO] [stdout]  --> src/output/mod.rs:3:27
[INFO] [stdout]   |
[INFO] [stdout] 3 |     DependencyResolution, InternalDep, MissingDep, ShadcnDep, ThirdPartyDep,
[INFO] [stdout]   |                           ^^^^^^^^^^^  ^^^^^^^^^^  ^^^^^^^^^  ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/output/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/core/resolver.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 ImportType::Relative { path } => {
[INFO] [stdout]     |                                        ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/core/resolver.rs:108:40
[INFO] [stdout]     |
[INFO] [stdout] 108 |                 ImportType::Relative { path } => {
[INFO] [stdout]     |                                        ^^^^ help: try ignoring the field: `path: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load_from_path`, `save_to_path`, and `merge_with_cli_args` are never used
[INFO] [stdout]    --> src/config.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl Config {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn load_from_path(path: &Path) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn save_to_path(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn merge_with_cli_args(&mut self, args: &crate::cli::PullArgs) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergedConfig` is never constructed
[INFO] [stdout]    --> src/config.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct MergedConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_auth_token` and `get_output_format` are never used
[INFO] [stdout]    --> src/config.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl MergedConfig {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 245 |     pub fn get_auth_token(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_output_format(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Skip` and `Backup` are never constructed
[INFO] [stdout]   --> src/core/installer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum OverwriteStrategy {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout]  9 |     Prompt,
[INFO] [stdout] 10 |     Skip,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Backup,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OverwriteStrategy` 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 `backup_path` is never read
[INFO] [stdout]   --> src/core/installer.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct WriteResult {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub backup_path: Option<std::path::PathBuf>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WriteResult` 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 `specifiers` is never read
[INFO] [stdout]   --> src/core/parser.rs:15:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ImportInfo {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 14 |     pub source: String,
[INFO] [stdout] 15 |     pub specifiers: Vec<ImportSpecifier>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportInfo` 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: fields `0` and `1` are never read
[INFO] [stdout]   --> src/core/parser.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Named(String, Option<String>),
[INFO] [stdout]    |     ----- ^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportSpecifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 21 -     Named(String, Option<String>),
[INFO] [stdout] 21 +     Named((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/parser.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Default(String),
[INFO] [stdout]    |     ------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportSpecifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     Default(String),
[INFO] [stdout] 22 +     Default(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/parser.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Namespace(String),
[INFO] [stdout]    |     --------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportSpecifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Namespace(String),
[INFO] [stdout] 23 +     Namespace(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `full_path` is never read
[INFO] [stdout]   --> src/core/parser.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |     ShadcnComponent { name: String, full_path: String },
[INFO] [stdout]    |     ---------------                 ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportType` 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 `missing_internal` is never read
[INFO] [stdout]   --> src/core/resolver.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct DependencyResolution {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub missing_internal: Vec<MissingDep>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DependencyResolution` 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 `is_dev_dependency` is never read
[INFO] [stdout]   --> src/core/resolver.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ThirdPartyDep {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub is_dev_dependency: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThirdPartyDep` 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 `dependencies` is never read
[INFO] [stdout]   --> src/core/resolver.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ShadcnDep {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub dependencies: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShadcnDep` 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: fields `path` and `suggestion` are never read
[INFO] [stdout]   --> src/core/resolver.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct MissingDep {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 40 |     pub path: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 41 |     pub suggestion: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MissingDep` 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: variants `Resolve`, `Shadcn`, and `ComponentExists` are never constructed
[INFO] [stdout]   --> src/error.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum V0PullError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Resolve(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Shadcn(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     ComponentExists { path: PathBuf },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `V0PullError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OutputFormatter` is never used
[INFO] [stdout]    --> src/output/mod.rs:338:11
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub trait OutputFormatter {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lockfile` and `install_dev` are never used
[INFO] [stdout]   --> src/package_manager/mod.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl PackageManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn lockfile(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub async fn install_dev(&self, packages: &[&str]) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `detect_from_path` is never used
[INFO] [stdout]    --> src/package_manager/mod.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl PackageManagerDetector {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn detect_from_path(path: &Path) -> Result<PackageManager> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]  --> src/shadcn/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShadcnInstaller<'a> {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 6 |     config: &'a Config,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `install_multiple` and `add_registry` are never used
[INFO] [stdout]   --> src/shadcn/mod.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<'a> ShadcnInstaller<'a> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub async fn install_multiple(&self, components: &[String]) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub async fn add_registry(&self, registry_url: &str) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShadcnRegistryItem` is never constructed
[INFO] [stdout]   --> src/shadcn/mod.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ShadcnRegistryItem {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `fetch` is never used
[INFO] [stdout]   --> src/shadcn/mod.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl ShadcnRegistryItem {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 57 |     pub async fn fetch(registry_url: &str, style: &str, component: &str) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load_from_path`, `save_to_path`, and `merge_with_cli_args` are never used
[INFO] [stdout]    --> src/config.rs:195:12
[INFO] [stdout]     |
[INFO] [stdout] 182 | impl Config {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn load_from_path(path: &Path) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 208 |     pub fn save_to_path(&self, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn merge_with_cli_args(&mut self, args: &crate::cli::PullArgs) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MergedConfig` is never constructed
[INFO] [stdout]    --> src/config.rs:239:12
[INFO] [stdout]     |
[INFO] [stdout] 239 | pub struct MergedConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_auth_token` and `get_output_format` are never used
[INFO] [stdout]    --> src/config.rs:245:12
[INFO] [stdout]     |
[INFO] [stdout] 244 | impl MergedConfig {
[INFO] [stdout]     | ----------------- methods in this implementation
[INFO] [stdout] 245 |     pub fn get_auth_token(&self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_output_format(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Skip` and `Backup` are never constructed
[INFO] [stdout]   --> src/core/installer.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum OverwriteStrategy {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout]  9 |     Prompt,
[INFO] [stdout] 10 |     Skip,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 11 |     Backup,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OverwriteStrategy` 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 `backup_path` is never read
[INFO] [stdout]   --> src/core/installer.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct WriteResult {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub backup_path: Option<std::path::PathBuf>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `WriteResult` 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: fields `source` and `specifiers` are never read
[INFO] [stdout]   --> src/core/parser.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct ImportInfo {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 14 |     pub source: String,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 15 |     pub specifiers: Vec<ImportSpecifier>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportInfo` 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: fields `0` and `1` are never read
[INFO] [stdout]   --> src/core/parser.rs:21:11
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Named(String, Option<String>),
[INFO] [stdout]    |     ----- ^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     fields in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportSpecifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the fields to be of unit type to suppress this warning while preserving the field numbering, or remove the fields
[INFO] [stdout]    |
[INFO] [stdout] 21 -     Named(String, Option<String>),
[INFO] [stdout] 21 +     Named((), ()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/parser.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Default(String),
[INFO] [stdout]    |     ------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportSpecifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 22 -     Default(String),
[INFO] [stdout] 22 +     Default(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/core/parser.rs:23:15
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Namespace(String),
[INFO] [stdout]    |     --------- ^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportSpecifier` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stdout]    |
[INFO] [stdout] 23 -     Namespace(String),
[INFO] [stdout] 23 +     Namespace(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `full_path` is never read
[INFO] [stdout]   --> src/core/parser.rs:29:37
[INFO] [stdout]    |
[INFO] [stdout] 29 |     ShadcnComponent { name: String, full_path: String },
[INFO] [stdout]    |     ---------------                 ^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ImportType` 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 `missing_internal` is never read
[INFO] [stdout]   --> src/core/resolver.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct DependencyResolution {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub missing_internal: Vec<MissingDep>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DependencyResolution` 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 `is_dev_dependency` is never read
[INFO] [stdout]   --> src/core/resolver.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ThirdPartyDep {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 21 |     pub is_dev_dependency: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ThirdPartyDep` 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 `dependencies` is never read
[INFO] [stdout]   --> src/core/resolver.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 25 | pub struct ShadcnDep {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub dependencies: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShadcnDep` 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: fields `path` and `suggestion` are never read
[INFO] [stdout]   --> src/core/resolver.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct MissingDep {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 40 |     pub path: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 41 |     pub suggestion: String,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MissingDep` 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: variants `Resolve`, `Shadcn`, and `ComponentExists` are never constructed
[INFO] [stdout]   --> src/error.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub enum V0PullError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 19 |     Resolve(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 25 |     Shadcn(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     ComponentExists { path: PathBuf },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `V0PullError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `OutputFormatter` is never used
[INFO] [stdout]    --> src/output/mod.rs:338:11
[INFO] [stdout]     |
[INFO] [stdout] 338 | pub trait OutputFormatter {
[INFO] [stdout]     |           ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `lockfile` and `install_dev` are never used
[INFO] [stdout]   --> src/package_manager/mod.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | impl PackageManager {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 22 |     pub fn lockfile(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub async fn install_dev(&self, packages: &[&str]) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `detect_from_path` is never used
[INFO] [stdout]    --> src/package_manager/mod.rs:204:12
[INFO] [stdout]     |
[INFO] [stdout] 169 | impl PackageManagerDetector {
[INFO] [stdout]     | --------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 204 |     pub fn detect_from_path(path: &Path) -> Result<PackageManager> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]  --> src/shadcn/mod.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct ShadcnInstaller<'a> {
[INFO] [stdout]   |            --------------- field in this struct
[INFO] [stdout] 6 |     config: &'a Config,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `install_multiple` and `add_registry` are never used
[INFO] [stdout]   --> src/shadcn/mod.rs:23:18
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl<'a> ShadcnInstaller<'a> {
[INFO] [stdout]    | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub async fn install_multiple(&self, components: &[String]) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub async fn add_registry(&self, registry_url: &str) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ShadcnRegistryItem` is never constructed
[INFO] [stdout]   --> src/shadcn/mod.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct ShadcnRegistryItem {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `fetch` is never used
[INFO] [stdout]   --> src/shadcn/mod.rs:57:18
[INFO] [stdout]    |
[INFO] [stdout] 56 | impl ShadcnRegistryItem {
[INFO] [stdout]    | ----------------------- associated function in this implementation
[INFO] [stdout] 57 |     pub async fn fetch(registry_url: &str, style: &str, component: &str) -> Result<Self> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.95s
[INFO] running `Command { std: "docker" "inspect" "9035ee54ac69bda6e0c2de60bf45cab5959b1eef33ce4977bb9f6a88f8f83d82", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9035ee54ac69bda6e0c2de60bf45cab5959b1eef33ce4977bb9f6a88f8f83d82", kill_on_drop: false }`
[INFO] [stdout] 9035ee54ac69bda6e0c2de60bf45cab5959b1eef33ce4977bb9f6a88f8f83d82
