[INFO] fetching crate rust-persian-tools 1.1.3...
[INFO] testing rust-persian-tools-1.1.3 against master#1871252fc8bb672d40787e67404e6eaae7059369 for pr-125151
[INFO] extracting crate rust-persian-tools 1.1.3 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate rust-persian-tools 1.1.3 on toolchain 1871252fc8bb672d40787e67404e6eaae7059369
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rust-persian-tools 1.1.3
[INFO] finished tweaking crates.io crate rust-persian-tools 1.1.3
[INFO] tweaked toml for crates.io crate rust-persian-tools 1.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 50 packages to latest compatible versions
[INFO] [stderr]       Adding windows-core v0.52.0 (latest: v0.56.0)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4aff93de762d63f9beacef0b29cd3611cf342d8a6576b56e76cad12ff26aa41a
[INFO] running `Command { std: "docker" "start" "-a" "4aff93de762d63f9beacef0b29cd3611cf342d8a6576b56e76cad12ff26aa41a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4aff93de762d63f9beacef0b29cd3611cf342d8a6576b56e76cad12ff26aa41a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4aff93de762d63f9beacef0b29cd3611cf342d8a6576b56e76cad12ff26aa41a", kill_on_drop: false }`
[INFO] [stdout] 4aff93de762d63f9beacef0b29cd3611cf342d8a6576b56e76cad12ff26aa41a
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a8888d4258807d1416053756d810d63b0e8867b73f8a9c7f735e272d4c00040f
[INFO] running `Command { std: "docker" "start" "-a" "a8888d4258807d1416053756d810d63b0e8867b73f8a9c7f735e272d4c00040f", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling chrono v0.4.38
[INFO] [stderr]    Compiling num-bigint v0.4.5
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling rust-persian-tools v1.1.3 (/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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3.24s
[INFO] running `Command { std: "docker" "inspect" "a8888d4258807d1416053756d810d63b0e8867b73f8a9c7f735e272d4c00040f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a8888d4258807d1416053756d810d63b0e8867b73f8a9c7f735e272d4c00040f", kill_on_drop: false }`
[INFO] [stdout] a8888d4258807d1416053756d810d63b0e8867b73f8a9c7f735e272d4c00040f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3c00df0efd97199562cf7e14c6e1e7ef7d2fa3136b9c548047489fd2e41ddad2
[INFO] running `Command { std: "docker" "start" "-a" "3c00df0efd97199562cf7e14c6e1e7ef7d2fa3136b9c548047489fd2e41ddad2", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.202
[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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde_json v1.0.117
[INFO] [stderr]    Compiling rust-persian-tools v1.1.3 (/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)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 5.37s
[INFO] running `Command { std: "docker" "inspect" "3c00df0efd97199562cf7e14c6e1e7ef7d2fa3136b9c548047489fd2e41ddad2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3c00df0efd97199562cf7e14c6e1e7ef7d2fa3136b9c548047489fd2e41ddad2", kill_on_drop: false }`
[INFO] [stdout] 3c00df0efd97199562cf7e14c6e1e7ef7d2fa3136b9c548047489fd2e41ddad2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+1871252fc8bb672d40787e67404e6eaae7059369" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d0d67cada9849c87a35acd7505439d4839930b761a8b5ef57268c111ddff52a3
[INFO] running `Command { std: "docker" "start" "-a" "d0d67cada9849c87a35acd7505439d4839930b761a8b5ef57268c111ddff52a3", 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)]` 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.02s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rust_persian_tools-df6a561dcbd411a3)
[INFO] [stdout] 
[INFO] [stdout] running 78 tests
[INFO] [stdout] test add_ordinal_suffix::add_ordinal_suffix_tests::in_place ... ok
[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 arabic_chars::tests::test_name ... ok
[INFO] [stdout] test bill::tests::bill_barcode_regeneration_test ... ok
[INFO] [stdout] test bill::tests::bill_bill_id_is_valid ... ok
[INFO] [stdout] test bill::tests::bill_bill_type_test ... ok
[INFO] [stdout] test bill::tests::bill_generate_barcode_test ... ok
[INFO] [stdout] test arabic_chars::tests::is_arabic_test ... ok
[INFO] [stdout] test bill::tests::bill_instantiate_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_load_from_ids_test ... ok
[INFO] [stdout] test bill::tests::bill_payment_id_is_valid ... ok
[INFO] [stdout] test commas::add_commas::tests::add_commas_mut_test ... ok
[INFO] [stdout] test commas::remove_commas::tests::remove_commas_mut_test ... ok
[INFO] [stdout] test commas::add_commas::tests::add_commas_test ... ok
[INFO] [stdout] test commas::remove_commas::tests::remove_commas_test ... ok
[INFO] [stdout] test digits::tests::digits_ar_to_en_test ... ok
[INFO] [stdout] test digits::tests::digits_ar_to_fa_test ... ok
[INFO] [stdout] test digits::tests::digits_en_to_ar_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 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 extract_card_number::tests::test_name ... ok
[INFO] [stdout] test get_bank_name_by_card_number::tests::test_name ... ok
[INFO] [stdout] test digits::tests::digits_fa_to_en_test ... ok
[INFO] [stdout] test get_place_by_iran_national_id::tests::test_name ... ok
[INFO] [stdout] test half_space::tests::test_adding_half_space ... ok
[INFO] [stdout] test national_id::verify_iranian_national_id_tests::check_falsy ... ok
[INFO] [stdout] test number_to_words::tests::number_to_word_errors_test ... ok
[INFO] [stdout] test number_plate::tests::should_return_error ... ok
[INFO] [stdout] test legal_id::tests::verify_iranian_legal_id_test ... ok
[INFO] [stdout] test find_capital_by_province::tests::find_capital_by_province_normal ... ok
[INFO] [stdout] test half_space::tests::test_removing_half_space ... ok
[INFO] [stdout] test persian_chars::tests::test_name ... ok
[INFO] [stdout] test number_to_words::three_digits::tests::digits_with_zeros_test ... ok
[INFO] [stdout] test persian_chars::tests::has_persian_test ... ok
[INFO] [stdout] test number_plate::tests::should_parse_car_plate ... ok
[INFO] [stdout] test phone_number::operators::tests::test_get_phone_details ... ok
[INFO] [stdout] test get_place_by_iran_national_id::tests::test_name_errors ... ok
[INFO] [stdout] test persian_chars::tests::is_persian_test ... ok
[INFO] [stdout] test phone_number::operators::tests::test_get_phone_prefix_operator ... ok
[INFO] [stdout] test number_plate::tests::should_return_invalid_for_false_car_character ... ok
[INFO] [stdout] test phone_number::tests::test_phone_number_normalizer_invalid_phone ... ok
[INFO] [stdout] test number_to_words::tests::number_to_word_str_test ... ok
[INFO] [stdout] test phone_number::tests::test_phone_number_normalizer ... ok
[INFO] [stdout] test remove_ordinal_suffix::remove_ordinal_suffix_tests::remove_mut_test ... ok
[INFO] [stdout] test remove_ordinal_suffix::remove_ordinal_suffix_tests::remove_test ... ok
[INFO] [stdout] test number_to_words::three_digits::tests::number_with_zeros_test ... ok
[INFO] [stdout] test number_to_words::tests::number_to_word_test ... ok
[INFO] [stdout] test number_plate::tests::should_parse_motorcycle_plate ... ok
[INFO] [stdout] test phone_number::tests::check_phone_number_valid ... ok
[INFO] [stdout] test national_id::verify_iranian_national_id_tests::check_truly ... ok
[INFO] [stdout] test phone_number::tests::test_operator_prefix ... ok
[INFO] [stdout] test sheba::checksum::tests::sheba_iso7064_mod97_test ... ok
[INFO] [stdout] test number_to_words::three_digits::tests::number_to_words_three_digits ... ok
[INFO] [stdout] test sheba::tests::is_sheba_valid_test ... ok
[INFO] [stdout] test verity_card_number::add_ordinal_suffix_tests::card_number_validation ... ok
[INFO] [stdout] test url_fix::tests::url_fix_test ... ok
[INFO] [stdout] test verity_card_number::add_ordinal_suffix_tests::card_number_validation_falsy ... ok
[INFO] [stdout] test sheba::tests::get_sheba_info_test ... ok
[INFO] [stdout] test words_to_number::tests::words_to_number_fail_cases ... ok
[INFO] [stdout] test words_to_number::tests::words_to_number_arabic ... ok
[INFO] [stdout] test words_to_number::tests::words_to_number_test ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_as_struct ... ok
[INFO] [stdout] test words_to_number::tests::words_to_number_with_comma_test ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_next_2_weeks ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_10_min_ago ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_as_long_form ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_next_3_months ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_between_to_datetime_with_long_format_persian_digits ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_between_to_datetime ... ok
[INFO] [stdout] test words_to_number::tests::words_to_number_with_comma_arabic ... ok
[INFO] [stdout] test time_diff::tests::test_time_diff_now ... ok
[INFO] [stdout] test time_diff::tests::test_check_valid_date_time ... ok
[INFO] [stdout] test words_to_number::tests::words_to_number_with_ordinal_words ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 78 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rust_persian_tools
[INFO] [stdout] 
[INFO] [stdout] running 43 tests
[INFO] [stdout] test src/add_ordinal_suffix/mod.rs - add_ordinal_suffix::add_ordinal_suffix (line 30) ... ok
[INFO] [stdout] test src/commas/add_commas.rs - commas::add_commas::add_commas_mut (line 50) ... ok
[INFO] [stdout] test src/bill/mod.rs - bill::BillType (line 94) ... ok
[INFO] [stdout] test src/add_ordinal_suffix/mod.rs - add_ordinal_suffix::add_ordinal_suffix_mut (line 52) ... ok
[INFO] [stdout] test src/commas/remove_commas.rs - commas::remove_commas::remove_commas_mut (line 20) ... ok
[INFO] [stdout] test src/extract_card_number/mod.rs - extract_card_number::extract_card_number (line 8) ... 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/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/find_capital_by_province/mod.rs - find_capital_by_province::find_capital_by_province (line 5) ... ok
[INFO] [stdout] test src/bill/mod.rs - bill (line 28) ... ok
[INFO] [stdout] test src/bill/mod.rs - bill (line 45) ... ok
[INFO] [stdout] test src/national_id/mod.rs - national_id (line 44) ... FAILED
[INFO] [stdout] test src/add_ordinal_suffix/mod.rs - add_ordinal_suffix (line 4) ... ok
[INFO] [stdout] test src/national_id/mod.rs - national_id (line 23) ... FAILED
[INFO] [stdout] test src/bill/mod.rs - bill (line 11) ... ok
[INFO] [stdout] test src/digits/mod.rs - digits (line 4) ... ok
[INFO] [stdout] test src/commas/remove_commas.rs - commas::remove_commas::remove_commas (line 4) ... ok
[INFO] [stdout] test src/commas/add_commas.rs - commas::add_commas::add_commas (line 4) ... ok
[INFO] [stdout] test src/half_space/mod.rs - half_space::add_half_space (line 42) ... ok
[INFO] [stdout] test src/legal_id/mod.rs - legal_id::verify_iranian_legal_id (line 11) ... ok
[INFO] [stdout] test src/national_id/mod.rs - national_id (line 4) ... ok
[INFO] [stdout] test src/half_space/mod.rs - half_space::remove_half_space (line 3) ... ok
[INFO] [stdout] test src/national_id/mod.rs - national_id::verify_iranian_national_id (line 83) ... 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/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::get_operator_prefix (line 110) ... ok
[INFO] [stdout] test src/phone_number/mod.rs - phone_number::is_phone_valid (line 22) ... ok
[INFO] [stdout] test src/phone_number/operators.rs - phone_number::operators::get_phone_details (line 534) ... ok
[INFO] [stdout] test src/phone_number/mod.rs - phone_number::phone_number_normalizer (line 79) ... 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_prefix_details (line 508) ... ok
[INFO] [stdout] test src/sheba/mod.rs - sheba::get_sheba_info (line 55) ... 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::get_date_time (line 191) ... ok
[INFO] [stdout] test src/sheba/mod.rs - sheba::is_sheba_valid (line 16) ... ok
[INFO] [stdout] test src/words_to_number/mod.rs - words_to_number::words_to_number (line 77) ... ok
[INFO] [stdout] test src/url_fix/mod.rs - url_fix::url_fix (line 7) ... ok
[INFO] [stdout] test src/verity_card_number/mod.rs - verity_card_number::verify_card_number (line 6) ... ok
[INFO] [stdout] test src/words_to_number/mod.rs - words_to_number::words_to_number_str (line 115) ... ok
[INFO] [stdout] test src/time_diff/mod.rs - time_diff::time_diff_between (line 326) ... 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] 64 | pub mod serde;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    = note: the item is gated behind the `serde` feature
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde`
[INFO] [stdout]  --> src/national_id/mod.rs:48:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, PartialEq, serde::Deserialize)]
[INFO] [stdout]   |                            ^^^^^ use of undeclared crate or module `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]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct`
[INFO] [stdout]      |
[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]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[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-6f17d22bba15001f/serde_json-1.0.117/src/de.rs:2676:8
[INFO] [stdout]      |
[INFO] [stdout] 2674 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2675 | where
[INFO] [stdout] 2676 |     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]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct`
[INFO] [stdout]      |
[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]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[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-6f17d22bba15001f/serde_json-1.0.117/src/de.rs:2676:8
[INFO] [stdout]      |
[INFO] [stdout] 2674 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2675 | where
[INFO] [stdout] 2676 |     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] 64 | pub mod serde;
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout]    = note: the item is gated behind the `serde` feature
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `serde`
[INFO] [stdout]  --> src/national_id/mod.rs:27:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | #[derive(Debug, PartialEq, serde::Deserialize)]
[INFO] [stdout]   |                            ^^^^^ use of undeclared crate or module `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]      |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct`
[INFO] [stdout]      |
[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]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[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-6f17d22bba15001f/serde_json-1.0.117/src/de.rs:2676:8
[INFO] [stdout]      |
[INFO] [stdout] 2674 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2675 | where
[INFO] [stdout] 2676 |     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:9
[INFO] [stdout]      |
[INFO] [stdout] 18   | assert!(serde_json::from_str::<MyStruct>(json_str_invalid).is_err());
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct`
[INFO] [stdout]      |
[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]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[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-6f17d22bba15001f/serde_json-1.0.117/src/de.rs:2676:8
[INFO] [stdout]      |
[INFO] [stdout] 2674 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2675 | where
[INFO] [stdout] 2676 |     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:5
[INFO] [stdout]      |
[INFO] [stdout] 20   |     serde_json::from_str::<MyStruct>(json_str_invalid).err().unwrap().to_string(),
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `serde::de::Deserialize<'_>` is not implemented for `MyStruct`
[INFO] [stdout]      |
[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]                (T0, T1)
[INFO] [stdout]                (T0, T1, T2)
[INFO] [stdout]                (T0, T1, T2, T3)
[INFO] [stdout]                (T0, T1, T2, T3, T4)
[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-6f17d22bba15001f/serde_json-1.0.117/src/de.rs:2676:8
[INFO] [stdout]      |
[INFO] [stdout] 2674 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2675 | where
[INFO] [stdout] 2676 |     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.32s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "d0d67cada9849c87a35acd7505439d4839930b761a8b5ef57268c111ddff52a3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d0d67cada9849c87a35acd7505439d4839930b761a8b5ef57268c111ddff52a3", kill_on_drop: false }`
[INFO] [stdout] d0d67cada9849c87a35acd7505439d4839930b761a8b5ef57268c111ddff52a3
