[INFO] fetching crate biblib 0.3.0... [INFO] testing biblib-0.3.0 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] extracting crate biblib 0.3.0 into /workspace/builds/worker-3-tc2/source [INFO] started tweaking crates.io crate biblib 0.3.0 [INFO] finished tweaking crates.io crate biblib 0.3.0 [INFO] tweaked toml for crates.io crate biblib 0.3.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate biblib 0.3.0 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate biblib 0.3.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 5dba5f86f375044f6b9f19e19e6cbe5afc3d5edef3447158e888b98e349c7cdd [INFO] running `Command { std: "docker" "start" "-a" "5dba5f86f375044f6b9f19e19e6cbe5afc3d5edef3447158e888b98e349c7cdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5dba5f86f375044f6b9f19e19e6cbe5afc3d5edef3447158e888b98e349c7cdd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5dba5f86f375044f6b9f19e19e6cbe5afc3d5edef3447158e888b98e349c7cdd", kill_on_drop: false }` [INFO] [stdout] 5dba5f86f375044f6b9f19e19e6cbe5afc3d5edef3447158e888b98e349c7cdd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] dd0cc3266ce57284f38adddfc8868e564b879f6e64166e28012c8e6f998dcd08 [INFO] running `Command { std: "docker" "start" "-a" "dd0cc3266ce57284f38adddfc8868e564b879f6e64166e28012c8e6f998dcd08", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.93 [INFO] [stderr] Compiling unicode-ident v1.0.15 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling rustversion v1.0.21 [INFO] [stderr] Compiling rayon-core v1.12.1 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling itoa v1.0.14 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling ryu v1.0.18 [INFO] [stderr] Compiling static_assertions v1.1.0 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling csv-core v0.1.11 [INFO] [stderr] Compiling quick-xml v0.37.2 [INFO] [stderr] Compiling crossbeam-epoch v0.9.18 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling castaway v0.2.3 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling quote v1.0.38 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling rayon v1.10.0 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling biblib v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: fields `line_number` and `original_record` are never read [INFO] [stdout] --> src/csv/structure.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) struct RawCsvData { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub(crate) line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 26 | /// Original record for debugging (optional for memory efficiency) [INFO] [stdout] 27 | pub(crate) original_record: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawCsvData` has derived impls for the traits `Clone` and `Debug`, but these are 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 `as_au` is never used [INFO] [stdout] --> src/pubmed/author.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl AuthorName { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ignored_lines` is never read [INFO] [stdout] --> src/pubmed/structure.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) struct RawPubmedData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub(crate) ignored_lines: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pubmed/author.rs:63:18 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 21.09s [INFO] running `Command { std: "docker" "inspect" "dd0cc3266ce57284f38adddfc8868e564b879f6e64166e28012c8e6f998dcd08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "dd0cc3266ce57284f38adddfc8868e564b879f6e64166e28012c8e6f998dcd08", kill_on_drop: false }` [INFO] [stdout] dd0cc3266ce57284f38adddfc8868e564b879f6e64166e28012c8e6f998dcd08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 398b3f71eedb37ff815d0ebb81c27cf68b7460e743e8b35f01f735d6c0dc0685 [INFO] running `Command { std: "docker" "start" "-a" "398b3f71eedb37ff815d0ebb81c27cf68b7460e743e8b35f01f735d6c0dc0685", kill_on_drop: false }` [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling diff v0.1.13 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling syn v2.0.96 [INFO] [stderr] Compiling pretty_assertions v1.4.1 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling rstest_macros v0.25.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling serde_derive v1.0.217 [INFO] [stderr] Compiling thiserror-impl v2.0.11 [INFO] [stderr] Compiling thiserror v2.0.11 [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling rstest v0.25.0 [INFO] [stderr] Compiling csv v1.3.1 [INFO] [stderr] Compiling biblib v0.3.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: fields `line_number` and `original_record` are never read [INFO] [stdout] --> src/csv/structure.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) struct RawCsvData { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub(crate) line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 26 | /// Original record for debugging (optional for memory efficiency) [INFO] [stdout] 27 | pub(crate) original_record: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawCsvData` has derived impls for the traits `Clone` and `Debug`, but these are 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 `as_au` is never used [INFO] [stdout] --> src/pubmed/author.rs:63:12 [INFO] [stdout] | [INFO] [stdout] 17 | impl AuthorName { [INFO] [stdout] | --------------- method in this implementation [INFO] [stdout] ... [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow { [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ignored_lines` is never read [INFO] [stdout] --> src/pubmed/structure.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) struct RawPubmedData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub(crate) ignored_lines: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pubmed/author.rs:63:18 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line_number` and `original_record` are never read [INFO] [stdout] --> src/csv/structure.rs:25:16 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) struct RawCsvData { [INFO] [stdout] | ---------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 25 | pub(crate) line_number: usize, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 26 | /// Original record for debugging (optional for memory efficiency) [INFO] [stdout] 27 | pub(crate) original_record: Option>, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `RawCsvData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `ignored_lines` is never read [INFO] [stdout] --> src/pubmed/structure.rs:15:16 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) struct RawPubmedData { [INFO] [stdout] | ------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 15 | pub(crate) ignored_lines: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> src/pubmed/author.rs:63:18 [INFO] [stdout] | [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 63 | pub fn as_au(&self) -> Cow<'_, str> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 26.55s [INFO] running `Command { std: "docker" "inspect" "398b3f71eedb37ff815d0ebb81c27cf68b7460e743e8b35f01f735d6c0dc0685", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "398b3f71eedb37ff815d0ebb81c27cf68b7460e743e8b35f01f735d6c0dc0685", kill_on_drop: false }` [INFO] [stdout] 398b3f71eedb37ff815d0ebb81c27cf68b7460e743e8b35f01f735d6c0dc0685 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4fbdb4aa28e30be4a26acabdd89a5ca90d9c2f7fa25c4f55d4fc242ef0c575a5 [INFO] running `Command { std: "docker" "start" "-a" "4fbdb4aa28e30be4a26acabdd89a5ca90d9c2f7fa25c4f55d4fc242ef0c575a5", kill_on_drop: false }` [INFO] [stderr] warning: fields `line_number` and `original_record` are never read [INFO] [stderr] --> src/csv/structure.rs:25:16 [INFO] [stderr] | [INFO] [stderr] 13 | pub(crate) struct RawCsvData { [INFO] [stderr] | ---------- fields in this struct [INFO] [stderr] ... [INFO] [stderr] 25 | pub(crate) line_number: usize, [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] 26 | /// Original record for debugging (optional for memory efficiency) [INFO] [stderr] 27 | pub(crate) original_record: Option>, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `RawCsvData` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: method `as_au` is never used [INFO] [stderr] --> src/pubmed/author.rs:63:12 [INFO] [stderr] | [INFO] [stderr] 17 | impl AuthorName { [INFO] [stderr] | --------------- method in this implementation [INFO] [stderr] ... [INFO] [stderr] 63 | pub fn as_au(&self) -> Cow { [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field `ignored_lines` is never read [INFO] [stderr] --> src/pubmed/structure.rs:15:16 [INFO] [stderr] | [INFO] [stderr] 9 | pub(crate) struct RawPubmedData { [INFO] [stderr] | ------------- field in this struct [INFO] [stderr] ... [INFO] [stderr] 15 | pub(crate) ignored_lines: Vec, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stderr] --> src/pubmed/author.rs:63:18 [INFO] [stderr] | [INFO] [stderr] 63 | pub fn as_au(&self) -> Cow { [INFO] [stderr] | ^^^^^ ^^^^^^^^ the same lifetime is hidden here [INFO] [stderr] | | [INFO] [stderr] | the lifetime is elided here [INFO] [stderr] | [INFO] [stderr] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stderr] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stderr] help: use `'_` for type paths [INFO] [stderr] | [INFO] [stderr] 63 | pub fn as_au(&self) -> Cow<'_, str> { [INFO] [stderr] | +++ [INFO] [stderr] [INFO] [stderr] warning: `biblib` (lib) generated 4 warnings (run `cargo fix --lib -p biblib` to apply 1 suggestion) [INFO] [stderr] warning: `biblib` (lib test) generated 3 warnings (3 duplicates) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.09s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/biblib-bc31f42ce53fa0b6) [INFO] [stdout] [INFO] [stdout] running 203 tests [INFO] [stdout] test csv::config::tests::test_add_header_aliases ... ok [INFO] [stdout] test csv::config::tests::test_set_header_mapping ... ok [INFO] [stdout] test csv::config::tests::test_config_new ... ok [INFO] [stdout] test csv::config::tests::test_get_field_for_header_case_insensitive ... ok [INFO] [stdout] test csv::config::tests::test_validate_duplicate_aliases ... ok [INFO] [stdout] test csv::config::tests::test_configuration_chaining ... ok [INFO] [stdout] test csv::config::tests::test_validate_empty_alias ... ok [INFO] [stdout] test csv::config::tests::test_validate_empty_field_name ... ok [INFO] [stdout] test csv::config::tests::test_validate_invalid_delimiter ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_empty_input ... ok [INFO] [stdout] test csv::config::tests::test_validate_success ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_custom_delimiter ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_basic ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_delimiter::case_1 ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_flexible_mode ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_delimiter::case_2 ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_no_valid_citations ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_no_headers ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_line_numbers_in_errors ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_with_quotes ... ok [INFO] [stdout] test csv::config::tests::test_validate_empty_mappings ... ok [INFO] [stdout] test csv::parse::tests::test_csv_parse_malformed_strict ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_headers::case_2 ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_headers::case_4 ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_delimiter::case_3 ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_headers::case_5 ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_delimiter::case_4 ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_headers::case_3 ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_delimiter::case_5 ... ok [INFO] [stdout] test csv::structure::tests::test_from_record_basic ... ok [INFO] [stdout] test csv::structure::tests::test_from_record_keywords ... ok [INFO] [stdout] test csv::structure::tests::test_from_record_too_many_fields_flexible ... ok [INFO] [stdout] test csv::parse::tests::test_detect_csv_headers::case_1 ... ok [INFO] [stdout] test csv::tests::test_improved_validation_errors ... ok [INFO] [stdout] test csv::tests::test_custom_delimiter ... ok [INFO] [stdout] test csv::tests::test_keywords_parsing ... ok [INFO] [stdout] test csv::tests::test_custom_headers ... ok [INFO] [stdout] test csv::structure::tests::test_from_record_too_many_fields_strict ... ok [INFO] [stdout] test csv::tests::test_empty_input ... ok [INFO] [stdout] test csv::tests::test_basic_csv ... ok [INFO] [stdout] test csv::tests::test_extra_fields_handling ... ok [INFO] [stdout] test csv::tests::test_error_with_line_numbers ... ok [INFO] [stdout] test csv::structure::tests::test_from_record_multiple_authors ... ok [INFO] [stdout] test csv::tests::test_no_valid_citations ... ok [INFO] [stdout] test csv::structure::tests::test_missing_title_error ... ok [INFO] [stdout] test csv::tests::test_auto_detection ... ok [INFO] [stdout] test csv::tests::test_memory_optimization ... ok [INFO] [stdout] test csv::tests::test_multiple_authors ... ok [INFO] [stdout] test dedupe::tests::test_convert_unicode_string ... ok [INFO] [stdout] test dedupe::tests::test_format_issn ... ok [INFO] [stdout] test dedupe::tests::test_format_journal_name ... ok [INFO] [stdout] test dedupe::tests::test_group_by_year ... ok [INFO] [stdout] test csv::tests::test_parser_configuration_methods ... ok [INFO] [stdout] test csv::structure::tests::test_conversion_to_citation ... ok [INFO] [stdout] test dedupe::tests::test_match_issns_scenarios ... ok [INFO] [stdout] test dedupe::tests::test_find_duplicates ... ok [INFO] [stdout] test csv::tests::test_comprehensive_header_detection ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_empty_xml ... ok [INFO] [stdout] test dedupe::tests::test_source_preferences_with_year_grouping ... ok [INFO] [stdout] test dedupe::tests::test_missing_doi ... ok [INFO] [stdout] test dedupe::tests::test_normalize_string ... ok [INFO] [stdout] test dedupe::tests::test_normalize_volume ... ok [INFO] [stdout] test dedupe::tests::test_abstract_preference ... ok [INFO] [stdout] test dedupe::tests::test_source_preferences ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_line_number_tracking_in_errors ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_malformed_xml_error ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_minimal_endnote_xml ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_author_only_citation ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_complex_nesting ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_detailed_line_tracking ... ok [INFO] [stdout] test dedupe::tests::test_without_year_grouping ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_empty_input ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_no_citations_found ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_whitespace_only_input ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_title_fallback_scenarios ... ok [INFO] [stdout] test error::tests::test_parse_error_without_position ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_1 ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_3 ... ok [INFO] [stdout] test error::tests::test_parse_error_display ... ok [INFO] [stdout] test error::tests::test_parse_error_with_position ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_6 ... ok [INFO] [stdout] test endnote_xml::integration_tests::test_complete_endnote_xml ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_8 ... ok [INFO] [stdout] test error::tests::test_csv_error_conversion ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_9 ... ok [INFO] [stdout] test error::tests::test_citation_format_display ... ok [INFO] [stdout] test pubmed::author::tests::test_resolve_author_consecutive_au::case_1 ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_7 ... ok [INFO] [stdout] test pubmed::author::tests::test_resolve_author_consecutive_au::case_2 ... ok [INFO] [stdout] test error::tests::test_value_error_display ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_2 ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_4 ... ok [INFO] [stdout] test pubmed::author::tests::test_author_name::case_5 ... ok [INFO] [stdout] test pubmed::author::tests::test_resolve_author_deduplication::case_1 ... ok [INFO] [stdout] test pubmed::author::tests::test_resolve_author_deduplication::case_2 ... ok [INFO] [stdout] test pubmed::author::tests::test_resolve_author_deduplication::case_3 ... ok [INFO] [stdout] test pubmed::author::tests::test_resolve_author_leading_affiliations ... ok [INFO] [stdout] test pubmed::author::tests::test_resolve_author_typical ... ok [INFO] [stdout] test pubmed::parse::tests::test_parse_complete_entry::case_1 ... ok [INFO] [stdout] test pubmed::parse::tests::test_parse_complete_entry::case_2 ... ok [INFO] [stdout] test pubmed::parse::tests::test_parse_complete_entry::case_3 ... ok [INFO] [stdout] test pubmed::parse::tests::test_parse_complete_entry::case_4 ... ok [INFO] [stdout] test pubmed::parse::tests::test_parse_complete_entry::case_5 ... ok [INFO] [stdout] test pubmed::parse::tests::test_parse_complete_entry::case_6 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_01 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_02 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_03 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_04 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_05 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_06 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_07 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_08 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_09 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_10 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_11 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_12 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_13 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_14 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_15 ... ok [INFO] [stdout] test pubmed::split::tests::test_blank_line_split_empty::case_16 ... ok [INFO] [stdout] test pubmed::tests::test_continued_line ... ok [INFO] [stdout] test pubmed::tests::test_empty_input ... ok [INFO] [stdout] test pubmed::tests::test_crlf_endings ... ok [INFO] [stdout] test pubmed::tests::test_fau_precedence_over_au ... ok [INFO] [stdout] test pubmed::tests::test_journal_fallback ... ok [INFO] [stdout] test pubmed::tests::test_parse_citation_with_affiliation ... ok [INFO] [stdout] test pubmed::tests::test_journal_names ... ok [INFO] [stdout] test pubmed::tests::test_parse_citation_with_au_tag ... ok [INFO] [stdout] test pubmed::tests::test_parse_citation_with_issn ... ok [INFO] [stdout] test pubmed::tests::test_parse_simple_citation ... ok [INFO] [stdout] test pubmed::tests::test_parse_three_citations ... ok [INFO] [stdout] test pubmed::tests::test_whitespace_only_input ... ok [INFO] [stdout] test pubmed::whole_lines::tests::test_continued_lines_iterator::case_1 ... ok [INFO] [stdout] test pubmed::whole_lines::tests::test_continued_lines_iterator::case_2 ... ok [INFO] [stdout] test pubmed::whole_lines::tests::test_continued_lines_iterator::case_3 ... ok [INFO] [stdout] test pubmed::whole_lines::tests::test_continued_lines_iterator::case_4 ... ok [INFO] [stdout] test pubmed::whole_lines::tests::test_continued_lines_iterator::case_5 ... ok [INFO] [stdout] test ris::parse::tests::test_is_metadata_line::case_1 ... ok [INFO] [stdout] test ris::parse::tests::test_is_metadata_line::case_2 ... ok [INFO] [stdout] test ris::parse::tests::test_is_metadata_line::case_3 ... ok [INFO] [stdout] test ris::parse::tests::test_is_metadata_line::case_4 ... ok [INFO] [stdout] test ris::parse::tests::test_is_metadata_line::case_5 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_empty_input ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_invalid::case_2 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_author ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_invalid::case_3 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_invalid::case_4 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_multiple_citations ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_invalid::case_5 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_no_valid_citations ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_invalid::case_1 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_valid::case_1 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_valid::case_2 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_valid::case_5 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_valid::case_6 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_valid::case_7 ... ok [INFO] [stdout] test ris::parse::tests::test_parse_simple_citation ... ok [INFO] [stdout] test ris::parse::tests::test_parse_with_invalid_lines ... ok [INFO] [stdout] test ris::parse::tests::test_parse_with_metadata ... ok [INFO] [stdout] test ris::structure::tests::test_add_data ... ok [INFO] [stdout] test ris::structure::tests::test_complex_doi_extraction_scenarios ... ok [INFO] [stdout] test ris::structure::tests::test_doi_extraction_from_urls ... ok [INFO] [stdout] test ris::structure::tests::test_doi_extraction_prioritizes_doi_field ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_valid::case_4 ... ok [INFO] [stdout] test ris::structure::tests::test_journal_priority ... ok [INFO] [stdout] test ris::structure::tests::test_journal_priority_with_empty_values ... ok [INFO] [stdout] test ris::structure::tests::test_conversion_to_citation ... ok [INFO] [stdout] test ris::parse::tests::test_parse_ris_line_valid::case_3 ... ok [INFO] [stdout] test ris::structure::tests::test_missing_title_error ... ok [INFO] [stdout] test ris::structure::tests::test_raw_ris_data_new ... ok [INFO] [stdout] test ris::structure::tests::test_title_extraction_edge_cases ... ok [INFO] [stdout] test ris::tags::tests::test_as_tag::case_1 ... ok [INFO] [stdout] test ris::tags::tests::test_as_tag::case_2 ... ok [INFO] [stdout] test ris::tags::tests::test_as_tag::case_3 ... ok [INFO] [stdout] test ris::tags::tests::test_as_tag::case_4 ... ok [INFO] [stdout] test ris::tags::tests::test_from_tag::case_1 ... ok [INFO] [stdout] test ris::tags::tests::test_from_tag::case_2 ... ok [INFO] [stdout] test ris::tags::tests::test_from_tag::case_3 ... ok [INFO] [stdout] test ris::tags::tests::test_from_tag::case_4 ... ok [INFO] [stdout] test ris::tags::tests::test_from_tag::case_5 ... ok [INFO] [stdout] test ris::tags::tests::test_from_tag::case_6 ... ok [INFO] [stdout] test ris::tags::tests::test_is_author_tag::case_1 ... ok [INFO] [stdout] test ris::tags::tests::test_is_author_tag::case_2 ... ok [INFO] [stdout] test ris::tags::tests::test_is_author_tag::case_3 ... ok [INFO] [stdout] test ris::tests::test_parse_gs_format ... ok [INFO] [stdout] test tests::test_author_equality ... ok [INFO] [stdout] test ris::tests::test_parse_url_with_doi_extraction ... ok [INFO] [stdout] test tests::test_detect_and_parse_empty ... ok [INFO] [stdout] test tests::test_detect_and_parse_endnote ... ok [INFO] [stdout] test tests::test_detect_and_parse_pubmed ... ok [INFO] [stdout] test tests::test_detect_and_parse_ris ... ok [INFO] [stdout] test tests::test_detect_and_parse_unknown ... ok [INFO] [stdout] test ris::tests::test_parse_simple_ris ... ok [INFO] [stdout] test utils::tests::test_format_doi ... ok [INFO] [stdout] test utils::tests::test_format_page_numbers ... ok [INFO] [stdout] test utils::tests::test_newline_delimiter_of ... ok [INFO] [stdout] test utils::tests::test_parse_author_name ... ok [INFO] [stdout] test utils::tests::test_parse_endnote_date ... ok [INFO] [stdout] test utils::tests::test_parse_month_name ... ok [INFO] [stdout] test utils::tests::test_parse_pubmed_date ... ok [INFO] [stdout] test utils::tests::test_parse_ris_date ... ok [INFO] [stdout] test utils::tests::test_parse_year_only ... ok [INFO] [stdout] test utils::tests::test_split_issns ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 203 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stderr] Doc-tests biblib [INFO] [stdout] [INFO] [stdout] running 28 tests [INFO] [stdout] test src/csv/mod.rs - csv::CsvParser (line 56) ... ok [INFO] [stdout] test src/csv/mod.rs - csv (line 8) ... ok [INFO] [stdout] test src/csv/config.rs - csv::config::CsvConfig (line 46) ... ok [INFO] [stdout] test src/csv/mod.rs - csv::CsvParser (line 78) ... ok [INFO] [stdout] test src/csv/mod.rs - csv::CsvParser (line 66) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe::Deduplicator::find_duplicates (line 341) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe::Deduplicator (line 224) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe (line 22) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe (line 109) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe::Deduplicator::with_config (line 304) ... ok [INFO] [stdout] test src/endnote_xml/mod.rs - endnote_xml::EndNoteXmlParser::new (line 67) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe (line 75) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe::DeduplicatorConfig (line 171) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe::Deduplicator::new (line 278) ... ok [INFO] [stdout] test src/lib.rs - (line 116) ... ok [INFO] [stdout] test src/pubmed.rs - pubmed::PubMedParser::new (line 46) ... ok [INFO] [stdout] test src/lib.rs - (line 56) ... ok [INFO] [stdout] test src/pubmed.rs - pubmed (line 7) ... ok [INFO] [stdout] test src/endnote_xml/mod.rs - endnote_xml::EndNoteXmlParser::parse (line 90) ... ok [INFO] [stdout] test src/endnote_xml/mod.rs - endnote_xml (line 8) ... ok [INFO] [stdout] test src/lib.rs - (line 39) ... ok [INFO] [stdout] test src/lib.rs - detect_and_parse (line 317) ... ok [INFO] [stdout] test src/ris/mod.rs - ris::RisParser::new (line 41) ... ok [INFO] [stdout] test src/endnote_xml/parse.rs - endnote_xml::parse::parse_endnote_xml (line 85) ... ok [INFO] [stdout] test src/dedupe.rs - dedupe::Deduplicator::find_duplicates_with_sources (line 382) ... ok [INFO] [stdout] test src/lib.rs - (line 74) ... ok [INFO] [stdout] test src/ris/mod.rs - ris (line 8) ... ok [INFO] [stdout] test src/csv/mod.rs - csv::CsvParser (line 46) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 28 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.21s; merged doctests compilation took 1.11s [INFO] running `Command { std: "docker" "inspect" "4fbdb4aa28e30be4a26acabdd89a5ca90d9c2f7fa25c4f55d4fc242ef0c575a5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fbdb4aa28e30be4a26acabdd89a5ca90d9c2f7fa25c4f55d4fc242ef0c575a5", kill_on_drop: false }` [INFO] [stdout] 4fbdb4aa28e30be4a26acabdd89a5ca90d9c2f7fa25c4f55d4fc242ef0c575a5