[INFO] fetching crate ddex-parser 0.4.5...
[INFO] testing ddex-parser-0.4.5 against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7
[INFO] extracting crate ddex-parser 0.4.5 into /workspace/builds/worker-0-tc1/source
[INFO] started tweaking crates.io crate ddex-parser 0.4.5
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ddex-parser 0.4.5
[INFO] tweaked toml for crates.io crate ddex-parser 0.4.5 written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ddex-parser 0.4.5 on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ddex-parser 0.4.5 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.101
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.101
[INFO] [stderr]   Downloaded wasm-bindgen-backend v0.2.101
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.101
[INFO] [stderr]   Downloaded js-sys v0.3.78
[INFO] [stderr]   Downloaded wasi v0.14.5+wasi-0.2.4
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.101
[INFO] [stderr]   Downloaded wit-bindgen v0.45.1
[INFO] [stderr]   Downloaded env_logger v0.11.8
[INFO] [stderr]   Downloaded env_filter v0.1.3
[INFO] [stderr]   Downloaded ciborium-ll v0.2.2
[INFO] [stderr]   Downloaded anes v0.1.6
[INFO] [stderr]   Downloaded clap_complete v4.5.57
[INFO] [stderr]   Downloaded anyhow v1.0.99
[INFO] [stderr]   Downloaded find-msvc-tools v0.1.1
[INFO] [stderr]   Downloaded clap v4.5.47
[INFO] [stderr]   Downloaded insta v1.43.2
[INFO] [stderr]   Downloaded wasip2 v1.0.0+wasi-0.2.4
[INFO] [stderr]   Downloaded tempfile v3.22.0
[INFO] [stderr]   Downloaded regex v1.11.2
[INFO] [stderr]   Downloaded jiff v0.2.15
[INFO] [stderr]   Downloaded test-case-core v3.3.1
[INFO] [stderr]   Downloaded indexmap v2.11.1
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.4
[INFO] [stderr]   Downloaded toml_write v0.1.2
[INFO] [stderr]   Downloaded csv-core v0.1.12
[INFO] [stderr]   Downloaded test-case-macros v3.3.1
[INFO] [stderr]   Downloaded jiff-static v0.2.15
[INFO] [stderr]   Downloaded quick-xml v0.36.2
[INFO] [stderr]   Downloaded test-case v3.3.1
[INFO] [stderr]   Downloaded cc v1.2.36
[INFO] [stderr]   Downloaded libc v0.2.175
[INFO] [stderr]   Downloaded ts-rs-macros v7.1.1
[INFO] [stderr]   Downloaded ts-rs v7.1.1
[INFO] [stderr]   Downloaded ciborium-io v0.2.2
[INFO] [stderr]   Downloaded half v2.6.0
[INFO] [stderr]   Downloaded regex-automata v0.4.10
[INFO] [stderr]   Downloaded ciborium v0.2.2
[INFO] [stderr]   Downloaded criterion-plot v0.5.0
[INFO] [stderr]   Downloaded is-terminal v0.4.16
[INFO] [stderr]   Downloaded criterion v0.5.1
[INFO] [stderr]   Downloaded windows-sys v0.61.0
[INFO] [stderr]   Downloaded clap_builder v4.5.47
[INFO] [stderr]   Downloaded web-sys v0.3.78
[INFO] [stderr]   Downloaded csv v1.3.1
[INFO] [stderr]   Downloaded ddex-core v0.4.5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 278bf9706a24c8df297ca27e4ef83f0d7b854e11153d7031b1c1aa4fc7ce4380
[INFO] running `Command { std: "docker" "start" "-a" "278bf9706a24c8df297ca27e4ef83f0d7b854e11153d7031b1c1aa4fc7ce4380", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "278bf9706a24c8df297ca27e4ef83f0d7b854e11153d7031b1c1aa4fc7ce4380", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "278bf9706a24c8df297ca27e4ef83f0d7b854e11153d7031b1c1aa4fc7ce4380", kill_on_drop: false }`
[INFO] [stdout] 278bf9706a24c8df297ca27e4ef83f0d7b854e11153d7031b1c1aa4fc7ce4380
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 903991746af20680625897e7806d53f9bfdb878394442fdba21919bb7567a7af
[INFO] running `Command { std: "docker" "start" "-a" "903991746af20680625897e7806d53f9bfdb878394442fdba21919bb7567a7af", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.101
[INFO] [stderr]    Compiling unicode-ident v1.0.18
[INFO] [stderr]    Compiling stable_deref_trait v1.2.0
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling litemap v0.8.0
[INFO] [stderr]    Compiling writeable v0.6.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.0.0
[INFO] [stderr]    Compiling icu_properties_data v2.0.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling cfg-if v1.0.3
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle v1.0.11
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.1
[INFO] [stderr]    Compiling regex-syntax v0.8.6
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling zerocopy v0.8.27
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling winnow v0.7.13
[INFO] [stderr]    Compiling utf8-width v0.1.7
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling log v0.4.28
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling syn v2.0.106
[INFO] [stderr]    Compiling signal-hook-registry v1.4.6
[INFO] [stderr]    Compiling rmp v0.8.14
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling socket2 v0.6.0
[INFO] [stderr]    Compiling html-escape v0.2.13
[INFO] [stderr]    Compiling csv-core v0.1.12
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling jiff v0.2.15
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling ddex-parser v0.4.5 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling colored v2.2.0
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling quick-xml v0.36.2
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling env_filter v0.1.3
[INFO] [stderr]    Compiling env_logger v0.11.8
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.4
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling clap_complete v4.5.57
[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 icu_provider v2.0.0
[INFO] [stderr]    Compiling icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling indexmap v2.11.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling rmp-serde v1.3.0
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling ddex-core v0.4.5
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stdout] warning: unused import: `BytesStart`
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quick_xml::{events::{Event, BytesStart}, Reader};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::error`
[INFO] [stdout]  --> src/streaming/comprehensive.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/parser/stream.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     let location = self.get_current_location();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/parser/xml_validator.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |             if let Some((expected, depth)) = self.element_stack.pop() {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `in_message_header` is never read
[INFO] [stdout]    --> src/transform/graph.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   in_message_header = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum AlignedParserState {
[INFO] [stdout]    |      ------------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlignedParserState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_location` is never used
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:402:8
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl<R: BufRead> AlignedStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]   --> src/streaming/comprehensive.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ParserState {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserState` 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 `get_current_location` is never used
[INFO] [stdout]    --> src/streaming/comprehensive.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl<R: BufRead> ComprehensiveStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/streaming/fast_streaming_parser.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FastStreamingParser {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 14 |     config: StreamingConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reader` and `buffer` are never read
[INFO] [stdout]   --> src/streaming/fixed_comprehensive.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FixedStreamingParser<R: BufRead> {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 27 |     reader: Reader<R>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     buffer: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_location` is never used
[INFO] [stdout]    --> src/streaming/minimal.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<R: BufRead> MinimalStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn get_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_element_boundaries` and `find_pattern` are never used
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl ParallelStreamingParser {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn find_element_boundaries(&self, data: &[u8]) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn find_pattern(&self, data: &[u8], pattern: &[u8]) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reader` is never read
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct ParallelStreamingIterator<R: BufRead> {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 185 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/streaming/parser.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl<R: BufRead> StreamingDDEXParser<R> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn handle_start_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn handle_nested_start_element(&mut self, name: &str) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn handle_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn handle_header_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     fn handle_release_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     fn handle_resource_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn handle_party_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     fn handle_deal_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ZeroCopyParser {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     state: ParserState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InMessageHeader`, `InRelease`, `InResource`, and `Done` are never constructed
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | enum ParserState {
[INFO] [stdout]    |      ----------- variants in this enum
[INFO] [stdout] 71 |     Initial,
[INFO] [stdout] 72 |     InMessageHeader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 73 |     InRelease {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     InResource {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Done,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserState` 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 `find_closing_tag_simple` is never used
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl ZeroCopyParser {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn find_closing_tag_simple(&self, data: &[u8], start: usize, tag_name: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reader` is never read
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:725:5
[INFO] [stdout]     |
[INFO] [stdout] 724 | pub struct ZeroCopyStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ---------------------- field in this struct
[INFO] [stdout] 725 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `chunk_size` are never read
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:893:5
[INFO] [stdout]     |
[INFO] [stdout] 890 | pub struct ZeroCopyIterator {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 893 |     position: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 894 |     chunk_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_primary_name_optional` and `get_primary_id_optional` are never used
[INFO] [stdout]    --> src/transform/flatten.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Flattener {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_primary_name_optional(names: &[LocalizedString]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn get_primary_id_optional(ids: &[Identifier]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytesStart`
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quick_xml::{events::{Event, BytesStart}, Reader};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::error`
[INFO] [stdout]  --> src/streaming/comprehensive.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FastElementType`, `FastParsingStats`, `FastStreamingElement`, `FastStreamingIterator`, `FastStreamingParser`, and `create_fast_parser`
[INFO] [stdout]   --> src/streaming/mod.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     create_fast_parser, FastElementType, FastParsingStats, FastStreamingElement,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 40 |     FastStreamingIterator, FastStreamingParser,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `FastZeroCopyIterator` and `FastZeroCopyParser`
[INFO] [stdout]   --> src/streaming/mod.rs:42:26
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub use fast_zero_copy::{FastZeroCopyIterator, FastZeroCopyParser};
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `iterator::DDEXStreamIterator`
[INFO] [stdout]   --> src/streaming/mod.rs:43:9
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub use iterator::DDEXStreamIterator;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ParallelBenchmark`, `ParallelStreamingIterator`, and `ParallelStreamingParser`
[INFO] [stdout]   --> src/streaming/mod.rs:44:27
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub use parallel_parser::{ParallelBenchmark, ParallelStreamingIterator, ParallelStreamingParser};
[INFO] [stdout]    |                           ^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ParserState` and `ParsingContext`
[INFO] [stdout]   --> src/streaming/mod.rs:46:17
[INFO] [stdout]    |
[INFO] [stdout] 46 | pub use state::{ParserState, ParsingContext};
[INFO] [stdout]    |                 ^^^^^^^^^^^  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `WorkingStreamIterator` and `WorkingStreamingParser`
[INFO] [stdout]   --> src/streaming/mod.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     WorkingStreamIterator, WorkingStreamingElement, WorkingStreamingParser, WorkingStreamingStats,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^                           ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ZeroCopyElement`, `ZeroCopyParser`, and `ZeroCopyStreamIterator`
[INFO] [stdout]   --> src/streaming/mod.rs:50:28
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub use zero_copy_parser::{ZeroCopyElement, ZeroCopyParser, ZeroCopyStreamIterator};
[INFO] [stdout]    |                            ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/parser/stream.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     let location = self.get_current_location();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/parser/xml_validator.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |             if let Some((expected, depth)) = self.element_stack.pop() {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `in_message_header` is never read
[INFO] [stdout]    --> src/transform/graph.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   in_message_header = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `count_elements` is never used
[INFO] [stdout]     --> src/cli.rs:1042:4
[INFO] [stdout]      |
[INFO] [stdout] 1042 | fn count_elements(data: &JsonValue) -> usize {
[INFO] [stdout]      |    ^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]  --> src/error.rs:3:10
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub type Result<T> = std::result::Result<T, ParseError>;
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple variants are never constructed
[INFO] [stdout]   --> src/error.rs:7:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum ParseError {
[INFO] [stdout]    |          ---------- variants in this enum
[INFO] [stdout]  7 |     MissingField(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]  8 |     InvalidValue { field: String, value: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]  9 |     XmlError(String),
[INFO] [stdout] 10 |     StreamError(StreamError),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     ConversionError { from: String, to: String, message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     IoError(String),
[INFO] [stdout] 15 |     Timeout { message: String },
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 16 |     DepthLimitExceeded { depth: usize, limit: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     SecurityViolation { message: String },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 18 |     MalformedXml { message: String, position: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 19 |     MismatchedTags { expected: String, found: String, position: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     UnexpectedClosingTag { tag: String, position: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     InvalidAttribute { message: String, position: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     UnclosedTags { tags: Vec<String>, position: usize },
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseError` 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 `MissingReleaseReference`, `MissingResourceReference`, `MissingDealReference`, `MissingPartyReference`, and `IncompleteData` are never constructed
[INFO] [stdout]   --> src/error.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum StreamError {
[INFO] [stdout]    |          ----------- variants in this enum
[INFO] [stdout] 27 |     MissingReleaseReference,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 28 |     MissingResourceReference,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 29 |     MissingDealReference,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 30 |     MissingPartyReference,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 31 |     IncompleteData(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamError` 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 `ParseOptions` is never constructed
[INFO] [stdout]   --> src/parser/mod.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ParseOptions {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse` is never used
[INFO] [stdout]   --> src/parser/mod.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub fn parse<R: BufRead + std::io::Seek>(
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `with_extensions` and `for_round_trip` are never used
[INFO] [stdout]   --> src/parser/mod.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 88 | impl ParseOptions {
[INFO] [stdout]    | ----------------- associated functions in this implementation
[INFO] [stdout] 89 |     pub fn with_extensions() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 98 |     pub fn for_round_trip() -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttributeExtractor` is never constructed
[INFO] [stdout]   --> src/parser/attribute_extractor.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct AttributeExtractor {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpecialAttributeHandler` is never used
[INFO] [stdout]   --> src/parser/attribute_extractor.rs:26:10
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub enum SpecialAttributeHandler {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AttributeExtractionResult` is never constructed
[INFO] [stdout]   --> src/parser/attribute_extractor.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct AttributeExtractionResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SpecialAttributeValue` is never used
[INFO] [stdout]   --> src/parser/attribute_extractor.rs:64:10
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub enum SpecialAttributeValue {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/attribute_extractor.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl AttributeExtractor {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  94 |     /// Create a new attribute extractor with DDEX knowledge
[INFO] [stdout]  95 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn initialize_ddex_attributes(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     fn initialize_special_handlers(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn extract_attributes(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 257 |     fn process_attribute(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 288 |     fn resolve_attribute_qname(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     fn get_attribute_type(&self, qname: &QName) -> Option<AttributeType> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 329 |     fn process_special_attribute(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 361 |     fn process_xsi_type(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     fn process_schema_location(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     fn process_xsi_nil(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 421 |     fn process_language_territory(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 459 |     fn process_sequence_number(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 476 |     fn process_boolean_flag(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 491 |     pub fn apply_inheritance(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 501 |     pub fn validate_attributes(&self, attributes: &AttributeMap) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VersionDetector` is never constructed
[INFO] [stdout]  --> src/parser/detector.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct VersionDetector;
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `detect` and `detect_from_bufread` are never used
[INFO] [stdout]   --> src/parser/detector.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl VersionDetector {
[INFO] [stdout]    | -------------------- associated functions in this implementation
[INFO] [stdout] 10 |     pub fn detect<R: std::io::Read>(reader: R) -> crate::error::Result<ERNVersion> {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     pub fn detect_from_bufread<R: BufRead>(reader: R) -> crate::error::Result<ERNVersion> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_dom` is never used
[INFO] [stdout]   --> src/parser/dom.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub fn parse_dom<R: BufRead + Seek>(
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_references` is never used
[INFO] [stdout]   --> src/parser/dom.rs:70:4
[INFO] [stdout]    |
[INFO] [stdout] 70 | fn resolve_references(message: ERNMessage) -> Result<ERNMessage, ParseError> {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtensionCaptureContext` is never constructed
[INFO] [stdout]   --> src/parser/extension_capture.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct ExtensionCaptureContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/extension_capture.rs:57:12
[INFO] [stdout]     |
[INFO] [stdout]  55 | impl ExtensionCaptureContext {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout]  56 |     /// Create a new extension capture context
[INFO] [stdout]  57 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  72 |     pub fn enter_element(&mut self, element_name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  77 |     pub fn exit_element(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  82 |     pub fn current_path(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn add_namespace_declaration(&mut self, prefix: String, uri: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn should_capture_element(&self, _element_name: &str, namespace_uri: Option<&str>) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn start_extension_capture(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn add_extension_content(&mut self, content: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn process_extension_start_tag(&mut self, event: &BytesStart) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     pub fn process_extension_end_tag(&mut self, event: &BytesEnd) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     pub fn process_extension_text(&mut self, event: &BytesText) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 207 |     pub fn finish_extension_capture(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     pub fn add_processing_instruction(&mut self, target: String, data: Option<String>) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 238 |     pub fn add_comment(&mut self, comment: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     pub fn add_comment_with_position(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 278 |     pub fn into_extensions(self) -> Extensions {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtensionAwareParser` is never constructed
[INFO] [stdout]    --> src/parser/extension_capture.rs:284:12
[INFO] [stdout]     |
[INFO] [stdout] 284 | pub struct ExtensionAwareParser {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `parse_with_extensions`, and `extract_namespace_info` are never used
[INFO] [stdout]    --> src/parser/extension_capture.rs:294:12
[INFO] [stdout]     |
[INFO] [stdout] 292 | impl ExtensionAwareParser {
[INFO] [stdout]     | ------------------------- associated items in this implementation
[INFO] [stdout] 293 |     /// Create a new extension-aware parser
[INFO] [stdout] 294 |     pub fn new(capture_extensions: bool) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 302 |     pub fn parse_with_extensions(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     fn extract_namespace_info(&self, event: &BytesStart) -> (Option<String>, Option<String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `extract_extensions` is never used
[INFO] [stdout]    --> src/parser/extension_capture.rs:437:12
[INFO] [stdout]     |
[INFO] [stdout] 437 |     pub fn extract_extensions(xml_content: &str) -> Result<Extensions, Box<dyn std::error::Error>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `has_extensions` is never used
[INFO] [stdout]    --> src/parser/extension_capture.rs:443:12
[INFO] [stdout]     |
[INFO] [stdout] 443 |     pub fn has_extensions(xml_content: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_extension_stats` is never used
[INFO] [stdout]    --> src/parser/extension_capture.rs:451:12
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub fn get_extension_stats(xml_content: &str) -> ExtensionStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExtensionStats` is never constructed
[INFO] [stdout]    --> src/parser/extension_capture.rs:460:16
[INFO] [stdout]     |
[INFO] [stdout] 460 |     pub struct ExtensionStats {
[INFO] [stdout]     |                ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_extensions` is never used
[INFO] [stdout]    --> src/parser/extension_capture.rs:469:12
[INFO] [stdout]     |
[INFO] [stdout] 468 |     impl ExtensionStats {
[INFO] [stdout]     |     ------------------- associated function in this implementation
[INFO] [stdout] 469 |         fn from_extensions(extensions: &Extensions) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParseMode` is never used
[INFO] [stdout]  --> src/parser/mode.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ParseMode {
[INFO] [stdout]   |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ModeSelector` is never constructed
[INFO] [stdout]   --> src/parser/mode.rs:24:12
[INFO] [stdout]    |
[INFO] [stdout] 24 | pub struct ModeSelector {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `select_mode`, and `select_mode_hint` are never used
[INFO] [stdout]   --> src/parser/mode.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 36 | impl ModeSelector {
[INFO] [stdout]    | ----------------- associated items in this implementation
[INFO] [stdout] 37 |     pub fn new(threshold: u64) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 42 |     pub fn select_mode<R: BufRead + Seek>(
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub fn select_mode_hint(&self, size_hint: Option<u64>, mode: ParseMode) -> ParseMode {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiReleaseParser` is never constructed
[INFO] [stdout]   --> src/parser/multi_release_parser.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct MultiReleaseParser {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiReleaseStats` is never constructed
[INFO] [stdout]   --> src/parser/multi_release_parser.rs:32:12
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct MultiReleaseStats {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MultiReleaseResult` is never constructed
[INFO] [stdout]   --> src/parser/multi_release_parser.rs:45:12
[INFO] [stdout]    |
[INFO] [stdout] 45 | pub struct MultiReleaseResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/multi_release_parser.rs:72:12
[INFO] [stdout]     |
[INFO] [stdout]  70 | impl MultiReleaseParser {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  71 |     /// Create a new multi-release parser
[INFO] [stdout]  72 |     pub fn new(version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  83 |     pub fn with_security_config(version: ERNVersion, security_config: SecurityConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn detailed_parsing(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn max_releases(mut self, max: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn count_releases<R: BufRead>(&mut self, reader: R) -> Result<usize, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub fn parse_releases<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 374 |     fn extract_element_name(&self, qname: &[u8]) -> Result<String, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 382 |     fn create_default_release(&self) -> Release {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     fn parse_message_header<R: BufRead>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 438 |     fn process_release_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 479 |     fn process_release_text_content(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 519 |     fn extract_release_reference(&self, release: &Release) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamespaceDetector` is never constructed
[INFO] [stdout]   --> src/parser/namespace_detector.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | pub struct NamespaceDetector {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamespaceDetectionResult` is never constructed
[INFO] [stdout]   --> src/parser/namespace_detector.rs:39:12
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub struct NamespaceDetectionResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/namespace_detector.rs:56:12
[INFO] [stdout]     |
[INFO] [stdout]  54 | impl NamespaceDetector {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  55 |     /// Create new namespace detector
[INFO] [stdout]  56 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     pub fn detect_from_xml<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn detect_from_xml_with_security<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     fn process_start_element(&mut self, element: &BytesStart) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 245 |     fn pop_namespace_scope(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 255 |     fn validate_namespaces(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 263 |     fn build_result(&self) -> NamespaceDetectionResult {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 299 |     pub fn current_scope(&self) -> &NamespaceScope {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 304 |     pub fn resolve_prefix(&self, prefix: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn get_default_namespace(&self) -> Option<&String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 314 |     pub fn is_namespace_declared(&self, uri: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 319 |     pub fn find_prefix_for_uri(&self, uri: &str) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 324 |     pub fn add_warning(&mut self, warning: NamespaceWarning) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 330 |     pub fn get_detected_version(&self) -> Option<ERNVersion> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn get_detected_namespaces(&self) -> &IndexMap<String, String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn get_namespace_aliases(&self) -> &IndexMap<String, Vec<String>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `NamespaceContext` is never constructed
[INFO] [stdout]    --> src/parser/namespace_detector.rs:347:12
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub struct NamespaceContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `from_detection_result`, `create_child`, `declare_namespace`, and `resolve_element_name` are never used
[INFO] [stdout]    --> src/parser/namespace_detector.rs:360:12
[INFO] [stdout]     |
[INFO] [stdout] 358 | impl NamespaceContext {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 359 |     /// Create new namespace context from detection result
[INFO] [stdout] 360 |     pub fn from_detection_result(result: NamespaceDetectionResult) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 370 |     pub fn create_child(&self) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 380 |     pub fn declare_namespace(&mut self, prefix: String, uri: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     pub fn resolve_element_name(&self, local_name: &str, prefix: Option<&str>) -> ResolvedName {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ResolvedName` is never used
[INFO] [stdout]    --> src/parser/namespace_detector.rs:421:10
[INFO] [stdout]     |
[INFO] [stdout] 421 | pub enum ResolvedName {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/parser/security.rs:7:9
[INFO] [stdout]    |
[INFO] [stdout]  5 | pub struct SecurityConfig {
[INFO] [stdout]    |            -------------- fields in this struct
[INFO] [stdout]  6 |     // Entity expansion protection
[INFO] [stdout]  7 |     pub disable_dtd: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout]  8 |     pub disable_external_entities: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]  9 |     pub max_entity_expansions: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 10 |     pub max_entity_depth: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub max_element_depth: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 14 |     pub max_attribute_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 15 |     pub max_text_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 16 |     pub max_file_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 |     pub parse_timeout: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub stream_timeout: Duration,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub allow_network: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^
[INFO] [stdout] 24 |     pub allowed_schemas: Vec<String>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 27 |     pub enable_fast_streaming: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SecurityConfig` 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 `SelectiveParser` is never constructed
[INFO] [stdout]   --> src/parser/selective_parser.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct SelectiveParser {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SelectiveResult` is never constructed
[INFO] [stdout]   --> src/parser/selective_parser.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct SelectiveResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/selective_parser.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout]  33 | impl SelectiveParser {
[INFO] [stdout]     | -------------------- associated items in this implementation
[INFO] [stdout]  34 |     /// Create a new selective parser targeting specific fields
[INFO] [stdout]  35 |     pub fn new(target_fields: Vec<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  44 |     pub fn for_isrcs() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn for_release_metadata() -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub fn case_sensitive(mut self, case_sensitive: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn max_depth(mut self, max_depth: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  76 |     pub fn extract_isrcs<R: BufRead>(&mut self, reader: R) -> Result<Vec<String>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn extract_fields<R: BufRead>(&mut self, reader: R) -> Result<SelectiveResult, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn extract_isrcs_fast<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     fn extract_isrcs_from_content(&self, content: &str, isrcs: &mut Vec<String>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 249 |     fn find_next_isrc_tag(&self, content: &str, start_pos: usize) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn extract_isrc_at_position(&self, content: &str, pos: usize) -> Option<(String, usize)> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 318 |     fn extract_between_tags(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 337 |     fn is_target_field(&self, name: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 348 |     fn extract_element_name(&self, qname: &[u8]) -> Result<String, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 364 |     fn add_value(
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 377 |     fn is_valid_isrc(&self, isrc: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `bytes_processed`, `releases_parsed`, `resources_parsed`, `elapsed`, and `estimated_total_bytes` are never read
[INFO] [stdout]   --> src/parser/stream.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct ParseProgress {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 19 |     pub bytes_processed: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 20 |     pub releases_parsed: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 21 |     pub resources_parsed: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 22 |     pub elapsed: Duration,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 23 |     pub estimated_total_bytes: Option<u64>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParseProgress` 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 associated items are never used
[INFO] [stdout]    --> src/parser/stream.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  45 | impl<R: BufRead> StreamingParser<R> {
[INFO] [stdout]     | ----------------------------------- associated items in this implementation
[INFO] [stdout]  46 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn new_with_security_config(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  80 |     pub fn with_progress_callback<F>(mut self, callback: F) -> Self
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn with_chunk_size(mut self, size: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  93 |     pub fn with_max_memory(mut self, max: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  98 |     fn update_progress(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     fn update_byte_position(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn parse_header(&mut self) -> Result<MessageHeader, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 |     fn parse_message_header_element(&mut self) -> Result<MessageHeader, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 229 |     fn parse_message_sender(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 274 |     fn parse_message_recipient(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 321 |     pub fn stream_releases(&mut self) -> ReleaseIterator<'_, R> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     pub fn stream_resources(&mut self) -> ResourceIterator<'_, R> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     pub fn stream_parties(&mut self) -> PartyIterator<'_, R> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 336 |     pub fn stream_deals(&mut self) -> DealIterator<'_, R> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 341 |     fn read_text_element(&mut self) -> Result<String, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 373 |     fn skip_element(&mut self) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 407 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `find_next_release`, and `parse_release_element` are never used
[INFO] [stdout]    --> src/parser/stream.rs:423:8
[INFO] [stdout]     |
[INFO] [stdout] 422 | impl<'a, R: BufRead> ReleaseIterator<'a, R> {
[INFO] [stdout]     | ------------------------------------------- associated items in this implementation
[INFO] [stdout] 423 |     fn new(parser: &'a mut StreamingParser<R>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     fn find_next_release(&mut self) -> Result<Option<Release>, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 462 |     fn parse_release_element(&mut self) -> Result<Option<Release>, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ResourceIterator` is never constructed
[INFO] [stdout]    --> src/parser/stream.rs:547:12
[INFO] [stdout]     |
[INFO] [stdout] 547 | pub struct ResourceIterator<'a, R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/parser/stream.rs:554:8
[INFO] [stdout]     |
[INFO] [stdout] 553 | impl<'a, R: BufRead> ResourceIterator<'a, R> {
[INFO] [stdout]     | -------------------------------------------- associated function in this implementation
[INFO] [stdout] 554 |     fn new(parser: &'a mut StreamingParser<R>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartyIterator` is never constructed
[INFO] [stdout]    --> src/parser/stream.rs:572:12
[INFO] [stdout]     |
[INFO] [stdout] 572 | pub struct PartyIterator<'a, R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/parser/stream.rs:578:8
[INFO] [stdout]     |
[INFO] [stdout] 577 | impl<'a, R: BufRead> PartyIterator<'a, R> {
[INFO] [stdout]     | ----------------------------------------- associated function in this implementation
[INFO] [stdout] 578 |     fn new(parser: &'a mut StreamingParser<R>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DealIterator` is never constructed
[INFO] [stdout]    --> src/parser/stream.rs:594:12
[INFO] [stdout]     |
[INFO] [stdout] 594 | pub struct DealIterator<'a, R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/parser/stream.rs:600:8
[INFO] [stdout]     |
[INFO] [stdout] 599 | impl<'a, R: BufRead> DealIterator<'a, R> {
[INFO] [stdout]     | ---------------------------------------- associated function in this implementation
[INFO] [stdout] 600 |     fn new(parser: &'a mut StreamingParser<R>) -> Self {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_streaming` is never used
[INFO] [stdout]    --> src/parser/stream.rs:617:8
[INFO] [stdout]     |
[INFO] [stdout] 617 | pub fn parse_streaming<R: BufRead>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XmlValidator` is never constructed
[INFO] [stdout]   --> src/parser/xml_validator.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct XmlValidator {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/xml_validator.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl XmlValidator {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  31 |     /// Create new validator with specified validation levels
[INFO] [stdout]  32 |     pub fn new(strict: bool, extended: bool) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     pub fn strict() -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  48 |     pub fn lenient() -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  53 |     pub fn validate_event<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 102 |     fn handle_start_element(&mut self, element: &BytesStart) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 149 |     fn handle_end_element(&mut self, element: &BytesEnd) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 190 |     fn handle_empty_element(&mut self, element: &BytesStart) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 225 |     fn validate_text_content(&self, text: &BytesText) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 236 |     fn validate_cdata_content(&self, cdata: &[u8]) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     fn validate_attributes(&self, element: &BytesStart) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 307 |     fn validate_document_end(&mut self) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 327 |     pub fn get_element_stack(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 335 |     pub fn is_in_element(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 340 |     pub fn get_depth(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_valid_xml_name` is never used
[INFO] [stdout]    --> src/parser/xml_validator.rs:349:4
[INFO] [stdout]     |
[INFO] [stdout] 349 | fn is_valid_xml_name(name: &str) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_name_start_char` is never used
[INFO] [stdout]    --> src/parser/xml_validator.rs:372:4
[INFO] [stdout]     |
[INFO] [stdout] 372 | fn is_name_start_char(ch: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `is_name_char` is never used
[INFO] [stdout]    --> src/parser/xml_validator.rs:390:4
[INFO] [stdout]     |
[INFO] [stdout] 390 | fn is_name_char(ch: char) -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XPathSelector` is never constructed
[INFO] [stdout]   --> src/parser/xpath_selector.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct XPathSelector {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PathComponent` is never used
[INFO] [stdout]   --> src/parser/xpath_selector.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub enum PathComponent {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XPathResult` is never constructed
[INFO] [stdout]   --> src/parser/xpath_selector.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct XPathResult {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `XPathStats` is never constructed
[INFO] [stdout]   --> src/parser/xpath_selector.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct XPathStats {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/parser/xpath_selector.rs:70:12
[INFO] [stdout]     |
[INFO] [stdout]  68 | impl XPathSelector {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout]  69 |     /// Create a new XPath selector
[INFO] [stdout]  70 |     pub fn new(xpath: &str) -> Result<Self, ParseError> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn ddex_release_titles() -> Result<Self, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn ddex_isrcs() -> Result<Self, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  94 |     pub fn ddex_release_ids() -> Result<Self, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     pub fn namespace_aware(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 105 |     pub fn case_sensitive(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn max_results(mut self, max: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     pub fn fast_mode(mut self, enabled: bool) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     pub fn select<R: BufRead>(&self, reader: R) -> Result<XPathResult, ParseError> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     fn parse_xpath(xpath: &str) -> Result<Vec<PathComponent>, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 339 |     fn parse_filter(input: &str) -> Result<(String, String), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     fn matches_path(&self, current: &[String]) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 357 |     fn matches_path_with_attributes(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 366 |     fn match_components(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     fn element_matches(&self, pattern: &str, actual: &str) -> bool {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 496 |     fn extract_element_name(&self, qname: &[u8]) -> Result<String, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 505 |     fn get_main_attribute(&self, attributes: &HashMap<String, String>) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CaptureContext` is never constructed
[INFO] [stdout]    --> src/parser/xpath_selector.rs:520:8
[INFO] [stdout]     |
[INFO] [stdout] 520 | struct CaptureContext {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `select_release_titles`, `select_isrcs`, `select_with_xpath`, and `select_multiple` are never used
[INFO] [stdout]    --> src/parser/xpath_selector.rs:530:12
[INFO] [stdout]     |
[INFO] [stdout] 528 | impl XPathSelector {
[INFO] [stdout]     | ------------------ associated functions in this implementation
[INFO] [stdout] 529 |     /// Select all release titles
[INFO] [stdout] 530 |     pub fn select_release_titles<R: BufRead>(reader: R) -> Result<Vec<String>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 537 |     pub fn select_isrcs<R: BufRead>(reader: R) -> Result<Vec<String>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 544 |     pub fn select_with_xpath<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 554 |     pub fn select_multiple<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `ERNVersionExt` is never used
[INFO] [stdout]  --> src/parser/version_ext.rs:3:11
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub trait ERNVersionExt {
[INFO] [stdout]   |           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `security`, `buffer_size`, `max_memory`, `chunk_size`, `enable_progress`, and `progress_interval` are never read
[INFO] [stdout]   --> src/streaming/mod.rs:58:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct StreamingConfig {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 57 |     /// Security configuration
[INFO] [stdout] 58 |     pub security: SecurityConfig,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 59 |     /// Buffer size for XML reading
[INFO] [stdout] 60 |     pub buffer_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 61 |     /// Maximum memory usage before yielding elements
[INFO] [stdout] 62 |     pub max_memory: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 63 |     /// Chunk size for processing
[INFO] [stdout] 64 |     pub chunk_size: usize,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 65 |     /// Enable progress callbacks
[INFO] [stdout] 66 |     pub enable_progress: bool,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 67 |     /// Progress callback interval (bytes)
[INFO] [stdout] 68 |     pub progress_interval: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StreamingConfig` 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 `StreamingProgress` is never constructed
[INFO] [stdout]   --> src/streaming/mod.rs:86:12
[INFO] [stdout]    |
[INFO] [stdout] 86 | pub struct StreamingProgress {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AlignedStreamingElement` is never used
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:18:10
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub enum AlignedStreamingElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `AlignedParserState` is never used
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:28:6
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum AlignedParserState {
[INFO] [stdout]    |      ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlignedStreamingParser` is never constructed
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:38:12
[INFO] [stdout]    |
[INFO] [stdout] 38 | pub struct AlignedStreamingParser<R: BufRead> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:52:12
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl<R: BufRead> AlignedStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ associated items in this implementation
[INFO] [stdout]  52 |     pub fn new(reader: R, _version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  71 |     pub fn parse_next(&mut self) -> Result<Option<AlignedStreamingElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     fn handle_start_element_by_name(&mut self, name: &str) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 171 |     fn handle_end_element_by_name(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 387 |     fn create_fallback_header(&self) -> MessageHeader {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 406 |     pub fn stats(&self) -> AlignedStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlignedStreamIterator` is never constructed
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:417:12
[INFO] [stdout]     |
[INFO] [stdout] 417 | pub struct AlignedStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `stats` are never used
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:423:12
[INFO] [stdout]     |
[INFO] [stdout] 422 | impl<R: BufRead> AlignedStreamIterator<R> {
[INFO] [stdout]     | ----------------------------------------- associated items in this implementation
[INFO] [stdout] 423 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 430 |     pub fn stats(&self) -> AlignedStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AlignedStats` is never constructed
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:463:12
[INFO] [stdout]     |
[INFO] [stdout] 463 | pub struct AlignedStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `throughput_mibs` is never used
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:471:12
[INFO] [stdout]     |
[INFO] [stdout] 470 | impl AlignedStats {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 471 |     pub fn throughput_mibs(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `StreamingElement` is never used
[INFO] [stdout]   --> src/streaming/comprehensive.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum StreamingElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParserState` is never used
[INFO] [stdout]   --> src/streaming/comprehensive.rs:27:6
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ParserState {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComprehensiveStreamingParser` is never constructed
[INFO] [stdout]   --> src/streaming/comprehensive.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub struct ComprehensiveStreamingParser<R: BufRead> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `parse_next`, `get_current_location`, and `stats` are never used
[INFO] [stdout]    --> src/streaming/comprehensive.rs:51:12
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl<R: BufRead> ComprehensiveStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------------ associated items in this implementation
[INFO] [stdout]  51 |     pub fn new(reader: R, _version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn parse_next(&mut self) -> Result<Option<StreamingElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn stats(&self) -> ComprehensiveStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComprehensiveStreamIterator` is never constructed
[INFO] [stdout]    --> src/streaming/comprehensive.rs:309:12
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub struct ComprehensiveStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `stats` are never used
[INFO] [stdout]    --> src/streaming/comprehensive.rs:315:12
[INFO] [stdout]     |
[INFO] [stdout] 314 | impl<R: BufRead> ComprehensiveStreamIterator<R> {
[INFO] [stdout]     | ----------------------------------------------- associated items in this implementation
[INFO] [stdout] 315 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 322 |     pub fn stats(&self) -> ComprehensiveStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ComprehensiveStats` is never constructed
[INFO] [stdout]    --> src/streaming/comprehensive.rs:355:12
[INFO] [stdout]     |
[INFO] [stdout] 355 | pub struct ComprehensiveStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `throughput_mibs` is never used
[INFO] [stdout]    --> src/streaming/comprehensive.rs:363:12
[INFO] [stdout]     |
[INFO] [stdout] 362 | impl ComprehensiveStats {
[INFO] [stdout]     | ----------------------- method in this implementation
[INFO] [stdout] 363 |     pub fn throughput_mibs(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParsedElement` is never used
[INFO] [stdout]   --> src/streaming/element.rs:10:10
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub enum ParsedElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `element_type`, `memory_estimate`, `reference_id`, and `is_complete` are never used
[INFO] [stdout]   --> src/streaming/element.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ParsedElement {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] 32 |     /// Get the element type as a string
[INFO] [stdout] 33 |     pub fn element_type(&self) -> &'static str {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn memory_estimate(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn reference_id(&self) -> Option<&str> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn is_complete(&self) -> bool {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_release_size` is never used
[INFO] [stdout]   --> src/streaming/element.rs:87:4
[INFO] [stdout]    |
[INFO] [stdout] 87 | fn estimate_release_size(release: &Release) -> usize {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_resource_size` is never used
[INFO] [stdout]    --> src/streaming/element.rs:104:4
[INFO] [stdout]     |
[INFO] [stdout] 104 | fn estimate_resource_size(resource: &Resource) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_party_size` is never used
[INFO] [stdout]    --> src/streaming/element.rs:114:4
[INFO] [stdout]     |
[INFO] [stdout] 114 | fn estimate_party_size(party: &Party) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `estimate_deal_size` is never used
[INFO] [stdout]    --> src/streaming/element.rs:127:4
[INFO] [stdout]     |
[INFO] [stdout] 127 | fn estimate_deal_size(deal: &Deal) -> usize {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HeaderBuilder` is never constructed
[INFO] [stdout]    --> src/streaming/element.rs:146:12
[INFO] [stdout]     |
[INFO] [stdout] 146 | pub struct HeaderBuilder {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/element.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl HeaderBuilder {
[INFO] [stdout]     | ------------------ associated items in this implementation
[INFO] [stdout] 155 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     pub fn sender(mut self, sender: MessageSender) -> Self {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub fn add_recipient(mut self, recipient: MessageRecipient) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 169 |     pub fn message_id(mut self, id: Identifier) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     pub fn created_date_time(mut self, datetime: String) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 179 |     pub fn version(mut self, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 184 |     pub fn build(self) -> Result<ParsedElement, String> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]   --> src/streaming/fast_streaming_parser.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FastStreamingParser {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 14 |     config: StreamingConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 15 |     // Pre-compiled SIMD-accelerated pattern matchers
[INFO] [stdout] 16 |     release_start: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 17 |     release_end: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 18 |     resource_start: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     resource_end: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 20 |     header_start: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 21 |     header_end: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 22 |     // Additional resource patterns for comprehensive matching
[INFO] [stdout] 23 |     sound_recording_start: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 24 |     sound_recording_end: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 25 |     party_start: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 26 |     party_end: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 27 |     deal_start: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 28 |     deal_end: memmem::Finder<'static>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `raw_content`, `position`, and `parsed_at` are never read
[INFO] [stdout]   --> src/streaming/fast_streaming_parser.rs:37:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct FastStreamingElement {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub raw_content: Vec<u8>,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 38 |     /// Byte position in original stream
[INFO] [stdout] 39 |     pub position: u64,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 43 |     pub parsed_at: Instant,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FastStreamingElement` 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 `Release`, `Resource`, `Party`, `Deal`, `MessageHeader`, and `Other` are never constructed
[INFO] [stdout]   --> src/streaming/fast_streaming_parser.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub enum FastElementType {
[INFO] [stdout]    |          --------------- variants in this enum
[INFO] [stdout] 49 |     Release,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 50 |     Resource,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 51 |     Party,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 52 |     Deal,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 53 |     MessageHeader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 54 |     Other(String),
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FastElementType` 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 `throughput_mbps`, `total_bytes`, and `peak_memory_mb` are never read
[INFO] [stdout]   --> src/streaming/fast_streaming_parser.rs:60:9
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub struct FastParsingStats {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 60 |     pub throughput_mbps: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 61 |     pub elements_per_second: f64,
[INFO] [stdout] 62 |     pub total_bytes: u64,
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 65 |     pub peak_memory_mb: f64,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `FastParsingStats` 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 `parse_streaming` and `get_stats` are never used
[INFO] [stdout]    --> src/streaming/fast_streaming_parser.rs:89:12
[INFO] [stdout]     |
[INFO] [stdout]  69 | impl FastStreamingParser {
[INFO] [stdout]     | ------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  89 |     pub fn parse_streaming<R: BufRead>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 256 |     pub fn get_stats(&self) -> FastParsingStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FastZeroCopyParser` is never constructed
[INFO] [stdout]   --> src/streaming/fast_zero_copy.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct FastZeroCopyParser {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/fast_zero_copy.rs:31:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl FastZeroCopyParser {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  31 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  43 |     fn intern_string(&mut self, bytes: &[u8]) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  54 |     pub fn parse_chunk(
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     fn find_pattern(&self, data: &[u8], pattern: &[u8]) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn extract_message_header_fast(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 170 |     fn extract_release_fast(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fn extract_sound_recording_fast(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 253 |     fn extract_tag_content<'a>(&self, data: &'a [u8], tag_name: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 270 |     fn extract_attribute_fast<'a>(&self, data: &'a [u8], attr_name: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 287 |     fn extract_resource_references_fast(&mut self, data: &[u8]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 306 |     pub fn stats(&self) -> WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FastZeroCopyIterator` is never constructed
[INFO] [stdout]    --> src/streaming/fast_zero_copy.rs:334:12
[INFO] [stdout]     |
[INFO] [stdout] 334 | pub struct FastZeroCopyIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `stats`, and `read_next_chunk` are never used
[INFO] [stdout]    --> src/streaming/fast_zero_copy.rs:344:12
[INFO] [stdout]     |
[INFO] [stdout] 343 | impl<R: BufRead> FastZeroCopyIterator<R> {
[INFO] [stdout]     | ---------------------------------------- associated items in this implementation
[INFO] [stdout] 344 |     pub fn new(reader: R, _version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 355 |     pub fn stats(&self) -> WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     fn read_next_chunk(&mut self) -> Result<bool, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FixedStreamingElement` is never used
[INFO] [stdout]   --> src/streaming/fixed_comprehensive.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub enum FixedStreamingElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FixedStreamingParser` is never constructed
[INFO] [stdout]   --> src/streaming/fixed_comprehensive.rs:26:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FixedStreamingParser<R: BufRead> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `parse_next`, `create_sample_header`, `create_sample_release`, `create_sample_resource`, and `stats` are never used
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:35:12
[INFO] [stdout]     |
[INFO] [stdout]  34 | impl<R: BufRead> FixedStreamingParser<R> {
[INFO] [stdout]     | ---------------------------------------- associated items in this implementation
[INFO] [stdout]  35 |     pub fn new(reader: R, _version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn parse_next(&mut self) -> Result<Option<FixedStreamingElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn create_sample_header(&self) -> FixedStreamingElement {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 101 |     fn create_sample_release(&self) -> FixedStreamingElement {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 162 |     fn create_sample_resource(&self) -> FixedStreamingElement {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 195 |     pub fn stats(&self) -> FixedStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FixedStreamIterator` is never constructed
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub struct FixedStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `stats` are never used
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 210 | impl<R: BufRead> FixedStreamIterator<R> {
[INFO] [stdout]     | --------------------------------------- associated items in this implementation
[INFO] [stdout] 211 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn stats(&self) -> FixedStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FixedStats` is never constructed
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:251:12
[INFO] [stdout]     |
[INFO] [stdout] 251 | pub struct FixedStats {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_strings_to_localized_strings` is never used
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:262:12
[INFO] [stdout]     |
[INFO] [stdout] 262 |     pub fn convert_strings_to_localized_strings(strings: Vec<String>) -> Vec<LocalizedString> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `convert_strings_to_genres` is never used
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:274:12
[INFO] [stdout]     |
[INFO] [stdout] 274 |     pub fn convert_strings_to_genres(strings: Vec<String>) -> Vec<Genre> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_identifier` is never used
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:288:12
[INFO] [stdout]     |
[INFO] [stdout] 288 |     pub fn create_identifier(value: String, id_type: IdentifierType) -> Identifier {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `create_error_location` is never used
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn create_error_location(line: usize, column: usize, path: String) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `build_message_sender` is never used
[INFO] [stdout]    --> src/streaming/fixed_comprehensive.rs:302:12
[INFO] [stdout]     |
[INFO] [stdout] 302 |     pub fn build_message_sender(name: String) -> MessageSender {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DDEXStreamIterator` is never constructed
[INFO] [stdout]   --> src/streaming/iterator.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct DDEXStreamIterator<R: BufRead> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/iterator.rs:18:12
[INFO] [stdout]     |
[INFO] [stdout]  16 | impl<R: BufRead> DDEXStreamIterator<R> {
[INFO] [stdout]     | -------------------------------------- associated items in this implementation
[INFO] [stdout]  17 |     /// Create new iterator from reader
[INFO] [stdout]  18 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub fn with_config(reader: R, version: ERNVersion, config: StreamingConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  36 |     pub fn with_progress_callback<F>(mut self, callback: F) -> Self
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  45 |     pub fn stats(&self) -> IteratorStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  58 |     pub fn has_error(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  63 |     pub fn last_error(&self) -> Option<&ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  68 |     pub fn clear_error(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  73 |     pub fn try_recover(&mut self) -> Result<(), ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  97 |     pub fn collect_all(self) -> Result<Vec<ParsedElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     pub fn collect_releases(self) -> Result<Vec<ddex_core::models::graph::Release>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn collect_resources(self) -> Result<Vec<ddex_core::models::graph::Resource>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 146 |     pub fn skip_to_next_release(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `IteratorStats` is never constructed
[INFO] [stdout]    --> src/streaming/iterator.rs:205:12
[INFO] [stdout]     |
[INFO] [stdout] 205 | pub struct IteratorStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `bytes_per_second`, `elements_per_second`, `memory_usage_mb`, and `throughput_mibs` are never used
[INFO] [stdout]    --> src/streaming/iterator.rs:217:12
[INFO] [stdout]     |
[INFO] [stdout] 215 | impl IteratorStats {
[INFO] [stdout]     | ------------------ methods in this implementation
[INFO] [stdout] 216 |     /// Get processing rate in bytes per second
[INFO] [stdout] 217 |     pub fn bytes_per_second(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn elements_per_second(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 235 |     pub fn memory_usage_mb(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 240 |     pub fn throughput_mibs(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FilteredDDEXIterator` is never constructed
[INFO] [stdout]    --> src/streaming/iterator.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct FilteredDDEXIterator<R: BufRead, F>
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]    --> src/streaming/iterator.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 258 | / impl<R: BufRead, F> FilteredDDEXIterator<R, F>
[INFO] [stdout] 259 | | where
[INFO] [stdout] 260 | |     F: Fn(&ParsedElement) -> bool,
[INFO] [stdout]     | |__________________________________- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 263 |       pub fn new(inner: DDEXStreamIterator<R>, filter: F) -> Self {
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `releases_only`, `resources_only`, `headers_only`, and `filter` are never used
[INFO] [stdout]    --> src/streaming/iterator.rs:293:12
[INFO] [stdout]     |
[INFO] [stdout] 291 | impl<R: BufRead> DDEXStreamIterator<R> {
[INFO] [stdout]     | -------------------------------------- methods in this implementation
[INFO] [stdout] 292 |     /// Filter to only releases
[INFO] [stdout] 293 |     pub fn releases_only(self) -> FilteredDDEXIterator<R, impl Fn(&ParsedElement) -> bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     pub fn resources_only(self) -> FilteredDDEXIterator<R, impl Fn(&ParsedElement) -> bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 305 |     pub fn headers_only(self) -> FilteredDDEXIterator<R, impl Fn(&ParsedElement) -> bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 312 |     pub fn filter<F>(self, filter: F) -> FilteredDDEXIterator<R, F>
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MinimalElement` is never used
[INFO] [stdout]   --> src/streaming/minimal.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum MinimalElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinimalStreamingParser` is never constructed
[INFO] [stdout]   --> src/streaming/minimal.rs:28:12
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub struct MinimalStreamingParser<R: BufRead> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `parse_next`, `check_completed_element`, `get_location`, and `stats` are never used
[INFO] [stdout]    --> src/streaming/minimal.rs:41:12
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<R: BufRead> MinimalStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ associated items in this implementation
[INFO] [stdout]  41 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  59 |     pub fn parse_next(&mut self) -> Result<Option<MinimalElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 107 |     fn check_completed_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn get_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 133 |     pub fn stats(&self) -> MinimalStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinimalStreamIterator` is never constructed
[INFO] [stdout]    --> src/streaming/minimal.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct MinimalStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `stats` are never used
[INFO] [stdout]    --> src/streaming/minimal.rs:150:12
[INFO] [stdout]     |
[INFO] [stdout] 149 | impl<R: BufRead> MinimalStreamIterator<R> {
[INFO] [stdout]     | ----------------------------------------- associated items in this implementation
[INFO] [stdout] 150 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 157 |     pub fn stats(&self) -> MinimalStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MinimalStats` is never constructed
[INFO] [stdout]    --> src/streaming/minimal.rs:190:12
[INFO] [stdout]     |
[INFO] [stdout] 190 | pub struct MinimalStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `throughput_mibs` is never used
[INFO] [stdout]    --> src/streaming/minimal.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 197 | impl MinimalStats {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] 198 |     pub fn throughput_mibs(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParallelStreamingParser` is never constructed
[INFO] [stdout]   --> src/streaming/parallel_parser.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct ParallelStreamingParser {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:27:12
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl ParallelStreamingParser {
[INFO] [stdout]     | ---------------------------- associated items in this implementation
[INFO] [stdout]  26 |     /// Create new parallel parser using all available CPU cores
[INFO] [stdout]  27 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn with_threads(threads: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  49 |     pub fn parse_parallel(&self, data: &[u8]) -> Result<Vec<WorkingStreamingElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     fn parse_single_threaded(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn find_element_boundaries(&self, data: &[u8]) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn find_pattern(&self, data: &[u8], pattern: &[u8]) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn get_stats(&self) -> WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParallelStreamingIterator` is never constructed
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct ParallelStreamingIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `with_threads`, and `stats` are never used
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:194:12
[INFO] [stdout]     |
[INFO] [stdout] 193 | impl<R: BufRead> ParallelStreamingIterator<R> {
[INFO] [stdout]     | --------------------------------------------- associated items in this implementation
[INFO] [stdout] 194 |     pub fn new(mut reader: R, _version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 209 |     pub fn with_threads(mut reader: R, _version: ERNVersion, threads: usize) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 223 |     pub fn stats(&self) -> WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParallelBenchmark` is never constructed
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:268:12
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub struct ParallelBenchmark;
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `measure_parallel_speedup` is never used
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:271:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | impl ParallelBenchmark {
[INFO] [stdout]     | ---------------------- associated function in this implementation
[INFO] [stdout] 271 |     pub fn measure_parallel_speedup(data: &[u8]) -> Result<ParallelBenchmarkResult, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThreadResult` is never constructed
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:377:12
[INFO] [stdout]     |
[INFO] [stdout] 377 | pub struct ThreadResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParallelBenchmarkResult` is never constructed
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:387:12
[INFO] [stdout]     |
[INFO] [stdout] 387 | pub struct ParallelBenchmarkResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StreamingDDEXParser` is never constructed
[INFO] [stdout]   --> src/streaming/parser.rs:18:12
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StreamingDDEXParser<R: BufRead> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/parser.rs:32:12
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl<R: BufRead> StreamingDDEXParser<R> {
[INFO] [stdout]     | --------------------------------------- associated items in this implementation
[INFO] [stdout]  31 |     /// Create new streaming parser
[INFO] [stdout]  32 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  52 |     pub fn with_config(reader: R, version: ERNVersion, config: StreamingConfig) -> Self {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn with_progress_callback<F>(mut self, callback: F) -> Self
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn parse_next_element(&mut self) -> Result<Option<ParsedElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn handle_start_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn handle_nested_start_element(&mut self, name: &str) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn handle_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn handle_header_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     fn handle_release_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     fn handle_resource_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn handle_party_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     fn handle_deal_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 489 |     fn check_security_limits(&self) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 514 |     fn should_yield_for_memory(&self) -> Result<bool, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 520 |     fn update_progress(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `handle_start_element_by_name_and_attrs` and `handle_end_element_by_name` are never used
[INFO] [stdout]    --> src/streaming/parser.rs:560:8
[INFO] [stdout]     |
[INFO] [stdout] 558 | impl<R: BufRead> StreamingDDEXParser<R> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] 559 |     /// Handle start element by name and attributes (borrow-safe wrapper)
[INFO] [stdout] 560 |     fn handle_start_element_by_name_and_attrs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 596 |     fn handle_end_element_by_name(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParserState` is never used
[INFO] [stdout]   --> src/streaming/state.rs:11:10
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub enum ParserState {
[INFO] [stdout]    |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ParsingContext` is never constructed
[INFO] [stdout]   --> src/streaming/state.rs:47:12
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct ParsingContext {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/state.rs:58:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl ParsingContext {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  58 |     pub fn new(version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  70 |     pub fn push_element(&mut self, name: &str) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  78 |     pub fn pop_element(&mut self) -> Option<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  84 |     pub fn current_element_path(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  88 |     pub fn is_at_path(&self, path: &[&str]) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  96 |     pub fn clear_text_buffer(&mut self) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 100 |     pub fn add_text(&mut self, text: &str) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn take_text(&mut self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartialRelease` is never constructed
[INFO] [stdout]    --> src/streaming/state.rs:113:12
[INFO] [stdout]     |
[INFO] [stdout] 113 | pub struct PartialRelease {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartialResource` is never constructed
[INFO] [stdout]    --> src/streaming/state.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct PartialResource {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartialParty` is never constructed
[INFO] [stdout]    --> src/streaming/state.rs:144:12
[INFO] [stdout]     |
[INFO] [stdout] 144 | pub struct PartialParty {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartialDeal` is never constructed
[INFO] [stdout]    --> src/streaming/state.rs:155:12
[INFO] [stdout]     |
[INFO] [stdout] 155 | pub struct PartialDeal {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PartialMessageHeader` is never constructed
[INFO] [stdout]    --> src/streaming/state.rs:167:12
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub struct PartialMessageHeader {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `estimate_memory`, `is_complete`, and `into_release` are never used
[INFO] [stdout]    --> src/streaming/state.rs:178:12
[INFO] [stdout]     |
[INFO] [stdout] 177 | impl PartialRelease {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] 178 |     pub fn estimate_memory(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn is_complete(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     pub fn into_release(self) -> Release {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `estimate_memory`, `is_complete`, and `into_resource` are never used
[INFO] [stdout]    --> src/streaming/state.rs:214:12
[INFO] [stdout]     |
[INFO] [stdout] 213 | impl PartialResource {
[INFO] [stdout]     | -------------------- methods in this implementation
[INFO] [stdout] 214 |     pub fn estimate_memory(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn is_complete(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     pub fn into_resource(self) -> Resource {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `verify_comprehensive_parser` is never used
[INFO] [stdout]  --> src/streaming/verification.rs:7:8
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn verify_comprehensive_parser() {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `WorkingStreamingElement` is never used
[INFO] [stdout]   --> src/streaming/working_impl.rs:17:10
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub enum WorkingStreamingElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingStreamingParser` is never constructed
[INFO] [stdout]   --> src/streaming/working_impl.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 61 | pub struct WorkingStreamingParser<R: BufRead> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/working_impl.rs:95:12
[INFO] [stdout]     |
[INFO] [stdout]  93 | impl<R: BufRead> WorkingStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ associated items in this implementation
[INFO] [stdout]  94 |     /// Create new working streaming parser
[INFO] [stdout]  95 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn feed_chunk(
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub fn parse_next(&mut self) -> Result<Option<WorkingStreamingElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     fn handle_start_element_with_attrs(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 243 |     fn handle_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 369 |     fn get_resource_reference(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     fn get_resource_title(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 388 |     fn extract_resource_references(&self) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 395 |     fn update_memory_usage(&mut self) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 416 |     pub fn get_stats(&self) -> WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingStreamingStats` is never constructed
[INFO] [stdout]    --> src/streaming/working_impl.rs:437:12
[INFO] [stdout]     |
[INFO] [stdout] 437 | pub struct WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `is_memory_bounded` and `memory_efficiency` are never used
[INFO] [stdout]    --> src/streaming/working_impl.rs:450:12
[INFO] [stdout]     |
[INFO] [stdout] 448 | impl WorkingStreamingStats {
[INFO] [stdout]     | -------------------------- methods in this implementation
[INFO] [stdout] 449 |     /// Check if memory usage is within O(1) bounds (under 10MB)
[INFO] [stdout] 450 |     pub fn is_memory_bounded(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 455 |     pub fn memory_efficiency(&self) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `WorkingStreamIterator` is never constructed
[INFO] [stdout]    --> src/streaming/working_impl.rs:466:12
[INFO] [stdout]     |
[INFO] [stdout] 466 | pub struct WorkingStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `stats`, and `is_finished` are never used
[INFO] [stdout]    --> src/streaming/working_impl.rs:472:12
[INFO] [stdout]     |
[INFO] [stdout] 471 | impl<R: BufRead> WorkingStreamIterator<R> {
[INFO] [stdout]     | ----------------------------------------- associated items in this implementation
[INFO] [stdout] 472 |     pub fn new(reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 480 |     pub fn stats(&self) -> WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 485 |     pub fn is_finished(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZeroCopyParser` is never constructed
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:19:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ZeroCopyParser {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `StringCache` is never constructed
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct StringCache {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `intern`, and `hit_rate` are never used
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:40:8
[INFO] [stdout]    |
[INFO] [stdout] 39 | impl StringCache {
[INFO] [stdout]    | ---------------- associated items in this implementation
[INFO] [stdout] 40 |     fn new() -> Self {
[INFO] [stdout]    |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 48 |     fn intern(&mut self, bytes: &[u8]) -> String {
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     fn hit_rate(&self) -> f64 {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ParserState` is never used
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:70:6
[INFO] [stdout]    |
[INFO] [stdout] 70 | enum ParserState {
[INFO] [stdout]    |      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ZeroCopyElement` is never used
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:85:10
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub enum ZeroCopyElement {
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZeroCopyStats` is never constructed
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct ZeroCopyStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:138:12
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl ZeroCopyParser {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] 138 |     pub fn new(version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 156 |     pub fn parse_streaming(&mut self, data: &[u8]) -> Result<Vec<ZeroCopyElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 230 |     fn find_elements_simd(&self, data: &[u8], pattern: &[u8]) -> Result<Vec<usize>, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 298 |     fn find_elements_fallback(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 326 |     fn extract_message_header(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 363 |     fn extract_release_zero_copy(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     fn extract_sound_recording_zero_copy(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 460 |     fn extract_video_zero_copy(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 504 |     fn extract_image_zero_copy(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     fn extract_text_zero_copy(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 593 |     fn find_closing_tag(&self, data: &[u8], start: usize, tag_name: &[u8]) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 609 |     fn extract_field_zero_copy<'a>(&self, data: &'a [u8], field_name: &[u8]) -> Option<&'a [u8]> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 632 |     fn extract_nested_field_zero_copy<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 659 |     fn extract_attribute_zero_copy<'a>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 682 |     fn extract_resource_references_zero_copy(&mut self, data: &[u8]) -> Vec<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn find_closing_tag_simple(&self, data: &[u8], start: usize, tag_name: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 712 |     fn estimate_memory_usage(&self) -> usize {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 718 |     pub fn get_stats(&self) -> &ZeroCopyStats {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZeroCopyStreamIterator` is never constructed
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:724:12
[INFO] [stdout]     |
[INFO] [stdout] 724 | pub struct ZeroCopyStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `stats`, and `convert_to_working_element` are never used
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:735:12
[INFO] [stdout]     |
[INFO] [stdout] 734 | impl<R: BufRead> ZeroCopyStreamIterator<R> {
[INFO] [stdout]     | ------------------------------------------ associated items in this implementation
[INFO] [stdout] 735 |     pub fn new(mut reader: R, version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 750 |     pub fn stats(&self) -> WorkingStreamingStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 764 |     fn convert_to_working_element(element: ZeroCopyElement) -> WorkingStreamingElement {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ZeroCopyIterator` is never constructed
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:890:12
[INFO] [stdout]     |
[INFO] [stdout] 890 | pub struct ZeroCopyIterator {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `parse_all`, and `stats` are never used
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:899:12
[INFO] [stdout]     |
[INFO] [stdout] 898 | impl ZeroCopyIterator {
[INFO] [stdout]     | --------------------- associated items in this implementation
[INFO] [stdout] 899 |     pub fn new(data: Vec<u8>, version: ERNVersion, chunk_size: usize) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 909 |     pub fn parse_all(&mut self) -> Result<Vec<ZeroCopyElement>, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 925 |     pub fn stats(&self) -> &ZeroCopyStats {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `Result` is never used
[INFO] [stdout]  --> src/transform/flatten.rs:6:6
[INFO] [stdout]   |
[INFO] [stdout] 6 | type Result<T> = std::result::Result<T, ParseError>;
[INFO] [stdout]   |      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated functions are never used
[INFO] [stdout]    --> src/transform/flatten.rs:22:12
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Flattener {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout]  22 |     pub fn flatten(graph: ERNMessage) -> Result<FlattenedMessage> {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     fn flatten_releases(releases: &[Release], resources: &[Resource]) -> Result<Vec<ParsedRelease>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 104 |     fn flatten_resources(resources: &[Resource]) -> Result<IndexMap<String, ParsedResource>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn flatten_deals(deals: &[Deal]) -> Result<Vec<ParsedDeal>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 174 |     fn flatten_parties(parties: &[Party]) -> Result<IndexMap<String, Party>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 185 |     fn get_primary_name(names: &[LocalizedString], field_path: &str) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 192 |     fn get_primary_title(titles: &[LocalizedString], field_path: &str) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     fn get_primary_id(ids: &[Identifier], field_path: &str) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_primary_name_optional(names: &[LocalizedString]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 210 |     fn get_primary_title_optional(titles: &[LocalizedString]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn get_primary_id_optional(ids: &[Identifier]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 232 |     fn extract_identifiers(ids: &[Identifier]) -> ReleaseIdentifiers {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 267 |     fn format_display_artist(artists: &[Artist]) -> Result<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 275 |     fn extract_artists(artists: &[Artist]) -> Result<Vec<ArtistInfo>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 290 |     fn build_tracks(refs: &[ReleaseResourceReference], resources: &[Resource]) -> Result<Vec<ParsedTrack>> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 345 |     fn count_discs(refs: &[ReleaseResourceReference]) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 352 |     fn build_territories(included: &[String], excluded: &[String]) -> Vec<TerritoryInfo> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 378 |     fn build_price_tiers(terms: &DealTerms) -> Vec<PriceTier> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GraphBuilder` is never constructed
[INFO] [stdout]   --> src/transform/graph.rs:14:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct GraphBuilder {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/transform/graph.rs:19:12
[INFO] [stdout]     |
[INFO] [stdout]  18 | impl GraphBuilder {
[INFO] [stdout]     | ----------------- associated items in this implementation
[INFO] [stdout]  19 |     pub fn new(version: ERNVersion) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn build_from_xml<R: BufRead + std::io::Seek>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  33 |     pub fn build_from_xml_with_security_config<R: BufRead + std::io::Seek>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn build_from_xml_with_context<R: BufRead + std::io::Seek>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 165 |     pub fn build_from_xml_with_context_and_security<R: BufRead + std::io::Seek>(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 176 |     fn parse_header_from_xml<R: BufRead>(&self, reader: &mut Reader<R>) -> Result<MessageHeader, ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 349 |     fn parse_minimal_release<R: BufRead>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 581 |     fn parse_sound_recording<R: BufRead>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     fn parse_release_deal<R: BufRead>(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_duration` is never used
[INFO] [stdout]    --> src/transform/graph.rs:921:4
[INFO] [stdout]     |
[INFO] [stdout] 921 | fn parse_duration(duration_str: &str) -> Result<std::time::Duration, std::time::Duration> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ReferenceResolver` is never constructed
[INFO] [stdout]  --> src/transform/resolve.rs:7:12
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub struct ReferenceResolver {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `build_maps`, `resolve_party_reference`, `resolve_resource_reference`, `resolve_release_reference`, and `validate_references` are never used
[INFO] [stdout]   --> src/transform/resolve.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 20 | impl ReferenceResolver {
[INFO] [stdout]    | ---------------------- associated items in this implementation
[INFO] [stdout] 21 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn build_maps(&mut self, message: &ERNMessage) {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 60 |     pub fn resolve_party_reference(&self, reference: &str) -> Option<&Party> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 64 |     pub fn resolve_resource_reference(&self, reference: &str) -> Option<&Resource> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     pub fn resolve_release_reference(&self, reference: &str) -> Option<&Release> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 72 |     pub fn validate_references(&self, message: &ERNMessage) -> Vec<UnresolvedReference> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnresolvedReference` is never constructed
[INFO] [stdout]    --> src/transform/resolve.rs:109:12
[INFO] [stdout]     |
[INFO] [stdout] 109 | pub struct UnresolvedReference {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VersionAdapter` is never constructed
[INFO] [stdout]  --> src/transform/version_adapter.rs:9:12
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub struct VersionAdapter {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `adapt_message_header`, and `adapt_deal_terms` are never used
[INFO] [stdout]   --> src/transform/version_adapter.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl VersionAdapter {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(version: ERNVersion) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn adapt_message_header(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn adapt_deal_terms(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `VersionMigrator` is never constructed
[INFO] [stdout]   --> src/transform/version_adapter.rs:90:12
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct VersionMigrator;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `migrate_382_to_42`, `migrate_42_to_43`, and `downgrade_43_to_42` are never used
[INFO] [stdout]    --> src/transform/version_adapter.rs:94:12
[INFO] [stdout]     |
[INFO] [stdout]  92 | impl VersionMigrator {
[INFO] [stdout]     | -------------------- associated functions in this implementation
[INFO] [stdout]  93 |     /// Migrate from 3.8.2 to 4.2
[INFO] [stdout]  94 |     pub fn migrate_382_to_42(message: &ERNMessage) -> Result<ERNMessage, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 112 |     pub fn migrate_42_to_43(message: &ERNMessage) -> Result<ERNMessage, ParseError> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn downgrade_43_to_42(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_utf8` is never used
[INFO] [stdout]   --> src/utf8_utils.rs:60:8
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub fn validate_utf8(bytes: &[u8]) -> Result<&str, ParseError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `validate_utf8_string` is never used
[INFO] [stdout]   --> src/utf8_utils.rs:67:8
[INFO] [stdout]    |
[INFO] [stdout] 67 | pub fn validate_utf8_string(text: &str) -> Result<(), ParseError> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 56.17s
[INFO] running `Command { std: "docker" "inspect" "903991746af20680625897e7806d53f9bfdb878394442fdba21919bb7567a7af", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "903991746af20680625897e7806d53f9bfdb878394442fdba21919bb7567a7af", kill_on_drop: false }`
[INFO] [stdout] 903991746af20680625897e7806d53f9bfdb878394442fdba21919bb7567a7af
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 74ffcc37c5929fe295769de7cd3c1aa1884e73caefb2ab7094a23081b8c61506
[INFO] running `Command { std: "docker" "start" "-a" "74ffcc37c5929fe295769de7cd3c1aa1884e73caefb2ab7094a23081b8c61506", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling bitflags v2.9.4
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling test-case-core v3.3.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling insta v1.43.2
[INFO] [stderr]    Compiling rmp v0.8.14
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling test-case-macros v3.3.1
[INFO] [stderr]    Compiling test-case v3.3.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling rusty-fork v0.3.0
[INFO] [stderr]    Compiling proptest v1.7.0
[INFO] [stderr]    Compiling indexmap v2.11.1
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling rmp-serde v1.3.0
[INFO] [stderr]    Compiling csv v1.3.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling ddex-core v0.4.5
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ddex-parser v0.4.5 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `BytesStart`
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quick_xml::{events::{Event, BytesStart}, Reader};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `log::error`
[INFO] [stdout]  --> src/streaming/comprehensive.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use log::error;
[INFO] [stdout]   |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BytesStart`
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:11:33
[INFO] [stdout]    |
[INFO] [stdout] 11 | use quick_xml::{events::{Event, BytesStart}, Reader};
[INFO] [stdout]    |                                 ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorkingStreamingElement`
[INFO] [stdout]  --> src/streaming/perf_analysis.rs:4:61
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::streaming::working_impl::{WorkingStreamIterator, WorkingStreamingElement};
[INFO] [stdout]   |                                                             ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `WorkingStreamingStats`
[INFO] [stdout]  --> src/streaming/zero_copy_benchmark.rs:9:47
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::streaming::{WorkingStreamIterator, WorkingStreamingStats};
[INFO] [stdout]   |                                               ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ERNVersion`
[INFO] [stdout]  --> src/api_integration_test.rs:6:29
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::{DDEXParser, ERNVersion};
[INFO] [stdout]   |                             ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/parser/stream.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     let location = self.get_current_location();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/parser/xml_validator.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |             if let Some((expected, depth)) = self.element_stack.pop() {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `in_message_header` is never read
[INFO] [stdout]    --> src/transform/graph.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   in_message_header = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum AlignedParserState {
[INFO] [stdout]    |      ------------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlignedParserState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_location` is never used
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:402:8
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl<R: BufRead> AlignedStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]   --> src/streaming/comprehensive.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ParserState {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserState` 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 `get_current_location` is never used
[INFO] [stdout]    --> src/streaming/comprehensive.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl<R: BufRead> ComprehensiveStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/streaming/fast_streaming_parser.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub struct FastStreamingParser {
[INFO] [stdout]    |            ------------------- field in this struct
[INFO] [stdout] 14 |     config: StreamingConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reader` and `buffer` are never read
[INFO] [stdout]   --> src/streaming/fixed_comprehensive.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FixedStreamingParser<R: BufRead> {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 27 |     reader: Reader<R>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     buffer: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_location` is never used
[INFO] [stdout]    --> src/streaming/minimal.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<R: BufRead> MinimalStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn get_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `find_element_boundaries` and `find_pattern` are never used
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:84:8
[INFO] [stdout]     |
[INFO] [stdout]  25 | impl ParallelStreamingParser {
[INFO] [stdout]     | ---------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  84 |     fn find_element_boundaries(&self, data: &[u8]) -> Vec<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     fn find_pattern(&self, data: &[u8], pattern: &[u8]) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reader` is never read
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct ParallelStreamingIterator<R: BufRead> {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 185 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/streaming/parser.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl<R: BufRead> StreamingDDEXParser<R> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn handle_start_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn handle_nested_start_element(&mut self, name: &str) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn handle_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn handle_header_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     fn handle_release_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     fn handle_resource_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn handle_party_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     fn handle_deal_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ZeroCopyParser {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     state: ParserState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InMessageHeader`, `InRelease`, `InResource`, and `Done` are never constructed
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | enum ParserState {
[INFO] [stdout]    |      ----------- variants in this enum
[INFO] [stdout] 71 |     Initial,
[INFO] [stdout] 72 |     InMessageHeader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 73 |     InRelease {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     InResource {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Done,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserState` 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 `find_closing_tag_simple` is never used
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl ZeroCopyParser {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn find_closing_tag_simple(&self, data: &[u8], start: usize, tag_name: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reader` is never read
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:725:5
[INFO] [stdout]     |
[INFO] [stdout] 724 | pub struct ZeroCopyStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ---------------------- field in this struct
[INFO] [stdout] 725 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `chunk_size` are never read
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:893:5
[INFO] [stdout]     |
[INFO] [stdout] 890 | pub struct ZeroCopyIterator {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 893 |     position: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 894 |     chunk_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_primary_name_optional` and `get_primary_id_optional` are never used
[INFO] [stdout]    --> src/transform/flatten.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Flattener {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_primary_name_optional(names: &[LocalizedString]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn get_primary_id_optional(ids: &[Identifier]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `location`
[INFO] [stdout]    --> src/parser/stream.rs:357:25
[INFO] [stdout]     |
[INFO] [stdout] 357 |                     let location = self.get_current_location();
[INFO] [stdout]     |                         ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_location`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `depth`
[INFO] [stdout]    --> src/parser/xml_validator.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |             if let Some((expected, depth)) = self.element_stack.pop() {
[INFO] [stdout]     |                                    ^^^^^ help: if this is intentional, prefix it with an underscore: `_depth`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:584:13
[INFO] [stdout]     |
[INFO] [stdout] 584 |         let mut iterator = AlignedStreamIterator::new(cursor, ERNVersion::V4_3);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `elapsed`
[INFO] [stdout]    --> src/streaming/fast_streaming_parser.rs:476:13
[INFO] [stdout]     |
[INFO] [stdout] 476 |         let elapsed = start.elapsed();
[INFO] [stdout]     |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_elapsed`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/streaming/fast_zero_copy.rs:430:13
[INFO] [stdout]     |
[INFO] [stdout] 430 |         let mut iterator = FastZeroCopyIterator::new(cursor, ERNVersion::V4_3);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:504:13
[INFO] [stdout]     |
[INFO] [stdout] 504 |         let mut iterator = ParallelStreamingIterator::new(cursor, ERNVersion::V4_3);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/streaming/perf_analysis.rs:126:13
[INFO] [stdout]     |
[INFO] [stdout] 126 |         let mut iterator = WorkingStreamIterator::new(cursor, ERNVersion::V4_3);
[INFO] [stdout]     |             ----^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `initial_stats`
[INFO] [stdout]    --> src/streaming/perf_analysis.rs:267:13
[INFO] [stdout]     |
[INFO] [stdout] 267 |         let initial_stats = iterator.stats();
[INFO] [stdout]     |             ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `final_stats`
[INFO] [stdout]    --> src/streaming/perf_analysis.rs:286:13
[INFO] [stdout]     |
[INFO] [stdout] 286 |         let final_stats = iterator.stats();
[INFO] [stdout]     |             ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_final_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/streaming/parallel_benchmark.rs:206:13
[INFO] [stdout]     |
[INFO] [stdout] 206 |         let mut working_iterator = WorkingStreamIterator::new(cursor, ERNVersion::V4_3);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/streaming/parallel_benchmark.rs:235:13
[INFO] [stdout]     |
[INFO] [stdout] 235 |         let mut parallel_iterator = ParallelStreamingIterator::new(cursor, ERNVersion::V4_3);
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/streaming/parallel_benchmark.rs:419:21
[INFO] [stdout]     |
[INFO] [stdout] 419 |                 let mut iterator =
[INFO] [stdout]     |                     ----^^^^^^^^
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: value assigned to `in_message_header` is never read
[INFO] [stdout]    --> src/transform/graph.rs:233:29
[INFO] [stdout]     |
[INFO] [stdout] 233 | ...                   in_message_header = false;
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: maybe it is overwritten before being read?
[INFO] [stdout]     = note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]   --> src/streaming/aligned_comprehensive.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | enum AlignedParserState {
[INFO] [stdout]    |      ------------------ variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 34 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `AlignedParserState` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_current_location` is never used
[INFO] [stdout]    --> src/streaming/aligned_comprehensive.rs:402:8
[INFO] [stdout]     |
[INFO] [stdout]  51 | impl<R: BufRead> AlignedStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 402 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variant `Complete` is never constructed
[INFO] [stdout]   --> src/streaming/comprehensive.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | enum ParserState {
[INFO] [stdout]    |      ----------- variant in this enum
[INFO] [stdout] ...
[INFO] [stdout] 33 |     Complete,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserState` 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 `get_current_location` is never used
[INFO] [stdout]    --> src/streaming/comprehensive.rs:294:8
[INFO] [stdout]     |
[INFO] [stdout]  50 | impl<R: BufRead> ComprehensiveStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 294 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `reader` and `buffer` are never read
[INFO] [stdout]   --> src/streaming/fixed_comprehensive.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct FixedStreamingParser<R: BufRead> {
[INFO] [stdout]    |            -------------------- fields in this struct
[INFO] [stdout] 27 |     reader: Reader<R>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 28 |     buffer: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `get_location` is never used
[INFO] [stdout]    --> src/streaming/minimal.rs:129:8
[INFO] [stdout]     |
[INFO] [stdout]  40 | impl<R: BufRead> MinimalStreamingParser<R> {
[INFO] [stdout]     | ------------------------------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 129 |     fn get_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reader` is never read
[INFO] [stdout]    --> src/streaming/parallel_parser.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 184 | pub struct ParallelStreamingIterator<R: BufRead> {
[INFO] [stdout]     |            ------------------------- field in this struct
[INFO] [stdout] 185 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/streaming/parser.rs:136:8
[INFO] [stdout]     |
[INFO] [stdout]  30 | impl<R: BufRead> StreamingDDEXParser<R> {
[INFO] [stdout]     | --------------------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 136 |     fn handle_start_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     fn handle_nested_start_element(&mut self, name: &str) -> Result<(), ParseError> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 273 |     fn handle_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 331 |     fn handle_header_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 385 |     fn handle_release_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 427 |     fn handle_resource_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 465 |     fn handle_party_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 477 |     fn handle_deal_end_element(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 542 |     fn get_current_location(&self) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `state` is never read
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct ZeroCopyParser {
[INFO] [stdout]    |            -------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 25 |     state: ParserState,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `InMessageHeader`, `InRelease`, `InResource`, and `Done` are never constructed
[INFO] [stdout]   --> src/streaming/zero_copy_parser.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 70 | enum ParserState {
[INFO] [stdout]    |      ----------- variants in this enum
[INFO] [stdout] 71 |     Initial,
[INFO] [stdout] 72 |     InMessageHeader,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 73 |     InRelease {
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 76 |     InResource {
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     Done,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ParserState` 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 `find_closing_tag_simple` is never used
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:699:8
[INFO] [stdout]     |
[INFO] [stdout] 137 | impl ZeroCopyParser {
[INFO] [stdout]     | ------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 699 |     fn find_closing_tag_simple(&self, data: &[u8], start: usize, tag_name: &str) -> Option<usize> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `reader` is never read
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:725:5
[INFO] [stdout]     |
[INFO] [stdout] 724 | pub struct ZeroCopyStreamIterator<R: BufRead> {
[INFO] [stdout]     |            ---------------------- field in this struct
[INFO] [stdout] 725 |     reader: R,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `position` and `chunk_size` are never read
[INFO] [stdout]    --> src/streaming/zero_copy_parser.rs:893:5
[INFO] [stdout]     |
[INFO] [stdout] 890 | pub struct ZeroCopyIterator {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 893 |     position: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 894 |     chunk_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `get_primary_name_optional` and `get_primary_id_optional` are never used
[INFO] [stdout]    --> src/transform/flatten.rs:206:8
[INFO] [stdout]     |
[INFO] [stdout]  21 | impl Flattener {
[INFO] [stdout]     | -------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 206 |     fn get_primary_name_optional(names: &[LocalizedString]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 214 |     fn get_primary_id_optional(ids: &[Identifier]) -> Option<String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-382/basic_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/phase2_complete.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 |                 include_str!("../../../test-suite/valid/ern-382/basic_release.xml")
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-42/basic_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/phase2_complete.rs:18:17
[INFO] [stdout]    |
[INFO] [stdout] 18 |                 include_str!("../../../test-suite/valid/ern-42/basic_release.xml")
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-4.3/simple_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/phase2_complete.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 |                 include_str!("../../../test-suite/valid/ern-4.3/simple_release.xml")
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-4.3/simple_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/phase2_complete.rs:36:15
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let xml = include_str!("../../../test-suite/valid/ern-4.3/simple_release.xml");
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `StringRepeat` is never used
[INFO] [stdout]    --> tests/test_categories.rs:206:7
[INFO] [stdout]     |
[INFO] [stdout] 206 | trait StringRepeat {
[INFO] [stdout]     |       ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `message_id` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]   --> tests/playground_regression_test.rs:71:27
[INFO] [stdout]    |
[INFO] [stdout] 71 |         assert_eq!(parsed.message_id, "MSG_PLAYGROUND_2024");
[INFO] [stdout]    |                           ^^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: some of the expressions' fields have a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 71 |         assert_eq!(parsed.flat.message_id, "MSG_PLAYGROUND_2024");
[INFO] [stdout]    |                           +++++
[INFO] [stdout] 71 |         assert_eq!(parsed.graph.message_header.message_id, "MSG_PLAYGROUND_2024");
[INFO] [stdout]    |                           +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0615]: attempted to take value of method `releases` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]   --> tests/playground_regression_test.rs:72:24
[INFO] [stdout]    |
[INFO] [stdout] 72 |         assert!(parsed.releases.len() > 0);
[INFO] [stdout]    |                        ^^^^^^^^ method, not a field
[INFO] [stdout]    |
[INFO] [stdout] help: use parentheses to call the method
[INFO] [stdout]    |
[INFO] [stdout] 72 |         assert!(parsed.releases().len() > 0);
[INFO] [stdout]    |                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-382/basic_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/integration_test.rs:12:13
[INFO] [stdout]    |
[INFO] [stdout] 12 |             include_str!("../../../test-suite/valid/ern-382/basic_release.xml"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-42/basic_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/integration_test.rs:17:13
[INFO] [stdout]    |
[INFO] [stdout] 17 |             include_str!("../../../test-suite/valid/ern-42/basic_release.xml"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-4.3/simple_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/integration_test.rs:22:13
[INFO] [stdout]    |
[INFO] [stdout] 22 |             include_str!("../../../test-suite/valid/ern-4.3/simple_release.xml"),
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `sender` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]   --> tests/playground_regression_test.rs:75:24
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert!(parsed.sender.is_some());
[INFO] [stdout]    |                        ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 75 |         assert!(parsed.flat.sender.is_some());
[INFO] [stdout]    |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `recipient` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]   --> tests/playground_regression_test.rs:76:24
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert!(parsed.recipient.is_some());
[INFO] [stdout]    |                        ^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 76 |         assert!(parsed.flat.recipient.is_some());
[INFO] [stdout]    |                        +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `sender` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]   --> tests/playground_regression_test.rs:78:29
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let sender = parsed.sender.unwrap();
[INFO] [stdout]    |                             ^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 78 |         let sender = parsed.flat.sender.unwrap();
[INFO] [stdout]    |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `recipient` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]   --> tests/playground_regression_test.rs:79:32
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let recipient = parsed.recipient.unwrap();
[INFO] [stdout]    |                                ^^^^^^^^^ unknown field
[INFO] [stdout]    |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let recipient = parsed.flat.recipient.unwrap();
[INFO] [stdout]    |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0282]: type annotations needed
[INFO] [stdout]   --> tests/integration_test.rs:29:56
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let result = parser.parse(std::io::Cursor::new(xml.as_bytes()));
[INFO] [stdout]    |                                                        ^^^ cannot infer type
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0282`.
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `message_id` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]    --> tests/playground_regression_test.rs:147:27
[INFO] [stdout]     |
[INFO] [stdout] 147 |         assert_eq!(parsed.message_id, "MSG_PLAYGROUND_42_2024");
[INFO] [stdout]     |                           ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: some of the expressions' fields have a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 147 |         assert_eq!(parsed.flat.message_id, "MSG_PLAYGROUND_42_2024");
[INFO] [stdout]     |                           +++++
[INFO] [stdout] 147 |         assert_eq!(parsed.graph.message_header.message_id, "MSG_PLAYGROUND_42_2024");
[INFO] [stdout]     |                           +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0615]: attempted to take value of method `releases` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]    --> tests/playground_regression_test.rs:148:24
[INFO] [stdout]     |
[INFO] [stdout] 148 |         assert!(parsed.releases.len() > 0);
[INFO] [stdout]     |                        ^^^^^^^^ method, not a field
[INFO] [stdout]     |
[INFO] [stdout] help: use parentheses to call the method
[INFO] [stdout]     |
[INFO] [stdout] 148 |         assert!(parsed.releases().len() > 0);
[INFO] [stdout]     |                                ++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `message_id` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]    --> tests/playground_regression_test.rs:187:27
[INFO] [stdout]     |
[INFO] [stdout] 187 |         assert_eq!(parsed.message_id, "TEST_SIMPLIFIED");
[INFO] [stdout]     |                           ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: some of the expressions' fields have a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 187 |         assert_eq!(parsed.flat.message_id, "TEST_SIMPLIFIED");
[INFO] [stdout]     |                           +++++
[INFO] [stdout] 187 |         assert_eq!(parsed.graph.message_header.message_id, "TEST_SIMPLIFIED");
[INFO] [stdout]     |                           +++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `sender` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]    --> tests/playground_regression_test.rs:190:29
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let sender = parsed.sender.unwrap();
[INFO] [stdout]     |                             ^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 190 |         let sender = parsed.flat.sender.unwrap();
[INFO] [stdout]     |                             +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `recipient` on type `ddex_core::models::flat::message::ParsedERNMessage`
[INFO] [stdout]    --> tests/playground_regression_test.rs:191:32
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let recipient = parsed.recipient.unwrap();
[INFO] [stdout]     |                                ^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 191 |         let recipient = parsed.flat.recipient.unwrap();
[INFO] [stdout]     |                                +++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ddex-parser` (test "phase2_complete") due to 4 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> tests/version_summary.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut parser = DDEXParser::new();
[INFO] [stdout]    |         ----^^^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0609, E0615.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0609`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `parser`
[INFO] [stdout]   --> tests/version_summary.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     let mut parser = DDEXParser::new();
[INFO] [stdout]    |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_parser`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-382/basic_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]  --> tests/version_migration.rs:9:19
[INFO] [stdout]   |
[INFO] [stdout] 9 |     let xml_382 = include_str!("../../../test-suite/valid/ern-382/basic_release.xml");
[INFO] [stdout]   |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-42/basic_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/version_migration.rs:18:18
[INFO] [stdout]    |
[INFO] [stdout] 18 |     let xml_42 = include_str!("../../../test-suite/valid/ern-42/basic_release.xml");
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-42/basic_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/version_migration.rs:28:18
[INFO] [stdout]    |
[INFO] [stdout] 28 |     let xml_42 = include_str!("../../../test-suite/valid/ern-42/basic_release.xml");
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: couldn't read `tests/../../../test-suite/valid/ern-4.3/simple_release.xml`: No such file or directory (os error 2)
[INFO] [stdout]   --> tests/version_migration.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |     let xml_43 = include_str!("../../../test-suite/valid/ern-4.3/simple_release.xml");
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ddex-parser` (test "playground_regression_test") due to 11 previous errors
[INFO] [stderr] error: could not compile `ddex-parser` (test "integration_test") due to 4 previous errors
[INFO] [stderr] error: could not compile `ddex-parser` (test "version_migration") due to 4 previous errors
[INFO] [stdout] error[E0026]: variant `DepthLimitExceeded` does not have a field named `max`
[INFO] [stdout]    --> tests/v0_4_0_final_tests.rs:832:53
[INFO] [stdout]     |
[INFO] [stdout] 832 |         Err(ParseError::DepthLimitExceeded { depth, max }) if depth > 100 => {
[INFO] [stdout]     |                                                     ^^^
[INFO] [stdout]     |                                                     |
[INFO] [stdout]     |                                                     variant `DepthLimitExceeded` does not have this field
[INFO] [stdout]     |                                                     help: `DepthLimitExceeded` has a field named `limit`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0027]: pattern does not mention field `limit`
[INFO] [stdout]    --> tests/v0_4_0_final_tests.rs:832:13
[INFO] [stdout]     |
[INFO] [stdout] 832 |         Err(ParseError::DepthLimitExceeded { depth, max }) if depth > 100 => {
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing field `limit`
[INFO] [stdout]     |
[INFO] [stdout] help: include the missing field in the pattern
[INFO] [stdout]     |
[INFO] [stdout] 832 |         Err(ParseError::DepthLimitExceeded { depth, max, limit }) if depth > 100 => {
[INFO] [stdout]     |                                                        +++++++
[INFO] [stdout] help: if you don't care about this missing field, you can explicitly ignore it
[INFO] [stdout]     |
[INFO] [stdout] 832 |         Err(ParseError::DepthLimitExceeded { depth, max, limit: _ }) if depth > 100 => {
[INFO] [stdout]     |                                                        ++++++++++
[INFO] [stdout] help: or always ignore missing fields here
[INFO] [stdout]     |
[INFO] [stdout] 832 |         Err(ParseError::DepthLimitExceeded { depth, max, .. }) if depth > 100 => {
[INFO] [stdout]     |                                                        ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0026, E0027.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0026`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `ddex-parser` (test "v0_4_0_final_tests") due to 2 previous errors
[INFO] running `Command { std: "docker" "inspect" "74ffcc37c5929fe295769de7cd3c1aa1884e73caefb2ab7094a23081b8c61506", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "74ffcc37c5929fe295769de7cd3c1aa1884e73caefb2ab7094a23081b8c61506", kill_on_drop: false }`
[INFO] [stdout] 74ffcc37c5929fe295769de7cd3c1aa1884e73caefb2ab7094a23081b8c61506
