[INFO] fetching crate rust-persian-tools 1.1.4... [INFO] testing rust-persian-tools-1.1.4 against try#b83b707f97d809763b7861afa7638871f3339a33 for pr-145838-1 [INFO] extracting crate rust-persian-tools 1.1.4 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate rust-persian-tools 1.1.4 [INFO] finished tweaking crates.io crate rust-persian-tools 1.1.4 [INFO] tweaked toml for crates.io crate rust-persian-tools 1.1.4 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate rust-persian-tools 1.1.4 on toolchain b83b707f97d809763b7861afa7638871f3339a33 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Locking 48 packages to latest compatible versions [INFO] [stderr] Adding thiserror v1.0.69 (available: v2.0.16) [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e5078cb7a273013c45fbc8e2c04656bb04bace4eda4dfa2c297a70d140c99190 [INFO] running `Command { std: "docker" "start" "-a" "e5078cb7a273013c45fbc8e2c04656bb04bace4eda4dfa2c297a70d140c99190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e5078cb7a273013c45fbc8e2c04656bb04bace4eda4dfa2c297a70d140c99190", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e5078cb7a273013c45fbc8e2c04656bb04bace4eda4dfa2c297a70d140c99190", kill_on_drop: false }` [INFO] [stdout] e5078cb7a273013c45fbc8e2c04656bb04bace4eda4dfa2c297a70d140c99190 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 15696b15cb63b3b648c1e04757cac754f222e0c14be8271a0e8196f07ba568f5 [INFO] running `Command { std: "docker" "start" "-a" "15696b15cb63b3b648c1e04757cac754f222e0c14be8271a0e8196f07ba568f5", kill_on_drop: false }` [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling chrono v0.4.41 [INFO] [stderr] Compiling num-derive v0.4.2 [INFO] [stderr] Compiling rust-persian-tools v1.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `VerifyLegalId` is never used [INFO] [stdout] --> src/legal_id/mod.rs:73:7 [INFO] [stdout] | [INFO] [stdout] 73 | trait VerifyLegalId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2.45s [INFO] running `Command { std: "docker" "inspect" "15696b15cb63b3b648c1e04757cac754f222e0c14be8271a0e8196f07ba568f5", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "15696b15cb63b3b648c1e04757cac754f222e0c14be8271a0e8196f07ba568f5", kill_on_drop: false }` [INFO] [stdout] 15696b15cb63b3b648c1e04757cac754f222e0c14be8271a0e8196f07ba568f5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 571f314a16950fa39eadf6cffed20d8041d93fb9e081fa37088f218faf564611 [INFO] running `Command { std: "docker" "start" "-a" "571f314a16950fa39eadf6cffed20d8041d93fb9e081fa37088f218faf564611", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stdout] warning: trait `VerifyLegalId` is never used [INFO] [stdout] --> src/legal_id/mod.rs:73:7 [INFO] [stdout] | [INFO] [stdout] 73 | trait VerifyLegalId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling serde_json v1.0.143 [INFO] [stderr] Compiling rust-persian-tools v1.1.4 (/opt/rustwide/workdir) [INFO] [stdout] warning: trait `VerifyLegalId` is never used [INFO] [stdout] --> src/legal_id/mod.rs:73:7 [INFO] [stdout] | [INFO] [stdout] 73 | trait VerifyLegalId { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 6.44s [INFO] running `Command { std: "docker" "inspect" "571f314a16950fa39eadf6cffed20d8041d93fb9e081fa37088f218faf564611", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "571f314a16950fa39eadf6cffed20d8041d93fb9e081fa37088f218faf564611", kill_on_drop: false }` [INFO] [stdout] 571f314a16950fa39eadf6cffed20d8041d93fb9e081fa37088f218faf564611 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:7ad1b28ee6f5f7f699f6cf7015098d6ccdd96d6f2d78dd06228f5b4c9faf309c" "/opt/rustwide/cargo-home/bin/cargo" "+b83b707f97d809763b7861afa7638871f3339a33" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 5f62fd0a0d02b424efac3db332dd30af967d34242ec2b30ceed518f3db186759 [INFO] running `Command { std: "docker" "start" "-a" "5f62fd0a0d02b424efac3db332dd30af967d34242ec2b30ceed518f3db186759", kill_on_drop: false }` [INFO] [stderr] warning: trait `VerifyLegalId` is never used [INFO] [stderr] --> src/legal_id/mod.rs:73:7 [INFO] [stderr] | [INFO] [stderr] 73 | trait VerifyLegalId { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stderr] [INFO] [stderr] warning: `rust-persian-tools` (lib) generated 1 warning [INFO] [stderr] warning: `rust-persian-tools` (lib test) generated 1 warning (1 duplicate) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_persian_tools-deac4dc0c01e6eb9) [INFO] [stdout] [INFO] [stdout] running 78 tests [INFO] [stdout] test add_ordinal_suffix::add_ordinal_suffix_tests::convert ... ok [INFO] [stdout] test arabic_chars::tests::has_arabic_test ... ok [INFO] [stdout] test bill::tests::bill_generate_barcode_test ... ok [INFO] [stdout] test bill::tests::bill_load_from_barcode_parts_test ... ok [INFO] [stdout] test bill::tests::bill_load_from_barcode_test ... ok [INFO] [stdout] test bill::tests::bill_instantiate_test ... ok [INFO] [stdout] test bill::tests::bill_barcode_regeneration_test ... ok [INFO] [stdout] test add_ordinal_suffix::add_ordinal_suffix_tests::in_place ... ok [INFO] [stdout] test arabic_chars::tests::test_name ... ok [INFO] [stdout] test commas::add_commas::tests::add_commas_mut_test ... ok [INFO] [stdout] test bill::tests::bill_bill_type_test ... ok [INFO] [stdout] test commas::add_commas::tests::add_commas_test ... ok [INFO] [stdout] test arabic_chars::tests::is_arabic_test ... ok [INFO] [stdout] test commas::remove_commas::tests::remove_commas_mut_test ... ok [INFO] [stdout] test commas::remove_commas::tests::remove_commas_test ... ok [INFO] [stdout] test bill::tests::bill_payment_id_is_valid ... ok [INFO] [stdout] test digits::tests::digits_ar_to_en_test ... ok [INFO] [stdout] test digits::tests::digits_en_to_ar_test ... ok [INFO] [stdout] test digits::tests::digits_ar_to_fa_test ... ok [INFO] [stdout] test digits::tests::digits_en_to_fa_test ... ok [INFO] [stdout] test digits::tests::digits_fa_to_ar_test ... ok [INFO] [stdout] test digits::tests::digits_fa_to_en_test ... ok [INFO] [stdout] test bill::tests::bill_bill_id_is_valid ... ok [INFO] [stdout] test find_capital_by_province::tests::find_capital_by_province_normal ... ok [INFO] [stdout] test bill::tests::bill_load_from_ids_test ... ok [INFO] [stdout] test find_capital_by_province::tests::find_capital_by_province_arabic_char ... ok [INFO] [stdout] test find_capital_by_province::tests::find_capital_by_province_none ... ok [INFO] [stdout] test get_place_by_iran_national_id::tests::test_name ... ok [INFO] [stdout] test half_space::tests::test_removing_half_space ... ok [INFO] [stdout] test extract_card_number::tests::test_name ... ok [INFO] [stdout] test get_place_by_iran_national_id::tests::test_name_errors ... ok [INFO] [stdout] test legal_id::tests::verify_iranian_legal_id_test ... ok [INFO] [stdout] test national_id::verify_iranian_national_id_tests::check_falsy ... ok [INFO] [stdout] test national_id::verify_iranian_national_id_tests::check_truly ... ok [INFO] [stdout] test number_plate::tests::should_parse_car_plate ... ok [INFO] [stdout] test number_plate::tests::should_return_invalid_for_false_car_character ... ok [INFO] [stdout] test number_plate::tests::should_parse_motorcycle_plate ... ok [INFO] [stdout] test half_space::tests::test_adding_half_space ... ok [INFO] [stdout] test get_bank_name_by_card_number::tests::test_name ... ok [INFO] [stdout] test number_plate::tests::should_return_error ... ok [INFO] [stdout] test number_to_words::three_digits::tests::number_with_zeros_test ... ok [INFO] [stdout] test persian_chars::tests::has_persian_test ... ok [INFO] [stdout] test number_to_words::tests::number_to_word_errors_test ... ok [INFO] [stdout] test number_to_words::three_digits::tests::digits_with_zeros_test ... ok [INFO] [stdout] test phone_number::operators::tests::test_get_phone_details ... ok [INFO] [stdout] test phone_number::operators::tests::test_get_phone_prefix_operator ... ok [INFO] [stdout] test number_to_words::tests::number_to_word_str_test ... ok [INFO] [stdout] test number_to_words::tests::number_to_word_test ... ok [INFO] [stdout] test phone_number::tests::test_operator_prefix ... ok [INFO] [stdout] test phone_number::tests::check_phone_number_valid ... ok [INFO] [stdout] test persian_chars::tests::test_name ... ok [INFO] [stdout] test persian_chars::tests::is_persian_test ... ok [INFO] [stdout] test phone_number::tests::test_phone_number_normalizer ... ok [INFO] [stdout] test phone_number::tests::test_phone_number_normalizer_invalid_phone ... ok [INFO] [stdout] test remove_ordinal_suffix::remove_ordinal_suffix_tests::remove_test ... ok [INFO] [stdout] test remove_ordinal_suffix::remove_ordinal_suffix_tests::remove_mut_test ... ok [INFO] [stdout] test number_to_words::three_digits::tests::number_to_words_three_digits ... ok [INFO] [stdout] test sheba::checksum::tests::sheba_iso7064_mod97_test ... ok [INFO] [stdout] test sheba::tests::get_sheba_info_test ... ok [INFO] [stdout] test sheba::tests::is_sheba_valid_test ... ok [INFO] [stdout] test time_diff::tests::test_check_valid_date_time ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_10_min_ago ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_between_to_datetime ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_as_struct ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_between_to_datetime_with_long_format_persian_digits ... ok [INFO] [stdout] test url_fix::tests::url_fix_test ... ok [INFO] [stdout] test verity_card_number::add_ordinal_suffix_tests::card_number_validation ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_now ... ok [INFO] [stdout] test verity_card_number::add_ordinal_suffix_tests::card_number_validation_falsy ... ok [INFO] [stdout] test words_to_number::tests::words_to_number_arabic ... ok [INFO] [stdout] test words_to_number::tests::words_to_number_fail_cases ... ok [INFO] [stdout] test words_to_number::tests::words_to_number_with_comma_test ... ok [INFO] [stdout] test words_to_number::tests::words_to_number_with_ordinal_words ... ok [INFO] [stdout] test words_to_number::tests::words_to_number_with_comma_arabic ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_next_2_weeks ... ok [INFO] [stdout] test words_to_number::tests::words_to_number_test ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_next_3_months ... ok [INFO] [stdout] test time_diff::tests::test_time_diff_as_long_form ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 78 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Doc-tests rust_persian_tools [INFO] [stdout] [INFO] [stdout] running 43 tests [INFO] [stdout] test src/commas/remove_commas.rs - commas::remove_commas::remove_commas (line 4) ... ok [INFO] [stdout] test src/get_bank_name_by_card_number/mod.rs - get_bank_name_by_card_number::get_bank_name_by_card_number (line 11) ... ok [INFO] [stdout] test src/bill/mod.rs - bill::BillType (line 94) ... ok [INFO] [stdout] test src/commas/remove_commas.rs - commas::remove_commas::remove_commas_mut (line 20) ... ok [INFO] [stdout] test src/find_capital_by_province/mod.rs - find_capital_by_province::find_capital_by_province (line 5) ... ok [INFO] [stdout] test src/commas/add_commas.rs - commas::add_commas::add_commas (line 4) ... ok [INFO] [stdout] test src/bill/mod.rs - bill (line 45) ... ok [INFO] [stdout] test src/add_ordinal_suffix/mod.rs - add_ordinal_suffix (line 4) ... ok [INFO] [stdout] test src/add_ordinal_suffix/mod.rs - add_ordinal_suffix::add_ordinal_suffix_mut (line 52) ... ok [INFO] [stdout] test src/digits/mod.rs - digits (line 4) ... ok [INFO] [stdout] test src/bill/mod.rs - bill (line 28) ... ok [INFO] [stdout] test src/get_place_by_iran_national_id/mod.rs - get_place_by_iran_national_id::get_place_by_iran_national_id (line 10) ... ok [INFO] [stdout] test src/commas/add_commas.rs - commas::add_commas::add_commas_mut (line 50) ... ok [INFO] [stdout] test src/national_id/mod.rs - national_id (line 44) ... FAILED [INFO] [stdout] test src/national_id/mod.rs - national_id (line 23) ... FAILED [INFO] [stdout] test src/extract_card_number/mod.rs - extract_card_number::extract_card_number (line 8) ... ok [INFO] [stdout] test src/add_ordinal_suffix/mod.rs - add_ordinal_suffix::add_ordinal_suffix (line 30) ... ok [INFO] [stdout] test src/national_id/mod.rs - national_id (line 4) ... ok [INFO] [stdout] test src/half_space/mod.rs - half_space::add_half_space (line 42) ... ok [INFO] [stdout] test src/half_space/mod.rs - half_space::remove_half_space (line 3) ... ok [INFO] [stdout] test src/number_to_words/mod.rs - number_to_words::number_to_words_str (line 68) ... ok [INFO] [stdout] test src/phone_number/mod.rs - phone_number::is_phone_valid (line 22) ... ok [INFO] [stdout] test src/number_to_words/mod.rs - number_to_words::number_to_words (line 16) ... ok [INFO] [stdout] test src/phone_number/mod.rs - phone_number::get_phone_prefix (line 52) ... ok [INFO] [stdout] test src/national_id/mod.rs - national_id::verify_iranian_national_id (line 83) ... ok [INFO] [stdout] test src/legal_id/mod.rs - legal_id::verify_iranian_legal_id (line 11) ... ok [INFO] [stdout] test src/bill/mod.rs - bill (line 11) ... ok [INFO] [stdout] test src/phone_number/mod.rs - phone_number::get_operator_prefix (line 110) ... ok [INFO] [stdout] test src/remove_ordinal_suffix/mod.rs - remove_ordinal_suffix::remove_ordinal_suffix_mut (line 41) ... ok [INFO] [stdout] test src/remove_ordinal_suffix/mod.rs - remove_ordinal_suffix::remove_ordinal_suffix (line 5) ... ok [INFO] [stdout] test src/phone_number/operators.rs - phone_number::operators::get_phone_details (line 534) ... ok [INFO] [stdout] test src/time_diff/mod.rs - time_diff::convert_to_timestamp (line 163) ... ok [INFO] [stdout] test src/time_diff/mod.rs - time_diff::time_diff_between (line 326) ... ok [INFO] [stdout] test src/words_to_number/mod.rs - words_to_number::words_to_number_str (line 115) ... ok [INFO] [stdout] test src/phone_number/mod.rs - phone_number::phone_number_normalizer (line 79) ... ok [INFO] [stdout] test src/sheba/mod.rs - sheba::is_sheba_valid (line 16) ... ok [INFO] [stdout] test src/phone_number/operators.rs - phone_number::operators::get_prefix_details (line 508) ... ok [INFO] [stdout] test src/verity_card_number/mod.rs - verity_card_number::verify_card_number (line 6) ... ok [INFO] [stdout] test src/time_diff/mod.rs - time_diff::get_date_time (line 191) ... ok [INFO] [stdout] test src/url_fix/mod.rs - url_fix::url_fix (line 7) ... ok [INFO] [stdout] test src/sheba/mod.rs - sheba::get_sheba_info (line 55) ... ok [INFO] [stdout] test src/words_to_number/mod.rs - words_to_number::words_to_number (line 77) ... ok [INFO] [stdout] test src/time_diff/mod.rs - time_diff::time_diff_now (line 259) ... ok [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- src/national_id/mod.rs - national_id (line 44) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `rust_persian_tools::national_id::serde` [INFO] [stdout] --> src/national_id/mod.rs:46:38 [INFO] [stdout] | [INFO] [stdout] 5 | use rust_persian_tools::national_id::serde::national_id_option_de; [INFO] [stdout] | ^^^^^ could not find `serde` in `national_id` [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /opt/rustwide/workdir/src/national_id/mod.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 63 | #[cfg(feature = "serde")] [INFO] [stdout] | ----------------- the item is gated behind the `serde` feature [INFO] [stdout] 64 | pub mod serde; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde` [INFO] [stdout] --> src/national_id/mod.rs:48:28 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, serde::Deserialize)] [INFO] [stdout] | ^^^^^ use of unresolved module or unlinked crate `serde` [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `serde` in this scope [INFO] [stdout] --> src/national_id/mod.rs:50:7 [INFO] [stdout] | [INFO] [stdout] 9 | #[serde(default, deserialize_with = "national_id_option_de")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MyStruct: serde::de::Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/national_id/mod.rs:55:27 [INFO] [stdout] | [INFO] [stdout] 14 | let my_struct: MyStruct = serde_json::from_str(json_str).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct` [INFO] [stdout] --> src/national_id/mod.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct MyStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `MyStruct` type [INFO] [stdout] = note: for types from other crates check whether the crate offers a `serde` feature flag [INFO] [stdout] = help: the following other types implement trait `serde::de::Deserialize<'de>`: [INFO] [stdout] &'a Path [INFO] [stdout] &'a [u8] [INFO] [stdout] &'a str [INFO] [stdout] () [INFO] [stdout] (T,) [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] and 142 others [INFO] [stdout] note: required by a bound in `serde_json::from_str` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.143/src/de.rs:2699:8 [INFO] [stdout] | [INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result [INFO] [stdout] | -------- required by a bound in this function [INFO] [stdout] 2698 | where [INFO] [stdout] 2699 | T: de::Deserialize<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str` [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MyStruct: serde::de::Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/national_id/mod.rs:58:27 [INFO] [stdout] | [INFO] [stdout] 17 | let my_struct: MyStruct = serde_json::from_str(json_str).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct` [INFO] [stdout] --> src/national_id/mod.rs:49:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct MyStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `MyStruct` type [INFO] [stdout] = note: for types from other crates check whether the crate offers a `serde` feature flag [INFO] [stdout] = help: the following other types implement trait `serde::de::Deserialize<'de>`: [INFO] [stdout] &'a Path [INFO] [stdout] &'a [u8] [INFO] [stdout] &'a str [INFO] [stdout] () [INFO] [stdout] (T,) [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] and 142 others [INFO] [stdout] note: required by a bound in `serde_json::from_str` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.143/src/de.rs:2699:8 [INFO] [stdout] | [INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result [INFO] [stdout] | -------- required by a bound in this function [INFO] [stdout] 2698 | where [INFO] [stdout] 2699 | T: de::Deserialize<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str` [INFO] [stdout] [INFO] [stdout] error: aborting due to 5 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] ---- src/national_id/mod.rs - national_id (line 23) stdout ---- [INFO] [stdout] error[E0432]: unresolved import `rust_persian_tools::national_id::serde` [INFO] [stdout] --> src/national_id/mod.rs:25:38 [INFO] [stdout] | [INFO] [stdout] 5 | use rust_persian_tools::national_id::serde::national_id_de; [INFO] [stdout] | ^^^^^ could not find `serde` in `national_id` [INFO] [stdout] | [INFO] [stdout] note: found an item that was configured out [INFO] [stdout] --> /opt/rustwide/workdir/src/national_id/mod.rs:64:9 [INFO] [stdout] | [INFO] [stdout] 63 | #[cfg(feature = "serde")] [INFO] [stdout] | ----------------- the item is gated behind the `serde` feature [INFO] [stdout] 64 | pub mod serde; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0433]: failed to resolve: use of unresolved module or unlinked crate `serde` [INFO] [stdout] --> src/national_id/mod.rs:27:28 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, PartialEq, serde::Deserialize)] [INFO] [stdout] | ^^^^^ use of unresolved module or unlinked crate `serde` [INFO] [stdout] [INFO] [stdout] error: cannot find attribute `serde` in this scope [INFO] [stdout] --> src/national_id/mod.rs:29:7 [INFO] [stdout] | [INFO] [stdout] 9 | #[serde(deserialize_with = "national_id_de")] [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MyStruct: serde::de::Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/national_id/mod.rs:34:27 [INFO] [stdout] | [INFO] [stdout] 14 | let my_struct: MyStruct = serde_json::from_str(json_str).unwrap(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct` [INFO] [stdout] --> src/national_id/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct MyStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `MyStruct` type [INFO] [stdout] = note: for types from other crates check whether the crate offers a `serde` feature flag [INFO] [stdout] = help: the following other types implement trait `serde::de::Deserialize<'de>`: [INFO] [stdout] &'a Path [INFO] [stdout] &'a [u8] [INFO] [stdout] &'a str [INFO] [stdout] () [INFO] [stdout] (T,) [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] and 142 others [INFO] [stdout] note: required by a bound in `serde_json::from_str` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.143/src/de.rs:2699:8 [INFO] [stdout] | [INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result [INFO] [stdout] | -------- required by a bound in this function [INFO] [stdout] 2698 | where [INFO] [stdout] 2699 | T: de::Deserialize<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str` [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MyStruct: serde::de::Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/national_id/mod.rs:38:32 [INFO] [stdout] | [INFO] [stdout] 18 | assert!(serde_json::from_str::(json_str_invalid).is_err()); [INFO] [stdout] | ^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct` [INFO] [stdout] --> src/national_id/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct MyStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `MyStruct` type [INFO] [stdout] = note: for types from other crates check whether the crate offers a `serde` feature flag [INFO] [stdout] = help: the following other types implement trait `serde::de::Deserialize<'de>`: [INFO] [stdout] &'a Path [INFO] [stdout] &'a [u8] [INFO] [stdout] &'a str [INFO] [stdout] () [INFO] [stdout] (T,) [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] and 142 others [INFO] [stdout] note: required by a bound in `serde_json::from_str` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.143/src/de.rs:2699:8 [INFO] [stdout] | [INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result [INFO] [stdout] | -------- required by a bound in this function [INFO] [stdout] 2698 | where [INFO] [stdout] 2699 | T: de::Deserialize<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str` [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MyStruct: serde::de::Deserialize<'_>` is not satisfied [INFO] [stdout] --> src/national_id/mod.rs:40:28 [INFO] [stdout] | [INFO] [stdout] 20 | serde_json::from_str::(json_str_invalid).err().unwrap().to_string(), [INFO] [stdout] | ^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] help: the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct` [INFO] [stdout] --> src/national_id/mod.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 8 | struct MyStruct { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] = note: for local types consider adding `#[derive(serde::Deserialize)]` to your `MyStruct` type [INFO] [stdout] = note: for types from other crates check whether the crate offers a `serde` feature flag [INFO] [stdout] = help: the following other types implement trait `serde::de::Deserialize<'de>`: [INFO] [stdout] &'a Path [INFO] [stdout] &'a [u8] [INFO] [stdout] &'a str [INFO] [stdout] () [INFO] [stdout] (T,) [INFO] [stdout] (T0, T1) [INFO] [stdout] (T0, T1, T2) [INFO] [stdout] (T0, T1, T2, T3) [INFO] [stdout] and 142 others [INFO] [stdout] note: required by a bound in `serde_json::from_str` [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/serde_json-1.0.143/src/de.rs:2699:8 [INFO] [stdout] | [INFO] [stdout] 2697 | pub fn from_str<'a, T>(s: &'a str) -> Result [INFO] [stdout] | -------- required by a bound in this function [INFO] [stdout] 2698 | where [INFO] [stdout] 2699 | T: de::Deserialize<'a>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str` [INFO] [stdout] [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433. [INFO] [stdout] For more information about an error, try `rustc --explain E0277`. [INFO] [stdout] Couldn't compile the test. [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] src/national_id/mod.rs - national_id (line 23) [INFO] [stdout] src/national_id/mod.rs - national_id (line 44) [INFO] [stdout] [INFO] [stdout] test result: FAILED. 41 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.68s [INFO] [stdout] [INFO] [stderr] error: doctest failed, to rerun pass `--doc` [INFO] running `Command { std: "docker" "inspect" "5f62fd0a0d02b424efac3db332dd30af967d34242ec2b30ceed518f3db186759", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5f62fd0a0d02b424efac3db332dd30af967d34242ec2b30ceed518f3db186759", kill_on_drop: false }` [INFO] [stdout] 5f62fd0a0d02b424efac3db332dd30af967d34242ec2b30ceed518f3db186759