[INFO] cloning repository https://github.com/norpie/dynamics-cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/norpie/dynamics-cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnorpie%2Fdynamics-cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnorpie%2Fdynamics-cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c6ddf94c8fdb34f2ff1805155074b49503ce448f
[INFO] testing norpie/dynamics-cli against 1.90.0 for beta-1.91-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fnorpie%2Fdynamics-cli" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/norpie/dynamics-cli
[INFO] finished tweaking git repo https://github.com/norpie/dynamics-cli
[INFO] tweaked toml for git repo https://github.com/norpie/dynamics-cli written to /workspace/builds/worker-5-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/norpie/dynamics-cli on toolchain 1.90.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.90.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/norpie/dynamics-cli 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" "+1.90.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded serde v1.0.225
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.103
[INFO] [stderr]   Downloaded indexmap v2.11.3
[INFO] [stderr]   Downloaded roxmltree v0.19.0
[INFO] [stderr]   Downloaded windows-core v0.62.0
[INFO] [stderr]   Downloaded windows-result v0.4.0
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.103
[INFO] [stderr]   Downloaded wit-bindgen v0.46.0
[INFO] [stderr]   Downloaded tempfile v3.22.0
[INFO] [stderr]   Downloaded serde_json v1.0.145
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.103
[INFO] [stderr]   Downloaded windows-strings v0.5.0
[INFO] [stderr]   Downloaded iana-time-zone v0.1.64
[INFO] [stderr]   Downloaded dialoguer v0.11.0
[INFO] [stderr]   Downloaded humantime v2.3.0
[INFO] [stderr]   Downloaded wasip2 v1.0.1+wasi-0.2.4
[INFO] [stderr]   Downloaded schannel v0.1.28
[INFO] [stderr]   Downloaded security-framework-sys v2.15.0
[INFO] [stderr]   Downloaded wasi v0.14.7+wasi-0.2.4
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.53
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.103
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.103
[INFO] [stderr]   Downloaded serde_core v1.0.225
[INFO] [stderr]   Downloaded serde_derive v1.0.225
[INFO] [stderr]   Downloaded libredox v0.1.10
[INFO] [stderr]   Downloaded js-sys v0.3.80
[INFO] [stderr]   Downloaded chrono v0.4.42
[INFO] [stderr]   Downloaded web-sys v0.3.80
[INFO] [stderr]   Downloaded ratatui v0.28.1
[INFO] [stderr]   Downloaded rust_xlsxwriter v0.78.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 2e6f94b2b009120c84869f0fe60456ea106684f20878c07c399a99f817745002
[INFO] running `Command { std: "docker" "start" "-a" "2e6f94b2b009120c84869f0fe60456ea106684f20878c07c399a99f817745002", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "2e6f94b2b009120c84869f0fe60456ea106684f20878c07c399a99f817745002", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2e6f94b2b009120c84869f0fe60456ea106684f20878c07c399a99f817745002", kill_on_drop: false }`
[INFO] [stdout] 2e6f94b2b009120c84869f0fe60456ea106684f20878c07c399a99f817745002
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 13100810e5573cf8a53e8c675b946ab2b7c9d4b192946800109aea3f277735fb
[INFO] running `Command { std: "docker" "start" "-a" "13100810e5573cf8a53e8c675b946ab2b7c9d4b192946800109aea3f277735fb", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.19
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_core v1.0.225
[INFO] [stderr]    Compiling find-msvc-tools v0.1.1
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling pkg-config v0.3.32
[INFO] [stderr]    Compiling serde v1.0.225
[INFO] [stderr]    Compiling indexmap v2.11.3
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling openssl v0.10.73
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling cc v1.2.37
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling instability v0.3.9
[INFO] [stderr]    Compiling serde_json v1.0.145
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling bumpalo v3.19.0
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling zip v2.4.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling zopfli v0.8.2
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.4
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling indoc v2.0.6
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling openssl-sys v0.9.109
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling rtoolbox v0.0.3
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling ipnet v2.11.0
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.64
[INFO] [stderr]    Compiling humantime v2.3.0
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling sync_wrapper v0.1.2
[INFO] [stderr]    Compiling rpassword v7.4.0
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling roxmltree v0.19.0
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling env_logger v0.10.2
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling serde_derive v1.0.225
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling rust_xlsxwriter v0.78.0
[INFO] [stderr]    Compiling ratatui v0.28.1
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.3
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling hyper-tls v0.5.0
[INFO] [stderr]    Compiling reqwest v0.11.27
[INFO] [stderr]    Compiling dynamics-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `relationship_renderer::*`
[INFO] [stdout]   --> src/commands/migration/ui/components/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use relationship_renderer::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldDisplayInfo`
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             FieldDisplayInfo, FieldMapping, MappingSource, MatchState,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FieldMapping`, `MappingSource`, and `MatchState`
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:52:76
[INFO] [stdout]    |
[INFO] [stdout] 52 |         use crate::commands::migration::ui::components::{FieldDisplayInfo, FieldMapping, MappingSource, MatchState};
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fields_app::FieldNode`
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use fields_app::FieldNode;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComparisonData`, `DataConverter`, `FieldsConverter`, `FormsConverter`, `RelationshipsConverter`, and `ViewsConverter`
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...{ComparisonApp, ComparisonData, DataConverter, FieldsConverter, ViewsConverter, FormsConverter, RelationshipsConverter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]   --> src/commands/migration/ui/app.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let area = f.size();
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:171:51
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn handle_mouse(&self, event: MouseEvent, area: Rect) -> ListAction {
[INFO] [stdout]     |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_nodes`
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:35
[INFO] [stdout]     |
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_nodes`
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:66
[INFO] [stdout]     |
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1090:9
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1091:9
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1110:9
[INFO] [stdout]      |
[INFO] [stdout] 1110 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1111:9
[INFO] [stdout]      |
[INFO] [stdout] 1111 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1130:9
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1131:9
[INFO] [stdout]      |
[INFO] [stdout] 1131 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/commands/migration/ui/app.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct MigrationUI {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 20 |     navigation: NavigationManager,
[INFO] [stdout] 21 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `all_completed` is never used
[INFO] [stdout]   --> src/commands/migration/ui/components/fetch_progress.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl FetchProgress {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn all_completed(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TypeMismatch` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum MatchState {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 20 |     FullMatch,    // Green - field and type match
[INFO] [stdout] 21 |     TypeMismatch, // Yellow - field matches but type differs
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MatchState` 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: variant `Relationship` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum FieldType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 47 |     Relationship {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldType` 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: associated functions `new_relationship` and `relationship_with_mapping` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl FieldDisplayInfo {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn new_relationship(field: FieldInfo, target_entity: String, relationship_type: RelationshipType) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn relationship_with_mapping(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `render_field_string` is never used
[INFO] [stdout]    --> src/commands/migration/ui/components/field_renderer.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl FieldRenderer {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn render_field_string(field_info: &FieldDisplayInfo) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `style` is never read
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct FooterComponent {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 10 |     actions: Vec<FooterAction>,
[INFO] [stdout] 11 |     style: FooterStyle,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Compact` and `Help` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum FooterStyle {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 22 |     Standard,
[INFO] [stdout] 23 |     Compact,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     Help,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FooterStyle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_action`, `add_navigation_actions`, `add_quit_action`, and `with_style` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl FooterComponent {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn add_action(mut self, key: &str, description: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn add_navigation_actions(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn add_quit_action(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn with_style(mut self, style: FooterStyle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]   --> src/commands/migration/ui/components/hierarchy_tree.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct TreeNode {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub level: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeNode` 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: associated functions `from_arc` and `from_arc_with_children` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/hierarchy_tree.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl TreeNode {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn from_arc(data: Arc<dyn HierarchyNode>, level: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn from_arc_with_children(data: Arc<dyn HierarchyNode>, children: Vec<TreeNode>, level: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `update_node_expansion`, `get_flattened_count`, `flatten_node_recursive`, `get_selected`, and `render_node_line` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/hierarchy_tree.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl HierarchyTree {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn update_node_expansion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_flattened_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn flatten_node_recursive(&mut self, node: &TreeNode, level: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn get_selected(&mut self) -> Option<&TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn render_node_line(node: &TreeNode, level: usize) -> Line<'static> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `create_new_label`, `enable_scroll`, and `highlight_selected` are never read
[INFO] [stdout]   --> src/commands/migration/ui/components/list_component.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ListConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub create_new_label: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub enable_mouse: bool,
[INFO] [stdout] 29 |     pub enable_scroll: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub show_indices: bool,
[INFO] [stdout] 31 |     pub highlight_selected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_title`, `with_create_new`, `with_mouse_support`, `with_indices`, `selected`, and `update_items` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<T: Display> ListComponent<T> {
[INFO] [stdout]     | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn with_title(mut self, title: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn with_create_new(mut self, key: char, label: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn with_mouse_support(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_indices(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn selected(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn update_items(&mut self, items: Vec<T>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Close`, `Submit`, `Cancel`, and `Custom` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/modal_component.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum ModalContentAction {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] 58 |     Close,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 59 |     Submit(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 60 |     Cancel,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 61 |     Custom(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModalContentAction` 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: methods `with_config`, `non_closable`, `content`, and `content_mut` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/modal_component.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl<T: ModalContent> ModalComponent<T> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn with_config(mut self, config: ModalConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn non_closable(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn content(&self) -> &T {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn content_mut(&mut self) -> &mut T {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mapping` is never used
[INFO] [stdout]   --> src/commands/migration/ui/components/relationship_renderer.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl RelationshipField {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn with_mapping(mut self, mapping_target: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_field_node` is never used
[INFO] [stdout]    --> src/commands/migration/ui/components/relationship_renderer.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl RelationshipGroup {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn new_field_node(field: RelationshipField) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `render_relationship_field` and `filter_out_relationships` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/relationship_renderer.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl RelationshipRenderer {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] 263 |     /// Create a styled line for a relationship field
[INFO] [stdout] 264 |     pub fn render_relationship_field(field: &RelationshipField) -> Line<'static> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn filter_out_relationships(fields: &[FieldInfo]) -> Vec<FieldInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hover_style` is never read
[INFO] [stdout]  --> src/commands/migration/ui/mouse.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MouseZone {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub hover_style: Option<Style>,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MouseZone` 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: methods `get_hover_style` and `handle_scroll` are never used
[INFO] [stdout]   --> src/commands/migration/ui/mouse.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MouseHandler {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_hover_style(&self, area: Rect) -> Option<Style> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn handle_scroll(&self, x: u16, y: u16, delta: i16) -> Option<MouseAction> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_current_screen` and `get_current_screen_mut` are never used
[INFO] [stdout]   --> src/commands/migration/ui/navigation.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl NavigationManager {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn get_current_screen(&self) -> &dyn Screen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn get_current_screen_mut(&mut self) -> &mut dyn Screen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_title` is never used
[INFO] [stdout]  --> src/commands/migration/ui/screens/base_screen.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Screen {
[INFO] [stdout]   |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn get_title(&self) -> Option<String> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Replace` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/base_screen.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ScreenResult {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Replace(Box<dyn Screen>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ScreenBuilder` is never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/base_screen.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ScreenBuilder {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FocusChanged`, `Exit`, and `Back` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum AppResult {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout]  9 |     Continue,
[INFO] [stdout] 10 |     FocusChanged(FocusedSide),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     Back,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppResult` 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: methods `handle_keyboard`, `get_source_count`, `get_target_count`, `get_title`, `on_enter`, and `on_exit` are never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait ComparisonApp: Send {
[INFO] [stdout]    |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn handle_keyboard(&mut self, key: KeyCode) -> AppResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn get_source_count(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn get_target_count(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn get_title(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn on_enter(&mut self) {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn on_exit(&mut self) {}
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_entity` and `target_entity` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ComparisonData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub source_entity: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub target_entity: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComparisonData` 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: method `switch` is never used
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl FocusedSide {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 8 |     pub fn switch(&self) -> Self {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FocusManager` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FocusManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_focused_side`, `set_focused_side`, `switch_focus`, `is_source_focused`, and `is_target_focused` are never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl FocusManager {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_focused_side(&self) -> FocusedSide {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set_focused_side(&mut self, side: FocusedSide) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn switch_focus(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_source_focused(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_target_focused(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Exact`, `Manual`, and `Prefix` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum MappingType {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 14 |     Exact,    // ✅ Perfect match
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     Manual,   // 🔧 User-defined mapping
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     Prefix,   // 🎯 Prefix-based match
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MappingType` 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 `view_info` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     View {
[INFO] [stdout]    |     ---- field in this variant
[INFO] [stdout] 40 |         name: String,
[INFO] [stdout] 41 |         view_info: ViewInfo,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewNode` 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 `details` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     ViewItem {
[INFO] [stdout]    |     -------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 52 |         details: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewNode` 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 `Filters` and `SortOrders` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum ViewComponentType {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 60 |     Columns,
[INFO] [stdout] 61 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 62 |     SortOrders,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewComponentType` 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 `Filter` and `SortOrder` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum ViewItemType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 85 |     Column,
[INFO] [stdout] 86 |     Filter,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     SortOrder,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewItemType` 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: method `icon` is never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl ViewItemType {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 91 |     pub fn icon(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `form_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Form {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] 109 |         name: String,
[INFO] [stdout] 110 |         form_info: FormInfo,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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 `tab_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Tab {
[INFO] [stdout]     |     --- field in this variant
[INFO] [stdout] 114 |         name: String,
[INFO] [stdout] 115 |         tab_info: FormTab,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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 `section_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Section {
[INFO] [stdout]     |     ------- field in this variant
[INFO] [stdout] 121 |         name: String,
[INFO] [stdout] 122 |         section_info: FormSection,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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: associated function `detect_simple_mappings` is never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:12
[INFO] [stdout]     |
[INFO] [stdout] 407 | impl HierarchyBuilder {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show_comparison_placeholder` is never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_select_screen.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl ComparisonSelectScreen {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn show_comparison_placeholder(&mut self, comparison_name: &str) -> ScreenResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/loading_screen.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Failed(Vec<String>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadingScreenState` 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] 34 -     Failed(Vec<String>),
[INFO] [stdout] 34 +     Failed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source`, `target`, `match_score`, and `is_manual` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Match<T> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 47 |     pub source: T,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 48 |     pub target: Option<T>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 49 |     pub match_score: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 50 |     pub is_manual: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Match` 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 `field_matches`, `view_matches`, and `form_matches` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ComparisonData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub field_matches: Vec<Match<FieldInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub view_matches: Vec<Match<ViewInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 76 |     pub form_matches: Vec<Match<FormInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComparisonData` 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 `hide_matched` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct SharedState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub hide_matched: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharedState` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub enum LoadingState {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 88 |     NotStarted,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 89 |     LoadingSourceFields,
[INFO] [stdout] 90 |     LoadingTargetFields,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     LoadingSourceViews,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     LoadingTargetViews,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 93 |     LoadingSourceForms,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     LoadingTargetForms,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 95 |     ComputingMatches,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 96 |     Complete,
[INFO] [stdout] 97 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadingState` 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: associated items `new`, `has_field_match`, `get_source_field_mapping`, and `get_target_field_mapping` are never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/unified_compare_screen.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl UnifiedCompareScreen {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn new(config: Config, comparison: SavedComparison) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn has_field_match(&self, field_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 569 |     fn get_source_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 |     fn get_target_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `active`, `warning`, `breadcrumb`, and `breadcrumb_separator` are never read
[INFO] [stdout]   --> src/commands/migration/ui/styles.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct AppStyles {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     pub active: Style,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub warning: Style,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 13 |     pub info: Style,
[INFO] [stdout] 14 |     pub breadcrumb: Style,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub breadcrumb_separator: Style,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/config.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn add_field_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_field_mappings(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn remove_field_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn add_prefix_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn get_prefix_mappings(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn remove_prefix_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn list_prefix_mappings(&self) -> &HashMap<String, HashMap<String, String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn save_migration(&mut self, migration: SavedMigration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn get_migration(&self, name: &str) -> Option<&SavedMigration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn list_migrations(&self) -> Vec<&SavedMigration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn remove_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn touch_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn add_comparison_to_migration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub fn remove_comparison_from_migration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_custom` is never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct FieldInfo {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldInfo` 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 `entity_name`, `is_custom`, and `fetch_xml` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ViewInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 17 |     pub name: String,
[INFO] [stdout] 18 |     pub entity_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 19 |     pub view_type: String,
[INFO] [stdout] 20 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 21 |     pub columns: Vec<ViewColumn>,
[INFO] [stdout] 22 |     pub fetch_xml: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewInfo` 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 `width` is never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ViewColumn {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 27 |     pub name: String,
[INFO] [stdout] 28 |     pub width: Option<u32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewColumn` 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 `is_custom` and `state` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct FormInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |     pub state: i32, // 0 = Inactive, 1 = Active
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormInfo` 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 `name` and `entity_name` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct FormStructure {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 45 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 46 |     pub entity_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormStructure` 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 `name`, `visible`, `expanded`, and `order` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FormTab {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 52 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub label: String,
[INFO] [stdout] 54 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 55 |     pub expanded: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 56 |     pub order: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormTab` 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 `name`, `visible`, `columns`, and `order` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FormSection {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 62 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 63 |     pub label: String,
[INFO] [stdout] 64 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 65 |     pub columns: i32, // Number of columns in the section
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 66 |     pub order: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormSection` 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 `label`, `visible`, `readonly`, `row`, and `column` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FormField {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 72 |     pub logical_name: String,
[INFO] [stdout] 73 |     pub label: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 74 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 75 |     pub required_level: String, // None, ApplicationRequired, SystemRequired
[INFO] [stdout] 76 |     pub readonly: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 77 |     pub row: i32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 78 |     pub column: i32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormField` 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: struct `ViewStructure` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct ViewStructure {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewColumnDetail` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub struct ViewColumnDetail {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewFilter` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct ViewFilter {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewSortOrder` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:300:12
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct ViewSortOrder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FetchXmlDetails` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub struct FetchXmlDetails {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_view_structure` is never used
[INFO] [stdout]    --> src/dynamics/metadata.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn parse_view_structure(view_info: &ViewInfo) -> Result<ViewStructure> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/commands/migration/ui/components/footer_component.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn build_footer_text(&self) -> Text {
[INFO] [stdout]     |                          ^^^^^     ---- the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn build_footer_text(&self) -> Text<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn build_list_items(&self) -> Vec<ListItem> {
[INFO] [stdout]     |                         ^^^^^         -------- the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn build_list_items(&self) -> Vec<ListItem<'_>> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s
[INFO] running `Command { std: "docker" "inspect" "13100810e5573cf8a53e8c675b946ab2b7c9d4b192946800109aea3f277735fb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "13100810e5573cf8a53e8c675b946ab2b7c9d4b192946800109aea3f277735fb", kill_on_drop: false }`
[INFO] [stdout] 13100810e5573cf8a53e8c675b946ab2b7c9d4b192946800109aea3f277735fb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 18f486bb1279b0bddf3ec55a0d153bde3faeb4bf3e4e0ef29c08a39a81a535a6
[INFO] running `Command { std: "docker" "start" "-a" "18f486bb1279b0bddf3ec55a0d153bde3faeb4bf3e4e0ef29c08a39a81a535a6", kill_on_drop: false }`
[INFO] [stderr]    Compiling dynamics-cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `relationship_renderer::*`
[INFO] [stdout]   --> src/commands/migration/ui/components/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use relationship_renderer::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldDisplayInfo`
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             FieldDisplayInfo, FieldMapping, MappingSource, MatchState,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FieldMapping`, `MappingSource`, and `MatchState`
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:52:76
[INFO] [stdout]    |
[INFO] [stdout] 52 |         use crate::commands::migration::ui::components::{FieldDisplayInfo, FieldMapping, MappingSource, MatchState};
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fields_app::FieldNode`
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use fields_app::FieldNode;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComparisonData`, `DataConverter`, `FieldsConverter`, `FormsConverter`, `RelationshipsConverter`, and `ViewsConverter`
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...{ComparisonApp, ComparisonData, DataConverter, FieldsConverter, ViewsConverter, FormsConverter, RelationshipsConverter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]   --> src/commands/migration/ui/app.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let area = f.size();
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:171:51
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn handle_mouse(&self, event: MouseEvent, area: Rect) -> ListAction {
[INFO] [stdout]     |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_nodes`
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:35
[INFO] [stdout]     |
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_nodes`
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:66
[INFO] [stdout]     |
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1090:9
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1091:9
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1110:9
[INFO] [stdout]      |
[INFO] [stdout] 1110 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1111:9
[INFO] [stdout]      |
[INFO] [stdout] 1111 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1130:9
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1131:9
[INFO] [stdout]      |
[INFO] [stdout] 1131 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/commands/migration/ui/app.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct MigrationUI {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 20 |     navigation: NavigationManager,
[INFO] [stdout] 21 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `all_completed` is never used
[INFO] [stdout]   --> src/commands/migration/ui/components/fetch_progress.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl FetchProgress {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn all_completed(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TypeMismatch` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum MatchState {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 20 |     FullMatch,    // Green - field and type match
[INFO] [stdout] 21 |     TypeMismatch, // Yellow - field matches but type differs
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MatchState` 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: variant `Relationship` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum FieldType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 47 |     Relationship {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldType` 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: associated functions `new_relationship` and `relationship_with_mapping` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl FieldDisplayInfo {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn new_relationship(field: FieldInfo, target_entity: String, relationship_type: RelationshipType) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn relationship_with_mapping(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `render_field_string` is never used
[INFO] [stdout]    --> src/commands/migration/ui/components/field_renderer.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 124 | impl FieldRenderer {
[INFO] [stdout]     | ------------------ associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 217 |     pub fn render_field_string(field_info: &FieldDisplayInfo) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `style` is never read
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct FooterComponent {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 10 |     actions: Vec<FooterAction>,
[INFO] [stdout] 11 |     style: FooterStyle,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Compact` and `Help` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum FooterStyle {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 22 |     Standard,
[INFO] [stdout] 23 |     Compact,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     Help,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FooterStyle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_action`, `add_navigation_actions`, `add_quit_action`, and `with_style` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl FooterComponent {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn add_action(mut self, key: &str, description: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn add_navigation_actions(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn add_quit_action(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn with_style(mut self, style: FooterStyle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]   --> src/commands/migration/ui/components/hierarchy_tree.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct TreeNode {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub level: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeNode` 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: associated functions `from_arc` and `from_arc_with_children` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/hierarchy_tree.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl TreeNode {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn from_arc(data: Arc<dyn HierarchyNode>, level: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn from_arc_with_children(data: Arc<dyn HierarchyNode>, children: Vec<TreeNode>, level: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `update_node_expansion`, `get_flattened_count`, `flatten_node_recursive`, `get_selected`, and `render_node_line` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/hierarchy_tree.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl HierarchyTree {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn update_node_expansion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_flattened_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn flatten_node_recursive(&mut self, node: &TreeNode, level: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn get_selected(&mut self) -> Option<&TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn render_node_line(node: &TreeNode, level: usize) -> Line<'static> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `create_new_label`, `enable_scroll`, and `highlight_selected` are never read
[INFO] [stdout]   --> src/commands/migration/ui/components/list_component.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ListConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub create_new_label: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub enable_mouse: bool,
[INFO] [stdout] 29 |     pub enable_scroll: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub show_indices: bool,
[INFO] [stdout] 31 |     pub highlight_selected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_title`, `with_create_new`, `with_mouse_support`, `with_indices`, `selected`, and `update_items` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<T: Display> ListComponent<T> {
[INFO] [stdout]     | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn with_title(mut self, title: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn with_create_new(mut self, key: char, label: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn with_mouse_support(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_indices(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn selected(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn update_items(&mut self, items: Vec<T>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Close`, `Submit`, `Cancel`, and `Custom` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/modal_component.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum ModalContentAction {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] 58 |     Close,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 59 |     Submit(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 60 |     Cancel,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 61 |     Custom(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModalContentAction` 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: methods `with_config`, `non_closable`, `content`, and `content_mut` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/modal_component.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl<T: ModalContent> ModalComponent<T> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn with_config(mut self, config: ModalConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn non_closable(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn content(&self) -> &T {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn content_mut(&mut self) -> &mut T {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mapping` is never used
[INFO] [stdout]   --> src/commands/migration/ui/components/relationship_renderer.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl RelationshipField {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn with_mapping(mut self, mapping_target: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_field_node` is never used
[INFO] [stdout]    --> src/commands/migration/ui/components/relationship_renderer.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl RelationshipGroup {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn new_field_node(field: RelationshipField) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `render_relationship_field` and `filter_out_relationships` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/relationship_renderer.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl RelationshipRenderer {
[INFO] [stdout]     | ------------------------- associated functions in this implementation
[INFO] [stdout] 263 |     /// Create a styled line for a relationship field
[INFO] [stdout] 264 |     pub fn render_relationship_field(field: &RelationshipField) -> Line<'static> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 303 |     pub fn filter_out_relationships(fields: &[FieldInfo]) -> Vec<FieldInfo> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hover_style` is never read
[INFO] [stdout]  --> src/commands/migration/ui/mouse.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MouseZone {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub hover_style: Option<Style>,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MouseZone` 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: methods `get_hover_style` and `handle_scroll` are never used
[INFO] [stdout]   --> src/commands/migration/ui/mouse.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MouseHandler {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_hover_style(&self, area: Rect) -> Option<Style> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn handle_scroll(&self, x: u16, y: u16, delta: i16) -> Option<MouseAction> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_current_screen` and `get_current_screen_mut` are never used
[INFO] [stdout]   --> src/commands/migration/ui/navigation.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl NavigationManager {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn get_current_screen(&self) -> &dyn Screen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn get_current_screen_mut(&mut self) -> &mut dyn Screen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_title` is never used
[INFO] [stdout]  --> src/commands/migration/ui/screens/base_screen.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Screen {
[INFO] [stdout]   |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn get_title(&self) -> Option<String> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Replace` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/base_screen.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ScreenResult {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Replace(Box<dyn Screen>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ScreenBuilder` is never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/base_screen.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ScreenBuilder {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FocusChanged`, `Exit`, and `Back` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum AppResult {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout]  9 |     Continue,
[INFO] [stdout] 10 |     FocusChanged(FocusedSide),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     Back,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppResult` 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: methods `handle_keyboard`, `get_source_count`, `get_target_count`, `get_title`, `on_enter`, and `on_exit` are never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait ComparisonApp: Send {
[INFO] [stdout]    |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn handle_keyboard(&mut self, key: KeyCode) -> AppResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn get_source_count(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn get_target_count(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn get_title(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn on_enter(&mut self) {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn on_exit(&mut self) {}
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_entity` and `target_entity` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ComparisonData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub source_entity: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub target_entity: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComparisonData` 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: method `switch` is never used
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl FocusedSide {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 8 |     pub fn switch(&self) -> Self {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FocusManager` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FocusManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_focused_side`, `set_focused_side`, `switch_focus`, `is_source_focused`, and `is_target_focused` are never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl FocusManager {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_focused_side(&self) -> FocusedSide {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set_focused_side(&mut self, side: FocusedSide) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn switch_focus(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_source_focused(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_target_focused(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Exact`, `Manual`, and `Prefix` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum MappingType {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 14 |     Exact,    // ✅ Perfect match
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     Manual,   // 🔧 User-defined mapping
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     Prefix,   // 🎯 Prefix-based match
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MappingType` 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 `view_info` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     View {
[INFO] [stdout]    |     ---- field in this variant
[INFO] [stdout] 40 |         name: String,
[INFO] [stdout] 41 |         view_info: ViewInfo,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewNode` 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 `details` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     ViewItem {
[INFO] [stdout]    |     -------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 52 |         details: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewNode` 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 `Filters` and `SortOrders` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum ViewComponentType {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 60 |     Columns,
[INFO] [stdout] 61 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 62 |     SortOrders,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewComponentType` 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 `Filter` and `SortOrder` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum ViewItemType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 85 |     Column,
[INFO] [stdout] 86 |     Filter,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     SortOrder,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewItemType` 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: method `icon` is never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl ViewItemType {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 91 |     pub fn icon(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `form_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Form {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] 109 |         name: String,
[INFO] [stdout] 110 |         form_info: FormInfo,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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 `tab_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Tab {
[INFO] [stdout]     |     --- field in this variant
[INFO] [stdout] 114 |         name: String,
[INFO] [stdout] 115 |         tab_info: FormTab,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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 `section_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Section {
[INFO] [stdout]     |     ------- field in this variant
[INFO] [stdout] 121 |         name: String,
[INFO] [stdout] 122 |         section_info: FormSection,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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: associated function `detect_simple_mappings` is never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:12
[INFO] [stdout]     |
[INFO] [stdout] 407 | impl HierarchyBuilder {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show_comparison_placeholder` is never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_select_screen.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl ComparisonSelectScreen {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn show_comparison_placeholder(&mut self, comparison_name: &str) -> ScreenResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/loading_screen.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Failed(Vec<String>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadingScreenState` 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] 34 -     Failed(Vec<String>),
[INFO] [stdout] 34 +     Failed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source`, `target`, `match_score`, and `is_manual` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Match<T> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 47 |     pub source: T,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 48 |     pub target: Option<T>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 49 |     pub match_score: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 50 |     pub is_manual: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Match` 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 `field_matches`, `view_matches`, and `form_matches` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ComparisonData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub field_matches: Vec<Match<FieldInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub view_matches: Vec<Match<ViewInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 76 |     pub form_matches: Vec<Match<FormInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComparisonData` 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 `hide_matched` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct SharedState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub hide_matched: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharedState` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub enum LoadingState {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 88 |     NotStarted,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 89 |     LoadingSourceFields,
[INFO] [stdout] 90 |     LoadingTargetFields,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     LoadingSourceViews,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     LoadingTargetViews,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 93 |     LoadingSourceForms,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     LoadingTargetForms,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 95 |     ComputingMatches,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 96 |     Complete,
[INFO] [stdout] 97 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadingState` 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: associated items `new`, `has_field_match`, `get_source_field_mapping`, and `get_target_field_mapping` are never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/unified_compare_screen.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl UnifiedCompareScreen {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn new(config: Config, comparison: SavedComparison) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn has_field_match(&self, field_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 569 |     fn get_source_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 |     fn get_target_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `active`, `warning`, `breadcrumb`, and `breadcrumb_separator` are never read
[INFO] [stdout]   --> src/commands/migration/ui/styles.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct AppStyles {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     pub active: Style,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub warning: Style,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 13 |     pub info: Style,
[INFO] [stdout] 14 |     pub breadcrumb: Style,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub breadcrumb_separator: Style,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/config.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn add_field_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_field_mappings(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn remove_field_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn add_prefix_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn get_prefix_mappings(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn remove_prefix_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn list_prefix_mappings(&self) -> &HashMap<String, HashMap<String, String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn save_migration(&mut self, migration: SavedMigration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn get_migration(&self, name: &str) -> Option<&SavedMigration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn list_migrations(&self) -> Vec<&SavedMigration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn remove_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn touch_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn add_comparison_to_migration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub fn remove_comparison_from_migration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_custom` is never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct FieldInfo {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldInfo` 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 `entity_name`, `is_custom`, and `fetch_xml` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ViewInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 17 |     pub name: String,
[INFO] [stdout] 18 |     pub entity_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 19 |     pub view_type: String,
[INFO] [stdout] 20 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 21 |     pub columns: Vec<ViewColumn>,
[INFO] [stdout] 22 |     pub fetch_xml: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewInfo` 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 `width` is never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ViewColumn {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 27 |     pub name: String,
[INFO] [stdout] 28 |     pub width: Option<u32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewColumn` 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 `is_custom` and `state` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct FormInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |     pub state: i32, // 0 = Inactive, 1 = Active
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormInfo` 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 `name` and `entity_name` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct FormStructure {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 45 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 46 |     pub entity_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormStructure` 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 `name`, `visible`, `expanded`, and `order` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FormTab {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 52 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub label: String,
[INFO] [stdout] 54 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 55 |     pub expanded: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 56 |     pub order: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormTab` 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 `name`, `visible`, `columns`, and `order` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FormSection {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 62 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 63 |     pub label: String,
[INFO] [stdout] 64 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 65 |     pub columns: i32, // Number of columns in the section
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 66 |     pub order: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormSection` 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 `label`, `visible`, `readonly`, `row`, and `column` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FormField {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 72 |     pub logical_name: String,
[INFO] [stdout] 73 |     pub label: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 74 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 75 |     pub required_level: String, // None, ApplicationRequired, SystemRequired
[INFO] [stdout] 76 |     pub readonly: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 77 |     pub row: i32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 78 |     pub column: i32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormField` 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: struct `ViewStructure` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct ViewStructure {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewColumnDetail` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub struct ViewColumnDetail {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewFilter` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct ViewFilter {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewSortOrder` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:300:12
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct ViewSortOrder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FetchXmlDetails` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub struct FetchXmlDetails {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_view_structure` is never used
[INFO] [stdout]    --> src/dynamics/metadata.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn parse_view_structure(view_info: &ViewInfo) -> Result<ViewStructure> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/commands/migration/ui/components/footer_component.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn build_footer_text(&self) -> Text {
[INFO] [stdout]     |                          ^^^^^     ---- the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn build_footer_text(&self) -> Text<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn build_list_items(&self) -> Vec<ListItem> {
[INFO] [stdout]     |                         ^^^^^         -------- the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn build_list_items(&self) -> Vec<ListItem<'_>> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `relationship_renderer::*`
[INFO] [stdout]   --> src/commands/migration/ui/components/mod.rs:14:9
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub use relationship_renderer::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FieldDisplayInfo`
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             FieldDisplayInfo, FieldMapping, MappingSource, MatchState,
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FieldMapping`, `MappingSource`, and `MatchState`
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:52:76
[INFO] [stdout]    |
[INFO] [stdout] 52 |         use crate::commands::migration::ui::components::{FieldDisplayInfo, FieldMapping, MappingSource, MatchState};
[INFO] [stdout]    |                                                                            ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fields_app::FieldNode`
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:6:9
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub use fields_app::FieldNode;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ComparisonData`, `DataConverter`, `FieldsConverter`, `FormsConverter`, `RelationshipsConverter`, and `ViewsConverter`
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:7:43
[INFO] [stdout]   |
[INFO] [stdout] 7 | ...{ComparisonApp, ComparisonData, DataConverter, FieldsConverter, ViewsConverter, FormsConverter, RelationshipsConverter};
[INFO] [stdout]   |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stdout]   --> src/commands/migration/ui/app.rs:64:30
[INFO] [stdout]    |
[INFO] [stdout] 64 |                 let area = f.size();
[INFO] [stdout]    |                              ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `area`
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:171:51
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub fn handle_mouse(&self, event: MouseEvent, area: Rect) -> ListAction {
[INFO] [stdout]     |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_nodes`
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:35
[INFO] [stdout]     |
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_nodes`
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:66
[INFO] [stdout]     |
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |                                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_nodes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1090:9
[INFO] [stdout]      |
[INFO] [stdout] 1090 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1091:9
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1110:9
[INFO] [stdout]      |
[INFO] [stdout] 1110 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1111:9
[INFO] [stdout]      |
[INFO] [stdout] 1111 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `source_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1130:9
[INFO] [stdout]      |
[INFO] [stdout] 1130 |         source_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `target_border_style`
[INFO] [stdout]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1131:9
[INFO] [stdout]      |
[INFO] [stdout] 1131 |         target_border_style: ratatui::style::Style,
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/commands/migration/ui/app.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct MigrationUI {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] 20 |     navigation: NavigationManager,
[INFO] [stdout] 21 |     config: Config,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `all_completed` is never used
[INFO] [stdout]   --> src/commands/migration/ui/components/fetch_progress.rs:40:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl FetchProgress {
[INFO] [stdout]    | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn all_completed(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `TypeMismatch` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub enum MatchState {
[INFO] [stdout]    |          ---------- variant in this enum
[INFO] [stdout] 20 |     FullMatch,    // Green - field and type match
[INFO] [stdout] 21 |     TypeMismatch, // Yellow - field matches but type differs
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MatchState` 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: variant `Relationship` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub enum FieldType {
[INFO] [stdout]    |          --------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 47 |     Relationship {
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldType` 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: associated functions `new_relationship` and `relationship_with_mapping` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/field_renderer.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl FieldDisplayInfo {
[INFO] [stdout]    | --------------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn new_relationship(field: FieldInfo, target_entity: String, relationship_type: RelationshipType) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn relationship_with_mapping(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `style` is never read
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  9 | pub struct FooterComponent {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 10 |     actions: Vec<FooterAction>,
[INFO] [stdout] 11 |     style: FooterStyle,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Compact` and `Help` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub enum FooterStyle {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 22 |     Standard,
[INFO] [stdout] 23 |     Compact,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 24 |     Help,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FooterStyle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `add_action`, `add_navigation_actions`, `add_quit_action`, and `with_style` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/footer_component.rs:35:12
[INFO] [stdout]    |
[INFO] [stdout] 27 | impl FooterComponent {
[INFO] [stdout]    | -------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 35 |     pub fn add_action(mut self, key: &str, description: &str) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn add_navigation_actions(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 74 |     pub fn add_quit_action(mut self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub fn with_style(mut self, style: FooterStyle) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `level` is never read
[INFO] [stdout]   --> src/commands/migration/ui/components/hierarchy_tree.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct TreeNode {
[INFO] [stdout]    |            -------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub level: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `TreeNode` 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: associated functions `from_arc` and `from_arc_with_children` are never used
[INFO] [stdout]   --> src/commands/migration/ui/components/hierarchy_tree.rs:82:12
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl TreeNode {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 82 |     pub fn from_arc(data: Arc<dyn HierarchyNode>, level: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 91 |     pub fn from_arc_with_children(data: Arc<dyn HierarchyNode>, children: Vec<TreeNode>, level: usize) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `update_node_expansion`, `get_flattened_count`, `flatten_node_recursive`, `get_selected`, and `render_node_line` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/hierarchy_tree.rs:172:8
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl HierarchyTree {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn update_node_expansion(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn get_flattened_count(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 233 |     fn flatten_node_recursive(&mut self, node: &TreeNode, level: usize) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 284 |     pub fn get_selected(&mut self) -> Option<&TreeNode> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn render_node_line(node: &TreeNode, level: usize) -> Line<'static> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `create_new_label`, `enable_scroll`, and `highlight_selected` are never read
[INFO] [stdout]   --> src/commands/migration/ui/components/list_component.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ListConfig {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub create_new_label: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     pub enable_mouse: bool,
[INFO] [stdout] 29 |     pub enable_scroll: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 30 |     pub show_indices: bool,
[INFO] [stdout] 31 |     pub highlight_selected: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `with_title`, `with_create_new`, `with_mouse_support`, `with_indices`, `selected`, and `update_items` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  56 | impl<T: Display> ListComponent<T> {
[INFO] [stdout]     | --------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn with_title(mut self, title: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn with_create_new(mut self, key: char, label: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn with_mouse_support(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn with_indices(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 211 |     pub fn selected(&self) -> Option<usize> {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 289 |     pub fn update_items(&mut self, items: Vec<T>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Close`, `Submit`, `Cancel`, and `Custom` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/components/modal_component.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub enum ModalContentAction {
[INFO] [stdout]    |          ------------------ variants in this enum
[INFO] [stdout] 58 |     Close,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 59 |     Submit(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 60 |     Cancel,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 61 |     Custom(String),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ModalContentAction` 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: methods `with_config`, `non_closable`, `content`, and `content_mut` are never used
[INFO] [stdout]    --> src/commands/migration/ui/components/modal_component.rs:78:12
[INFO] [stdout]     |
[INFO] [stdout]  65 | impl<T: ModalContent> ModalComponent<T> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn with_config(mut self, config: ModalConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn non_closable(mut self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn content(&self) -> &T {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 200 |     pub fn content_mut(&mut self) -> &mut T {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `with_mapping` is never used
[INFO] [stdout]   --> src/commands/migration/ui/components/relationship_renderer.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 74 | impl RelationshipField {
[INFO] [stdout]    | ---------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn with_mapping(mut self, mapping_target: String) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new_field_node` is never used
[INFO] [stdout]    --> src/commands/migration/ui/components/relationship_renderer.rs:160:12
[INFO] [stdout]     |
[INFO] [stdout] 118 | impl RelationshipGroup {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 160 |     pub fn new_field_node(field: RelationshipField) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `render_relationship_field` is never used
[INFO] [stdout]    --> src/commands/migration/ui/components/relationship_renderer.rs:264:12
[INFO] [stdout]     |
[INFO] [stdout] 262 | impl RelationshipRenderer {
[INFO] [stdout]     | ------------------------- associated function in this implementation
[INFO] [stdout] 263 |     /// Create a styled line for a relationship field
[INFO] [stdout] 264 |     pub fn render_relationship_field(field: &RelationshipField) -> Line<'static> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `hover_style` is never read
[INFO] [stdout]  --> src/commands/migration/ui/mouse.rs:7:9
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct MouseZone {
[INFO] [stdout]   |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     pub hover_style: Option<Style>,
[INFO] [stdout]   |         ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `MouseZone` 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: methods `get_hover_style` and `handle_scroll` are never used
[INFO] [stdout]   --> src/commands/migration/ui/mouse.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl MouseHandler {
[INFO] [stdout]    | ----------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn get_hover_style(&self, area: Rect) -> Option<Style> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn handle_scroll(&self, x: u16, y: u16, delta: i16) -> Option<MouseAction> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_current_screen` and `get_current_screen_mut` are never used
[INFO] [stdout]   --> src/commands/migration/ui/navigation.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 16 | impl NavigationManager {
[INFO] [stdout]    | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 94 |     pub fn get_current_screen(&self) -> &dyn Screen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn get_current_screen_mut(&mut self) -> &mut dyn Screen {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_title` is never used
[INFO] [stdout]  --> src/commands/migration/ui/screens/base_screen.rs:9:8
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub trait Screen {
[INFO] [stdout]   |           ------ method in this trait
[INFO] [stdout] ...
[INFO] [stdout] 9 |     fn get_title(&self) -> Option<String> {
[INFO] [stdout]   |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Replace` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/base_screen.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub enum ScreenResult {
[INFO] [stdout]    |          ------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 27 |     Replace(Box<dyn Screen>),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ScreenBuilder` is never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/base_screen.rs:31:11
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub trait ScreenBuilder {
[INFO] [stdout]    |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `FocusChanged`, `Exit`, and `Back` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub enum AppResult {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout]  9 |     Continue,
[INFO] [stdout] 10 |     FocusChanged(FocusedSide),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 11 |     Exit,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 12 |     Back,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AppResult` 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: methods `handle_keyboard`, `get_source_count`, `get_target_count`, `get_title`, `on_enter`, and `on_exit` are never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:36:8
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub trait ComparisonApp: Send {
[INFO] [stdout]    |           ------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 36 |     fn handle_keyboard(&mut self, key: KeyCode) -> AppResult;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 39 |     fn get_source_count(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     fn get_target_count(&self) -> usize;
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     fn get_title(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn on_enter(&mut self) {}
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     fn on_exit(&mut self) {}
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source_entity` and `target_entity` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:69:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct ComparisonData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub source_entity: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 70 |     pub target_entity: String,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComparisonData` 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: method `switch` is never used
[INFO] [stdout]  --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | impl FocusedSide {
[INFO] [stdout]   | ---------------- method in this implementation
[INFO] [stdout] 8 |     pub fn switch(&self) -> Self {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FocusManager` is never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FocusManager {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `get_focused_side`, `set_focused_side`, `switch_focus`, `is_source_focused`, and `is_target_focused` are never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | impl FocusManager {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 22 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 28 |     pub fn get_focused_side(&self) -> FocusedSide {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 32 |     pub fn set_focused_side(&mut self, side: FocusedSide) {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn switch_focus(&mut self) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     pub fn is_source_focused(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     pub fn is_target_focused(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Exact`, `Manual`, and `Prefix` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum MappingType {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 14 |     Exact,    // ✅ Perfect match
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 15 |     Manual,   // 🔧 User-defined mapping
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 16 |     Prefix,   // 🎯 Prefix-based match
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `MappingType` 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 `view_info` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:41:9
[INFO] [stdout]    |
[INFO] [stdout] 39 |     View {
[INFO] [stdout]    |     ---- field in this variant
[INFO] [stdout] 40 |         name: String,
[INFO] [stdout] 41 |         view_info: ViewInfo,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewNode` 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 `details` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 49 |     ViewItem {
[INFO] [stdout]    |     -------- field in this variant
[INFO] [stdout] ...
[INFO] [stdout] 52 |         details: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewNode` 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 `Filters` and `SortOrders` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub enum ViewComponentType {
[INFO] [stdout]    |          ----------------- variants in this enum
[INFO] [stdout] 60 |     Columns,
[INFO] [stdout] 61 |     Filters,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 62 |     SortOrders,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewComponentType` 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 `Filter` and `SortOrder` are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub enum ViewItemType {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 85 |     Column,
[INFO] [stdout] 86 |     Filter,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 87 |     SortOrder,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewItemType` 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: method `icon` is never used
[INFO] [stdout]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:91:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | impl ViewItemType {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] 91 |     pub fn icon(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `form_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:110:9
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Form {
[INFO] [stdout]     |     ---- field in this variant
[INFO] [stdout] 109 |         name: String,
[INFO] [stdout] 110 |         form_info: FormInfo,
[INFO] [stdout]     |         ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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 `tab_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:115:9
[INFO] [stdout]     |
[INFO] [stdout] 113 |     Tab {
[INFO] [stdout]     |     --- field in this variant
[INFO] [stdout] 114 |         name: String,
[INFO] [stdout] 115 |         tab_info: FormTab,
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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 `section_info` is never read
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:122:9
[INFO] [stdout]     |
[INFO] [stdout] 120 |     Section {
[INFO] [stdout]     |     ------- field in this variant
[INFO] [stdout] 121 |         name: String,
[INFO] [stdout] 122 |         section_info: FormSection,
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `FormNode` 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: associated function `detect_simple_mappings` is never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:12
[INFO] [stdout]     |
[INFO] [stdout] 407 | impl HierarchyBuilder {
[INFO] [stdout]     | --------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `show_comparison_placeholder` is never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/comparison_select_screen.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  43 | impl ComparisonSelectScreen {
[INFO] [stdout]     | --------------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn show_comparison_placeholder(&mut self, comparison_name: &str) -> ScreenResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `0` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/loading_screen.rs:34:12
[INFO] [stdout]    |
[INFO] [stdout] 34 |     Failed(Vec<String>),
[INFO] [stdout]    |     ------ ^^^^^^^^^^^
[INFO] [stdout]    |     |
[INFO] [stdout]    |     field in this variant
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadingScreenState` 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] 34 -     Failed(Vec<String>),
[INFO] [stdout] 34 +     Failed(()),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `source`, `target`, `match_score`, and `is_manual` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub struct Match<T> {
[INFO] [stdout]    |            ----- fields in this struct
[INFO] [stdout] 47 |     pub source: T,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 48 |     pub target: Option<T>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] 49 |     pub match_score: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 50 |     pub is_manual: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Match` 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 `field_matches`, `view_matches`, and `form_matches` are never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub struct ComparisonData {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub field_matches: Vec<Match<FieldInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 75 |     pub view_matches: Vec<Match<ViewInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 76 |     pub form_matches: Vec<Match<FormInfo>>,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ComparisonData` 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 `hide_matched` is never read
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:83:9
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct SharedState {
[INFO] [stdout]    |            ----------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 83 |     pub hide_matched: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SharedState` 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: multiple variants are never constructed
[INFO] [stdout]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 87 | pub enum LoadingState {
[INFO] [stdout]    |          ------------ variants in this enum
[INFO] [stdout] 88 |     NotStarted,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 89 |     LoadingSourceFields,
[INFO] [stdout] 90 |     LoadingTargetFields,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 91 |     LoadingSourceViews,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 92 |     LoadingTargetViews,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 93 |     LoadingSourceForms,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 94 |     LoadingTargetForms,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 95 |     ComputingMatches,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 96 |     Complete,
[INFO] [stdout] 97 |     Error(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `LoadingState` 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: associated items `new`, `has_field_match`, `get_source_field_mapping`, and `get_target_field_mapping` are never used
[INFO] [stdout]    --> src/commands/migration/ui/screens/unified_compare_screen.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 135 | impl UnifiedCompareScreen {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 136 |     pub fn new(config: Config, comparison: SavedComparison) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 535 |     fn has_field_match(&self, field_name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 569 |     fn get_source_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 607 |     fn get_target_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `active`, `warning`, `breadcrumb`, and `breadcrumb_separator` are never read
[INFO] [stdout]   --> src/commands/migration/ui/styles.rs:8:9
[INFO] [stdout]    |
[INFO] [stdout]  3 | pub struct AppStyles {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout]  8 |     pub active: Style,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub warning: Style,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 13 |     pub info: Style,
[INFO] [stdout] 14 |     pub breadcrumb: Style,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 15 |     pub breadcrumb_separator: Style,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/config.rs:248:12
[INFO] [stdout]     |
[INFO] [stdout] 100 | impl Config {
[INFO] [stdout]     | ----------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 248 |     pub fn add_field_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 271 |     pub fn get_field_mappings(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 281 |     pub fn remove_field_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn add_prefix_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 344 |     pub fn get_prefix_mappings(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 354 |     pub fn remove_prefix_mapping(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 389 |     pub fn list_prefix_mappings(&self) -> &HashMap<String, HashMap<String, String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 396 |     pub fn save_migration(&mut self, migration: SavedMigration) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn get_migration(&self, name: &str) -> Option<&SavedMigration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 408 |     pub fn list_migrations(&self) -> Vec<&SavedMigration> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 420 |     pub fn remove_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn touch_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 440 |     pub fn add_comparison_to_migration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     pub fn remove_comparison_from_migration(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `is_custom` is never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout]  8 | pub struct FieldInfo {
[INFO] [stdout]    |            --------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FieldInfo` 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 `entity_name`, `is_custom`, and `fetch_xml` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:18:9
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub struct ViewInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] 17 |     pub name: String,
[INFO] [stdout] 18 |     pub entity_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 19 |     pub view_type: String,
[INFO] [stdout] 20 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 21 |     pub columns: Vec<ViewColumn>,
[INFO] [stdout] 22 |     pub fetch_xml: String,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewInfo` 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 `width` is never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:28:9
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ViewColumn {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] 27 |     pub name: String,
[INFO] [stdout] 28 |     pub width: Option<u32>,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ViewColumn` 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 `is_custom` and `state` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct FormInfo {
[INFO] [stdout]    |            -------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub is_custom: bool,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 38 |     pub state: i32, // 0 = Inactive, 1 = Active
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormInfo` 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 `name` and `entity_name` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:45:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct FormStructure {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 45 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 46 |     pub entity_name: String,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormStructure` 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 `name`, `visible`, `expanded`, and `order` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:52:9
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub struct FormTab {
[INFO] [stdout]    |            ------- fields in this struct
[INFO] [stdout] 52 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 53 |     pub label: String,
[INFO] [stdout] 54 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 55 |     pub expanded: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 56 |     pub order: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormTab` 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 `name`, `visible`, `columns`, and `order` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:62:9
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct FormSection {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 62 |     pub name: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 63 |     pub label: String,
[INFO] [stdout] 64 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 65 |     pub columns: i32, // Number of columns in the section
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 66 |     pub order: i32,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormSection` 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 `label`, `visible`, `readonly`, `row`, and `column` are never read
[INFO] [stdout]   --> src/dynamics/metadata.rs:73:9
[INFO] [stdout]    |
[INFO] [stdout] 71 | pub struct FormField {
[INFO] [stdout]    |            --------- fields in this struct
[INFO] [stdout] 72 |     pub logical_name: String,
[INFO] [stdout] 73 |     pub label: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 74 |     pub visible: bool,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 75 |     pub required_level: String, // None, ApplicationRequired, SystemRequired
[INFO] [stdout] 76 |     pub readonly: bool,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 77 |     pub row: i32,
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 78 |     pub column: i32,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FormField` 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: struct `ViewStructure` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct ViewStructure {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewColumnDetail` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:282:12
[INFO] [stdout]     |
[INFO] [stdout] 282 | pub struct ViewColumnDetail {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewFilter` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:292:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | pub struct ViewFilter {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ViewSortOrder` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:300:12
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub struct ViewSortOrder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FetchXmlDetails` is never constructed
[INFO] [stdout]    --> src/dynamics/metadata.rs:307:12
[INFO] [stdout]     |
[INFO] [stdout] 307 | pub struct FetchXmlDetails {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_view_structure` is never used
[INFO] [stdout]    --> src/dynamics/metadata.rs:317:8
[INFO] [stdout]     |
[INFO] [stdout] 317 | pub fn parse_view_structure(view_info: &ViewInfo) -> Result<ViewStructure> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/commands/migration/ui/components/footer_component.rs:103:26
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn build_footer_text(&self) -> Text {
[INFO] [stdout]     |                          ^^^^^     ---- the same lifetime is hidden here
[INFO] [stdout]     |                          |
[INFO] [stdout]     |                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 103 |     fn build_footer_text(&self) -> Text<'_> {
[INFO] [stdout]     |                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/commands/migration/ui/components/list_component.rs:299:25
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn build_list_items(&self) -> Vec<ListItem> {
[INFO] [stdout]     |                         ^^^^^         -------- the same lifetime is hidden here
[INFO] [stdout]     |                         |
[INFO] [stdout]     |                         the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 299 |     fn build_list_items(&self) -> Vec<ListItem<'_>> {
[INFO] [stdout]     |                                               ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.32s
[INFO] running `Command { std: "docker" "inspect" "18f486bb1279b0bddf3ec55a0d153bde3faeb4bf3e4e0ef29c08a39a81a535a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "18f486bb1279b0bddf3ec55a0d153bde3faeb4bf3e4e0ef29c08a39a81a535a6", kill_on_drop: false }`
[INFO] [stdout] 18f486bb1279b0bddf3ec55a0d153bde3faeb4bf3e4e0ef29c08a39a81a535a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+1.90.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 28cfabe1cc467468e0b6417371cb6a4a50def3a3e63875f89ba926772986deec
[INFO] running `Command { std: "docker" "start" "-a" "28cfabe1cc467468e0b6417371cb6a4a50def3a3e63875f89ba926772986deec", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `relationship_renderer::*`
[INFO] [stderr]   --> src/commands/migration/ui/components/mod.rs:14:9
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub use relationship_renderer::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `FieldDisplayInfo`
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:12:13
[INFO] [stderr]    |
[INFO] [stderr] 12 |             FieldDisplayInfo, FieldMapping, MappingSource, MatchState,
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `FieldMapping`, `MappingSource`, and `MatchState`
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchical_app.rs:52:76
[INFO] [stderr]    |
[INFO] [stderr] 52 |         use crate::commands::migration::ui::components::{FieldDisplayInfo, FieldMapping, MappingSource, MatchState};
[INFO] [stderr]    |                                                                            ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fields_app::FieldNode`
[INFO] [stderr]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use fields_app::FieldNode;
[INFO] [stderr]   |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ComparisonData`, `DataConverter`, `FieldsConverter`, `FormsConverter`, `RelationshipsConverter`, and `ViewsConverter`
[INFO] [stderr]  --> src/commands/migration/ui/screens/comparison_apps/mod.rs:7:43
[INFO] [stderr]   |
[INFO] [stderr] 7 | ...{ComparisonApp, ComparisonData, DataConverter, FieldsConverter, ViewsConverter, FormsConverter, RelationshipsConverter};
[INFO] [stderr]   |                    ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated method `ratatui::Frame::<'_>::size`: use .area() as it's the more correct name
[INFO] [stderr]   --> src/commands/migration/ui/app.rs:64:30
[INFO] [stderr]    |
[INFO] [stderr] 64 |                 let area = f.size();
[INFO] [stderr]    |                              ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `area`
[INFO] [stderr]    --> src/commands/migration/ui/components/list_component.rs:171:51
[INFO] [stderr]     |
[INFO] [stderr] 171 |     pub fn handle_mouse(&self, event: MouseEvent, area: Rect) -> ListAction {
[INFO] [stderr]     |                                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_area`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_nodes`
[INFO] [stderr]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:35
[INFO] [stderr]     |
[INFO] [stderr] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stderr]     |                                   ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_nodes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target_nodes`
[INFO] [stderr]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:66
[INFO] [stderr]     |
[INFO] [stderr] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stderr]     |                                                                  ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_nodes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_border_style`
[INFO] [stderr]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1090:9
[INFO] [stderr]      |
[INFO] [stderr] 1090 |         source_border_style: ratatui::style::Style,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target_border_style`
[INFO] [stderr]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1091:9
[INFO] [stderr]      |
[INFO] [stderr] 1091 |         target_border_style: ratatui::style::Style,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_border_style`
[INFO] [stderr]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1110:9
[INFO] [stderr]      |
[INFO] [stderr] 1110 |         source_border_style: ratatui::style::Style,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target_border_style`
[INFO] [stderr]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1111:9
[INFO] [stderr]      |
[INFO] [stderr] 1111 |         target_border_style: ratatui::style::Style,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `source_border_style`
[INFO] [stderr]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1130:9
[INFO] [stderr]      |
[INFO] [stderr] 1130 |         source_border_style: ratatui::style::Style,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_border_style`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `target_border_style`
[INFO] [stderr]     --> src/commands/migration/ui/screens/unified_compare_screen.rs:1131:9
[INFO] [stderr]      |
[INFO] [stderr] 1131 |         target_border_style: ratatui::style::Style,
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_target_border_style`
[INFO] [stderr] 
[INFO] [stderr] warning: field `config` is never read
[INFO] [stderr]   --> src/commands/migration/ui/app.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct MigrationUI {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] 20 |     navigation: NavigationManager,
[INFO] [stderr] 21 |     config: Config,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: method `all_completed` is never used
[INFO] [stderr]   --> src/commands/migration/ui/components/fetch_progress.rs:40:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl FetchProgress {
[INFO] [stderr]    | ------------------ method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn all_completed(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `TypeMismatch` is never constructed
[INFO] [stderr]   --> src/commands/migration/ui/components/field_renderer.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub enum MatchState {
[INFO] [stderr]    |          ---------- variant in this enum
[INFO] [stderr] 20 |     FullMatch,    // Green - field and type match
[INFO] [stderr] 21 |     TypeMismatch, // Yellow - field matches but type differs
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MatchState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Relationship` is never constructed
[INFO] [stderr]   --> src/commands/migration/ui/components/field_renderer.rs:47:5
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub enum FieldType {
[INFO] [stderr]    |          --------- variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 47 |     Relationship {
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FieldType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `new_relationship` and `relationship_with_mapping` are never used
[INFO] [stderr]   --> src/commands/migration/ui/components/field_renderer.rs:82:12
[INFO] [stderr]    |
[INFO] [stderr] 61 | impl FieldDisplayInfo {
[INFO] [stderr]    | --------------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 82 |     pub fn new_relationship(field: FieldInfo, target_entity: String, relationship_type: RelationshipType) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 95 |     pub fn relationship_with_mapping(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `style` is never read
[INFO] [stderr]   --> src/commands/migration/ui/components/footer_component.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  9 | pub struct FooterComponent {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 10 |     actions: Vec<FooterAction>,
[INFO] [stderr] 11 |     style: FooterStyle,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Compact` and `Help` are never constructed
[INFO] [stderr]   --> src/commands/migration/ui/components/footer_component.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub enum FooterStyle {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] 22 |     Standard,
[INFO] [stderr] 23 |     Compact,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 24 |     Help,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FooterStyle` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `add_action`, `add_navigation_actions`, `add_quit_action`, and `with_style` are never used
[INFO] [stderr]   --> src/commands/migration/ui/components/footer_component.rs:35:12
[INFO] [stderr]    |
[INFO] [stderr] 27 | impl FooterComponent {
[INFO] [stderr]    | -------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 35 |     pub fn add_action(mut self, key: &str, description: &str) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn add_navigation_actions(mut self) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 74 |     pub fn add_quit_action(mut self) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub fn with_style(mut self, style: FooterStyle) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `level` is never read
[INFO] [stderr]   --> src/commands/migration/ui/components/hierarchy_tree.rs:60:9
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct TreeNode {
[INFO] [stderr]    |            -------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 60 |     pub level: usize,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `TreeNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `from_arc` and `from_arc_with_children` are never used
[INFO] [stderr]   --> src/commands/migration/ui/components/hierarchy_tree.rs:82:12
[INFO] [stderr]    |
[INFO] [stderr] 63 | impl TreeNode {
[INFO] [stderr]    | ------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 82 |     pub fn from_arc(data: Arc<dyn HierarchyNode>, level: usize) -> Self {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 91 |     pub fn from_arc_with_children(data: Arc<dyn HierarchyNode>, children: Vec<TreeNode>, level: usize) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `update_node_expansion`, `get_flattened_count`, `flatten_node_recursive`, `get_selected`, and `render_node_line` are never used
[INFO] [stderr]    --> src/commands/migration/ui/components/hierarchy_tree.rs:172:8
[INFO] [stderr]     |
[INFO] [stderr] 126 | impl HierarchyTree {
[INFO] [stderr]     | ------------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 172 |     fn update_node_expansion(
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 190 |     pub fn get_flattened_count(&self) -> usize {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 233 |     fn flatten_node_recursive(&mut self, node: &TreeNode, level: usize) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 284 |     pub fn get_selected(&mut self) -> Option<&TreeNode> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 319 |     pub fn render_node_line(node: &TreeNode, level: usize) -> Line<'static> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `create_new_label`, `enable_scroll`, and `highlight_selected` are never read
[INFO] [stderr]   --> src/commands/migration/ui/components/list_component.rs:27:9
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct ListConfig {
[INFO] [stderr]    |            ---------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 27 |     pub create_new_label: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 28 |     pub enable_mouse: bool,
[INFO] [stderr] 29 |     pub enable_scroll: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 30 |     pub show_indices: bool,
[INFO] [stderr] 31 |     pub highlight_selected: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_title`, `with_create_new`, `with_mouse_support`, `with_indices`, `selected`, and `update_items` are never used
[INFO] [stderr]    --> src/commands/migration/ui/components/list_component.rs:72:12
[INFO] [stderr]     |
[INFO] [stderr]  56 | impl<T: Display> ListComponent<T> {
[INFO] [stderr]     | --------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  72 |     pub fn with_title(mut self, title: String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  77 |     pub fn with_create_new(mut self, key: char, label: String) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  84 |     pub fn with_mouse_support(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  89 |     pub fn with_indices(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 211 |     pub fn selected(&self) -> Option<usize> {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 289 |     pub fn update_items(&mut self, items: Vec<T>) {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Close`, `Submit`, `Cancel`, and `Custom` are never constructed
[INFO] [stderr]   --> src/commands/migration/ui/components/modal_component.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 57 | pub enum ModalContentAction {
[INFO] [stderr]    |          ------------------ variants in this enum
[INFO] [stderr] 58 |     Close,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 59 |     Submit(String),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 60 |     Cancel,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 61 |     Custom(String),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ModalContentAction` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `with_config`, `non_closable`, `content`, and `content_mut` are never used
[INFO] [stderr]    --> src/commands/migration/ui/components/modal_component.rs:78:12
[INFO] [stderr]     |
[INFO] [stderr]  65 | impl<T: ModalContent> ModalComponent<T> {
[INFO] [stderr]     | --------------------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  78 |     pub fn with_config(mut self, config: ModalConfig) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  89 |     pub fn non_closable(mut self) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 196 |     pub fn content(&self) -> &T {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 200 |     pub fn content_mut(&mut self) -> &mut T {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `with_mapping` is never used
[INFO] [stderr]   --> src/commands/migration/ui/components/relationship_renderer.rs:89:12
[INFO] [stderr]    |
[INFO] [stderr] 74 | impl RelationshipField {
[INFO] [stderr]    | ---------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub fn with_mapping(mut self, mapping_target: String) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new_field_node` is never used
[INFO] [stderr]    --> src/commands/migration/ui/components/relationship_renderer.rs:160:12
[INFO] [stderr]     |
[INFO] [stderr] 118 | impl RelationshipGroup {
[INFO] [stderr]     | ---------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 160 |     pub fn new_field_node(field: RelationshipField) -> Self {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `render_relationship_field` is never used
[INFO] [stderr]    --> src/commands/migration/ui/components/relationship_renderer.rs:264:12
[INFO] [stderr]     |
[INFO] [stderr] 262 | impl RelationshipRenderer {
[INFO] [stderr]     | ------------------------- associated function in this implementation
[INFO] [stderr] 263 |     /// Create a styled line for a relationship field
[INFO] [stderr] 264 |     pub fn render_relationship_field(field: &RelationshipField) -> Line<'static> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `hover_style` is never read
[INFO] [stderr]  --> src/commands/migration/ui/mouse.rs:7:9
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct MouseZone {
[INFO] [stderr]   |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 7 |     pub hover_style: Option<Style>,
[INFO] [stderr]   |         ^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `MouseZone` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_hover_style` and `handle_scroll` are never used
[INFO] [stderr]   --> src/commands/migration/ui/mouse.rs:57:12
[INFO] [stderr]    |
[INFO] [stderr] 20 | impl MouseHandler {
[INFO] [stderr]    | ----------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 57 |     pub fn get_hover_style(&self, area: Rect) -> Option<Style> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn handle_scroll(&self, x: u16, y: u16, delta: i16) -> Option<MouseAction> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_current_screen` and `get_current_screen_mut` are never used
[INFO] [stderr]   --> src/commands/migration/ui/navigation.rs:94:12
[INFO] [stderr]    |
[INFO] [stderr] 16 | impl NavigationManager {
[INFO] [stderr]    | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 94 |     pub fn get_current_screen(&self) -> &dyn Screen {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 98 |     pub fn get_current_screen_mut(&mut self) -> &mut dyn Screen {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `get_title` is never used
[INFO] [stderr]  --> src/commands/migration/ui/screens/base_screen.rs:9:8
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub trait Screen {
[INFO] [stderr]   |           ------ method in this trait
[INFO] [stderr] ...
[INFO] [stderr] 9 |     fn get_title(&self) -> Option<String> {
[INFO] [stderr]   |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variant `Replace` is never constructed
[INFO] [stderr]   --> src/commands/migration/ui/screens/base_screen.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub enum ScreenResult {
[INFO] [stderr]    |          ------------ variant in this enum
[INFO] [stderr] ...
[INFO] [stderr] 27 |     Replace(Box<dyn Screen>),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `ScreenBuilder` is never used
[INFO] [stderr]   --> src/commands/migration/ui/screens/base_screen.rs:31:11
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub trait ScreenBuilder {
[INFO] [stderr]    |           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `FocusChanged`, `Exit`, and `Back` are never constructed
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub enum AppResult {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr]  9 |     Continue,
[INFO] [stderr] 10 |     FocusChanged(FocusedSide),
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 11 |     Exit,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 12 |     Back,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `AppResult` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `handle_keyboard`, `get_source_count`, `get_target_count`, `get_title`, `on_enter`, and `on_exit` are never used
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:36:8
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub trait ComparisonApp: Send {
[INFO] [stderr]    |           ------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 36 |     fn handle_keyboard(&mut self, key: KeyCode) -> AppResult;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 39 |     fn get_source_count(&self) -> usize;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 42 |     fn get_target_count(&self) -> usize;
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 |     fn get_title(&self) -> String;
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 48 |     fn on_enter(&mut self) {}
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 51 |     fn on_exit(&mut self) {}
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source_entity` and `target_entity` are never read
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/common/app_trait.rs:69:9
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub struct ComparisonData {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 69 |     pub source_entity: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] 70 |     pub target_entity: String,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ComparisonData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `switch` is never used
[INFO] [stderr]  --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:8:12
[INFO] [stderr]   |
[INFO] [stderr] 7 | impl FocusedSide {
[INFO] [stderr]   | ---------------- method in this implementation
[INFO] [stderr] 8 |     pub fn switch(&self) -> Self {
[INFO] [stderr]   |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FocusManager` is never constructed
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub struct FocusManager {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `get_focused_side`, `set_focused_side`, `switch_focus`, `is_source_focused`, and `is_target_focused` are never used
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/common/focus_manager.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | impl FocusManager {
[INFO] [stderr]    | ----------------- associated items in this implementation
[INFO] [stderr] 22 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 28 |     pub fn get_focused_side(&self) -> FocusedSide {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 32 |     pub fn set_focused_side(&mut self, side: FocusedSide) {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 36 |     pub fn switch_focus(&mut self) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     pub fn is_source_focused(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     pub fn is_target_focused(&self) -> bool {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Exact`, `Manual`, and `Prefix` are never constructed
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub enum MappingType {
[INFO] [stderr]    |          ----------- variants in this enum
[INFO] [stderr] 14 |     Exact,    // ✅ Perfect match
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 15 |     Manual,   // 🔧 User-defined mapping
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 16 |     Prefix,   // 🎯 Prefix-based match
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `MappingType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `view_info` is never read
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:41:9
[INFO] [stderr]    |
[INFO] [stderr] 39 |     View {
[INFO] [stderr]    |     ---- field in this variant
[INFO] [stderr] 40 |         name: String,
[INFO] [stderr] 41 |         view_info: ViewInfo,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ViewNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `details` is never read
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 49 |     ViewItem {
[INFO] [stderr]    |     -------- field in this variant
[INFO] [stderr] ...
[INFO] [stderr] 52 |         details: String,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ViewNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Filters` and `SortOrders` are never constructed
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 59 | pub enum ViewComponentType {
[INFO] [stderr]    |          ----------------- variants in this enum
[INFO] [stderr] 60 |     Columns,
[INFO] [stderr] 61 |     Filters,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 62 |     SortOrders,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ViewComponentType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Filter` and `SortOrder` are never constructed
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub enum ViewItemType {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] 85 |     Column,
[INFO] [stderr] 86 |     Filter,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 87 |     SortOrder,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ViewItemType` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: method `icon` is never used
[INFO] [stderr]   --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:91:12
[INFO] [stderr]    |
[INFO] [stderr] 90 | impl ViewItemType {
[INFO] [stderr]    | ----------------- method in this implementation
[INFO] [stderr] 91 |     pub fn icon(&self) -> &'static str {
[INFO] [stderr]    |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `form_info` is never read
[INFO] [stderr]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:110:9
[INFO] [stderr]     |
[INFO] [stderr] 108 |     Form {
[INFO] [stderr]     |     ---- field in this variant
[INFO] [stderr] 109 |         name: String,
[INFO] [stderr] 110 |         form_info: FormInfo,
[INFO] [stderr]     |         ^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FormNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `tab_info` is never read
[INFO] [stderr]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:115:9
[INFO] [stderr]     |
[INFO] [stderr] 113 |     Tab {
[INFO] [stderr]     |     --- field in this variant
[INFO] [stderr] 114 |         name: String,
[INFO] [stderr] 115 |         tab_info: FormTab,
[INFO] [stderr]     |         ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FormNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `section_info` is never read
[INFO] [stderr]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:122:9
[INFO] [stderr]     |
[INFO] [stderr] 120 |     Section {
[INFO] [stderr]     |     ------- field in this variant
[INFO] [stderr] 121 |         name: String,
[INFO] [stderr] 122 |         section_info: FormSection,
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `FormNode` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `detect_simple_mappings` is never used
[INFO] [stderr]    --> src/commands/migration/ui/screens/comparison_apps/hierarchy_nodes.rs:561:12
[INFO] [stderr]     |
[INFO] [stderr] 407 | impl HierarchyBuilder {
[INFO] [stderr]     | --------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 561 |     pub fn detect_simple_mappings(source_nodes: &mut [ViewNode], target_nodes: &[ViewNode]) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `show_comparison_placeholder` is never used
[INFO] [stderr]    --> src/commands/migration/ui/screens/comparison_select_screen.rs:109:8
[INFO] [stderr]     |
[INFO] [stderr]  43 | impl ComparisonSelectScreen {
[INFO] [stderr]     | --------------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 109 |     fn show_comparison_placeholder(&mut self, comparison_name: &str) -> ScreenResult {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `0` is never read
[INFO] [stderr]   --> src/commands/migration/ui/screens/loading_screen.rs:34:12
[INFO] [stderr]    |
[INFO] [stderr] 34 |     Failed(Vec<String>),
[INFO] [stderr]    |     ------ ^^^^^^^^^^^
[INFO] [stderr]    |     |
[INFO] [stderr]    |     field in this variant
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LoadingScreenState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
[INFO] [stderr]    |
[INFO] [stderr] 34 -     Failed(Vec<String>),
[INFO] [stderr] 34 +     Failed(()),
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: fields `source`, `target`, `match_score`, and `is_manual` are never read
[INFO] [stderr]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 46 | pub struct Match<T> {
[INFO] [stderr]    |            ----- fields in this struct
[INFO] [stderr] 47 |     pub source: T,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 48 |     pub target: Option<T>,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] 49 |     pub match_score: f64,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 50 |     pub is_manual: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Match` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `field_matches`, `view_matches`, and `form_matches` are never read
[INFO] [stderr]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 54 | pub struct ComparisonData {
[INFO] [stderr]    |            -------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 72 |     pub field_matches: Vec<Match<FieldInfo>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 75 |     pub view_matches: Vec<Match<ViewInfo>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 76 |     pub form_matches: Vec<Match<FormInfo>>,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ComparisonData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `hide_matched` is never read
[INFO] [stderr]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:83:9
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub struct SharedState {
[INFO] [stderr]    |            ----------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 83 |     pub hide_matched: bool,
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `SharedState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: multiple variants are never constructed
[INFO] [stderr]   --> src/commands/migration/ui/screens/unified_compare_screen.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 87 | pub enum LoadingState {
[INFO] [stderr]    |          ------------ variants in this enum
[INFO] [stderr] 88 |     NotStarted,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 89 |     LoadingSourceFields,
[INFO] [stderr] 90 |     LoadingTargetFields,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 91 |     LoadingSourceViews,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 92 |     LoadingTargetViews,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 93 |     LoadingSourceForms,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 94 |     LoadingTargetForms,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 95 |     ComputingMatches,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 96 |     Complete,
[INFO] [stderr] 97 |     Error(String),
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `LoadingState` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `has_field_match`, `get_source_field_mapping`, and `get_target_field_mapping` are never used
[INFO] [stderr]    --> src/commands/migration/ui/screens/unified_compare_screen.rs:136:12
[INFO] [stderr]     |
[INFO] [stderr] 135 | impl UnifiedCompareScreen {
[INFO] [stderr]     | ------------------------- associated items in this implementation
[INFO] [stderr] 136 |     pub fn new(config: Config, comparison: SavedComparison) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 535 |     fn has_field_match(&self, field_name: &str) -> bool {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 569 |     fn get_source_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 607 |     fn get_target_field_mapping(&self, field: &FieldInfo) -> Option<FieldMapping> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `active`, `warning`, `breadcrumb`, and `breadcrumb_separator` are never read
[INFO] [stderr]   --> src/commands/migration/ui/styles.rs:8:9
[INFO] [stderr]    |
[INFO] [stderr]  3 | pub struct AppStyles {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr]  8 |     pub active: Style,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub warning: Style,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 13 |     pub info: Style,
[INFO] [stderr] 14 |     pub breadcrumb: Style,
[INFO] [stderr]    |         ^^^^^^^^^^
[INFO] [stderr] 15 |     pub breadcrumb_separator: Style,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/config.rs:248:12
[INFO] [stderr]     |
[INFO] [stderr] 100 | impl Config {
[INFO] [stderr]     | ----------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 248 |     pub fn add_field_mapping(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 271 |     pub fn get_field_mappings(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 281 |     pub fn remove_field_mapping(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 321 |     pub fn add_prefix_mapping(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 344 |     pub fn get_prefix_mappings(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 354 |     pub fn remove_prefix_mapping(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 389 |     pub fn list_prefix_mappings(&self) -> &HashMap<String, HashMap<String, String>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 396 |     pub fn save_migration(&mut self, migration: SavedMigration) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 403 |     pub fn get_migration(&self, name: &str) -> Option<&SavedMigration> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 408 |     pub fn list_migrations(&self) -> Vec<&SavedMigration> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 420 |     pub fn remove_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 430 |     pub fn touch_migration(&mut self, name: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 440 |     pub fn add_comparison_to_migration(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 459 |     pub fn remove_comparison_from_migration(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `is_custom` is never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr]  8 | pub struct FieldInfo {
[INFO] [stderr]    |            --------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub is_custom: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FieldInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `entity_name`, `is_custom`, and `fetch_xml` are never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:18:9
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub struct ViewInfo {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] 17 |     pub name: String,
[INFO] [stderr] 18 |     pub entity_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 19 |     pub view_type: String,
[INFO] [stderr] 20 |     pub is_custom: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 21 |     pub columns: Vec<ViewColumn>,
[INFO] [stderr] 22 |     pub fetch_xml: String,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ViewInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `width` is never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:28:9
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct ViewColumn {
[INFO] [stderr]    |            ---------- field in this struct
[INFO] [stderr] 27 |     pub name: String,
[INFO] [stderr] 28 |     pub width: Option<u32>,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ViewColumn` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `is_custom` and `state` are never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:37:9
[INFO] [stderr]    |
[INFO] [stderr] 33 | pub struct FormInfo {
[INFO] [stderr]    |            -------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub is_custom: bool,
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 38 |     pub state: i32, // 0 = Inactive, 1 = Active
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FormInfo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name` and `entity_name` are never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:45:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct FormStructure {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 45 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 46 |     pub entity_name: String,
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FormStructure` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `visible`, `expanded`, and `order` are never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:52:9
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub struct FormTab {
[INFO] [stderr]    |            ------- fields in this struct
[INFO] [stderr] 52 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 53 |     pub label: String,
[INFO] [stderr] 54 |     pub visible: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 55 |     pub expanded: bool,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 56 |     pub order: i32,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FormTab` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `name`, `visible`, `columns`, and `order` are never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:62:9
[INFO] [stderr]    |
[INFO] [stderr] 61 | pub struct FormSection {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 62 |     pub name: String,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr] 63 |     pub label: String,
[INFO] [stderr] 64 |     pub visible: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 65 |     pub columns: i32, // Number of columns in the section
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 66 |     pub order: i32,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FormSection` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: fields `label`, `visible`, `readonly`, `row`, and `column` are never read
[INFO] [stderr]   --> src/dynamics/metadata.rs:73:9
[INFO] [stderr]    |
[INFO] [stderr] 71 | pub struct FormField {
[INFO] [stderr]    |            --------- fields in this struct
[INFO] [stderr] 72 |     pub logical_name: String,
[INFO] [stderr] 73 |     pub label: String,
[INFO] [stderr]    |         ^^^^^
[INFO] [stderr] 74 |     pub visible: bool,
[INFO] [stderr]    |         ^^^^^^^
[INFO] [stderr] 75 |     pub required_level: String, // None, ApplicationRequired, SystemRequired
[INFO] [stderr] 76 |     pub readonly: bool,
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 77 |     pub row: i32,
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 78 |     pub column: i32,
[INFO] [stderr]    |         ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `FormField` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ViewStructure` is never constructed
[INFO] [stderr]    --> src/dynamics/metadata.rs:270:12
[INFO] [stderr]     |
[INFO] [stderr] 270 | pub struct ViewStructure {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ViewColumnDetail` is never constructed
[INFO] [stderr]    --> src/dynamics/metadata.rs:282:12
[INFO] [stderr]     |
[INFO] [stderr] 282 | pub struct ViewColumnDetail {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ViewFilter` is never constructed
[INFO] [stderr]    --> src/dynamics/metadata.rs:292:12
[INFO] [stderr]     |
[INFO] [stderr] 292 | pub struct ViewFilter {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ViewSortOrder` is never constructed
[INFO] [stderr]    --> src/dynamics/metadata.rs:300:12
[INFO] [stderr]     |
[INFO] [stderr] 300 | pub struct ViewSortOrder {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FetchXmlDetails` is never constructed
[INFO] [stderr]    --> src/dynamics/metadata.rs:307:12
[INFO] [stderr]     |
[INFO] [stderr] 307 | pub struct FetchXmlDetails {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `parse_view_structure` is never used
[INFO] [stderr]    --> src/dynamics/metadata.rs:317:8
[INFO] [stderr]     |
[INFO] [stderr] 317 | pub fn parse_view_structure(view_info: &ViewInfo) -> Result<ViewStructure> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/commands/migration/ui/components/footer_component.rs:103:26
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn build_footer_text(&self) -> Text {
[INFO] [stderr]     |                          ^^^^^     ---- the same lifetime is hidden here
[INFO] [stderr]     |                          |
[INFO] [stderr]     |                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 103 |     fn build_footer_text(&self) -> Text<'_> {
[INFO] [stderr]     |                                        ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/commands/migration/ui/components/list_component.rs:299:25
[INFO] [stderr]     |
[INFO] [stderr] 299 |     fn build_list_items(&self) -> Vec<ListItem> {
[INFO] [stderr]     |                         ^^^^^         -------- the same lifetime is hidden here
[INFO] [stderr]     |                         |
[INFO] [stderr]     |                         the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 299 |     fn build_list_items(&self) -> Vec<ListItem<'_>> {
[INFO] [stderr]     |                                               ++++
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `render_field_string` is never used
[INFO] [stderr]    --> src/commands/migration/ui/components/field_renderer.rs:217:12
[INFO] [stderr]     |
[INFO] [stderr] 124 | impl FieldRenderer {
[INFO] [stderr]     | ------------------ associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 217 |     pub fn render_field_string(field_info: &FieldDisplayInfo) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `render_relationship_field` and `filter_out_relationships` are never used
[INFO] [stderr]    --> src/commands/migration/ui/components/relationship_renderer.rs:264:12
[INFO] [stderr]     |
[INFO] [stderr] 262 | impl RelationshipRenderer {
[INFO] [stderr]     | ------------------------- associated functions in this implementation
[INFO] [stderr] 263 |     /// Create a styled line for a relationship field
[INFO] [stderr] 264 |     pub fn render_relationship_field(field: &RelationshipField) -> Line<'static> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 303 |     pub fn filter_out_relationships(fields: &[FieldInfo]) -> Vec<FieldInfo> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `dynamics-cli` (bin "dynamics-cli" test) generated 80 warnings (run `cargo fix --bin "dynamics-cli" --tests` to apply 5 suggestions)
[INFO] [stderr] warning: `dynamics-cli` (bin "dynamics-cli") generated 81 warnings (79 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/dynamics_cli-752078eac3f54648)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/dynamics_cli-cafa19147d07cc14)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test commands::migration::ui::components::field_renderer::tests::test_field_display_without_mapping ... ok
[INFO] [stdout] test commands::migration::ui::components::hierarchy_tree::tests::test_hierarchy_tree_basic_operations ... ok
[INFO] [stdout] test commands::migration::ui::components::hierarchy_tree::tests::test_hierarchy_tree_expansion ... ok
[INFO] [stdout] test commands::migration::ui::components::field_renderer::tests::test_field_display_with_exact_mapping ... ok
[INFO] [stdout] test commands::migration::ui::components::field_renderer::tests::test_custom_field_display ... ok
[INFO] [stdout] test commands::migration::ui::components::relationship_renderer::tests::test_extract_target_entity ... ok
[INFO] [stdout] test commands::migration::ui::components::relationship_renderer::tests::test_relationship_grouping ... ok
[INFO] [stdout] test commands::migration::ui::components::relationship_renderer::tests::test_relationship_field_creation ... ok
[INFO] [stdout] test commands::migration::ui::components::relationship_renderer::tests::test_relationship_type_parsing ... ok
[INFO] [stdout] test commands::migration::ui::components::relationship_renderer::tests::test_relationship_extraction ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/mod.rs (/opt/rustwide/target/debug/deps/mod-7fe35b10fe0e4dc8)
[INFO] [stdout] 
[INFO] [stdout] running 54 tests
[INFO] [stdout] test error_handling::position_tracking::test_lexer_position_error ... ok
[INFO] [stdout] test error_handling::position_tracking::test_position_error_formatting ... ok
[INFO] [stdout] test fql::advanced_features::test_combined_query ... ok
[INFO] [stdout] test error_handling::position_tracking::test_successful_parsing_with_positions ... ok
[INFO] [stdout] test error_handling::position_tracking::test_parser_position_error ... ok
[INFO] [stdout] test fql::advanced_features::test_options_aggregatelimit ... ok
[INFO] [stdout] test fql::advanced_features::test_options_custom_unknown ... ok
[INFO] [stdout] test fql::advanced_features::test_distinct ... ok
[INFO] [stdout] test fql::advanced_features::test_options_datasource ... ok
[INFO] [stdout] test fql::advanced_features::test_options_formatted ... ok
[INFO] [stdout] test fql::advanced_features::test_options_latematerialize ... ok
[INFO] [stdout] test fql::advanced_features::test_options_multiple ... ok
[INFO] [stdout] test fql::advanced_features::test_options_no_lock ... ok
[INFO] [stdout] test fql::advanced_features::test_options_useraworderby ... ok
[INFO] [stdout] test fql::aggregation::test_count_aggregation ... ok
[INFO] [stdout] test fql::aggregation::test_count_aggregation_contact_entity ... ok
[INFO] [stdout] test fql::aggregation::test_count_aggregation_opportunity_entity ... ok
[INFO] [stdout] test fql::aggregation::test_count_with_grouping ... ok
[INFO] [stdout] test fql::basic_queries::test_basic_entity_query ... ok
[INFO] [stdout] test fql::aggregation::test_multiple_aggregations ... ok
[INFO] [stdout] test fql::basic_queries::test_entity_with_alias ... ok
[INFO] [stdout] test fql::basic_queries::test_entity_with_all_attributes ... ok
[INFO] [stdout] test fql::basic_queries::test_entity_with_attributes ... ok
[INFO] [stdout] test fql::filtering::test_between_condition ... ok
[INFO] [stdout] test fql::filtering::test_between_operator ... ok
[INFO] [stdout] test fql::filtering::test_between_with_dates ... ok
[INFO] [stdout] test fql::filtering::test_date_filtering ... ok
[INFO] [stdout] test fql::filtering::test_complex_null_and_range_conditions ... ok
[INFO] [stdout] test fql::filtering::test_in_operator ... ok
[INFO] [stdout] test fql::filtering::test_multiple_filters_implicit_and ... ok
[INFO] [stdout] test fql::filtering::test_explicit_and_conditions ... ok
[INFO] [stdout] test fql::aggregation::test_having_clause ... ok
[INFO] [stdout] test fql::advanced_features::test_options_return_total_count ... ok
[INFO] [stdout] test fql::filtering::test_nested_conditions ... ok
[INFO] [stdout] test fql::filtering::test_not_null_condition ... ok
[INFO] [stdout] test fql::filtering::test_multiple_null_checks ... ok
[INFO] [stdout] test fql::filtering::test_or_conditions ... ok
[INFO] [stdout] test fql::filtering::test_null_condition ... ok
[INFO] [stdout] test fql::integration_examples::test_comparison_example ... ok
[INFO] [stdout] test fql::joins::test_join_with_alias_and_conditions ... ok
[INFO] [stdout] test fql::integration_examples::test_recent_contacts_without_activities_example ... ok
[INFO] [stdout] test fql::integration_examples::test_high_value_opportunities_example ... ok
[INFO] [stdout] test fql::filtering::test_simple_filter ... ok
[INFO] [stdout] test fql::joins::test_join_with_complex_relationship ... ok
[INFO] [stdout] test fql::filtering::test_null_check ... ok
[INFO] [stdout] test fql::joins::test_join_with_attributes ... ok
[INFO] [stdout] test fql::integration_examples::test_account_summary_by_industry_example ... ok
[INFO] [stdout] test fql::joins::test_multiple_joins ... ok
[INFO] [stdout] test fql::joins::test_simple_join ... ok
[INFO] [stdout] test fql::joins::test_left_join ... ok
[INFO] [stderr]    Doc-tests dynamics_cli
[INFO] [stdout] test fql::joins::test_subquery_like_patterns ... ok
[INFO] [stdout] test fql::ordering_pagination::test_order_by ... ok
[INFO] [stdout] test fql::ordering_pagination::test_page ... ok
[INFO] [stdout] test fql::ordering_pagination::test_limit ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 54 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test src/fql/xml.rs - fql::xml::to_fetchxml (line 14) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "28cfabe1cc467468e0b6417371cb6a4a50def3a3e63875f89ba926772986deec", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "28cfabe1cc467468e0b6417371cb6a4a50def3a3e63875f89ba926772986deec", kill_on_drop: false }`
[INFO] [stdout] 28cfabe1cc467468e0b6417371cb6a4a50def3a3e63875f89ba926772986deec
