[INFO] fetching crate contrato 0.18.3...
[INFO] testing contrato-0.18.3 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate contrato 0.18.3 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate contrato 0.18.3
[INFO] finished tweaking crates.io crate contrato 0.18.3
[INFO] tweaked toml for crates.io crate contrato 0.18.3 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate contrato 0.18.3 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate contrato 0.18.3 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | homepage = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 | repository = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `contrato` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f
[INFO] running `Command { std: "docker" "start" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | homepage = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 | repository = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `contrato` (manifest) generated 1 warning
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling contrato v0.18.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 53.66s
[INFO] running `Command { std: "docker" "inspect" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | homepage = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 | repository = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `contrato` (manifest) generated 1 warning
[INFO] [stderr]    Compiling contrato v0.18.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 33.86s
[INFO] running `Command { std: "docker" "inspect" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.repository`
[INFO] [stderr]   --> Cargo.toml:39:12
[INFO] [stderr]    |
[INFO] [stderr] 39 | homepage = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 45 | repository = "https://github.com/balena-io/contrato"
[INFO] [stderr]    |              ---------------------------------------
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `contrato` (manifest) generated 1 warning
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.11s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/contrato/c12158045f60b83c/out/contrato-c12158045f60b83c)
[INFO] [stdout] 
[INFO] [stdout] running 413 tests
[INFO] [stdout] test children_tree::tests::build_single_child ... ok
[INFO] [stdout] test children_tree::tests::build_multiple_versions_same_slug ... ok
[INFO] [stdout] test children_tree::tests::build_empty_index ... ok
[INFO] [stdout] test children_tree::tests::build_two_different_types ... ok
[INFO] [stdout] test children_tree::tests::build_variants_same_slug_and_version ... ok
[INFO] [stdout] test children_tree::tests::deserialize_rejects_bare_bool ... ok
[INFO] [stdout] test children_tree::tests::build_keys_a_child_under_each_alias ... ok
[INFO] [stdout] test children_tree::tests::deserialize_rejects_null ... ok
[INFO] [stdout] test children_tree::tests::build_keeps_a_dotted_slug_as_a_single_key ... ok
[INFO] [stdout] test children_tree::tests::into_all_array_of_same_slug ... ok
[INFO] [stdout] test children_tree::tests::into_all_empty_tree ... ok
[INFO] [stdout] test children_tree::tests::deserialize_rejects_bare_number ... ok
[INFO] [stdout] test children_tree::tests::deserialize_rejects_bare_string ... ok
[INFO] [stdout] test children_tree::tests::into_all_multiple_types ... ok
[INFO] [stdout] test children_tree::tests::build_same_type_different_slugs ... ok
[INFO] [stdout] test children_tree::tests::deserialize_empty_array ... ok
[INFO] [stdout] test children_tree::tests::into_all_single_contract ... ok
[INFO] [stdout] test children_tree::tests::serde_round_trip_array ... ok
[INFO] [stdout] test children_tree::tests::serde_round_trip_multiple_slugs ... ok
[INFO] [stdout] test children_tree::tests::serde_round_trip_single ... ok
[INFO] [stdout] test contract::tests::a_dotted_slug_stays_one_key_in_the_tree ... ok
[INFO] [stdout] test contract::tests::a_slugless_contract_can_still_be_a_parent ... ok
[INFO] [stdout] test children_tree::tests::into_all_root_is_multiple ... ok
[INFO] [stdout] test children_tree::tests::into_all_root_is_single ... ok
[INFO] [stdout] test children_tree::tests::into_all_nested_by_slug ... ok
[INFO] [stdout] test contract::tests::add_child_rehashes_parent_by_default ... ok
[INFO] [stdout] test children_tree::tests::round_trip_build_then_into_all ... ok
[INFO] [stdout] test contract::tests::add_child_rejects_a_conflicting_type ... ok
[INFO] [stdout] test children_tree::tests::round_trip_multi_version_slug ... ok
[INFO] [stdout] test contract::tests::add_child_rejects_a_type_that_extends_another_childs_type ... ok
[INFO] [stdout] test contract::tests::add_child_dedupes_on_hash ... ok
[INFO] [stdout] test contract::tests::add_child_same_slug_different_versions ... ok
[INFO] [stdout] test contract::tests::add_children_adds_multiple ... ok
[INFO] [stdout] test contract::tests::add_children_empty_batch_is_noop ... ok
[INFO] [stdout] test contract::tests::add_children_mixed_batch_rebuilds_once ... ok
[INFO] [stdout] test contract::tests::add_child_same_type_different_slug ... ok
[INFO] [stdout] test contract::tests::add_child_serializes_single_child_tree ... ok
[INFO] [stdout] test contract::tests::add_children_rejects_a_conflicting_batch ... ok
[INFO] [stdout] test contract::tests::add_children_preserves_insertion_order_for_same_slug ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_mixed_filter_returns_false_when_one_type_unsatisfied ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_cross_subtree_with_types_filter ... ok
[INFO] [stdout] test contract::tests::add_child_duplicate_leaves_hash_cell_empty ... ok
[INFO] [stdout] test contract::tests::add_children_all_duplicates_skips_rebuild ... ok
[INFO] [stdout] test contract::tests::add_child_registers_contract_in_all_indexes ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_nested_contexts_all_satisfied ... ok
[INFO] [stdout] test contract::tests::an_alias_does_not_substitute_for_a_childs_slug ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_returns_true_for_satisfied_context ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_skips_disjoint_types ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_two_satisfied_types_returns_true ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_nested_contexts_unsatisfied ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_types_filter_unsatisfied_returns_false ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_types_filter_satisfied_in_unsatisfied_context ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_types_filter_satisfied_subset ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_with_none_filter_does_not_disjoint_skip ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_returns_false_for_missing_requirement ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_returns_false_for_unsatisfied_context ... ok
[INFO] [stdout] test contract::tests::are_children_satisfied_unknown_type_filter_in_unsatisfied_context ... ok
[INFO] [stdout] test contract::tests::add_child_two_different_types ... ok
[INFO] [stdout] test contract::tests::add_children_dedupes_duplicates_in_batch ... ok
[INFO] [stdout] test contract::tests::build_keeps_children_declared_on_base_and_variant ... ok
[INFO] [stdout] test contract::tests::build_expands_variants ... ok
[INFO] [stdout] test contract::tests::build_rejects_a_variant_that_interpolates_to_an_invalid_slug ... ok
[INFO] [stdout] test contract::tests::build_expands_templates ... ok
[INFO] [stdout] test contract::tests::build_keeps_same_type_children_declared_on_base_and_variant ... ok
[INFO] [stdout] test contract::tests::build_supports_slug_and_type_templates ... ok
[INFO] [stdout] test contract::tests::build_single_contract_no_variants ... ok
[INFO] [stdout] test contract::tests::build_variants_and_aliases ... ok
[INFO] [stdout] test contract::tests::build_expands_aliases ... ok
[INFO] [stdout] test contract::tests::children_list_found_by_type ... ok
[INFO] [stdout] test contract::tests::children_list_found_by_type_and_slug ... ok
[INFO] [stdout] test contract::tests::build_variants_with_templates ... ok
[INFO] [stdout] test contract::tests::conflicting_children_are_never_silently_dropped ... ok
[INFO] [stdout] test contract::tests::children_list_wrong_type_not_found ... ok
[INFO] [stdout] test contract::tests::constructor_round_trip_preserves_raw ... ok
[INFO] [stdout] test contract::tests::children_list_on_root_are_indexed ... ok
[INFO] [stdout] test contract::tests::children_list_version_range_miss ... ok
[INFO] [stdout] test contract::tests::constructor_simple_contract ... ok
[INFO] [stdout] test contract::tests::children_list_found_by_version_range ... ok
[INFO] [stdout] test contract::tests::children_list_multiple_same_type_stay_separate ... ok
[INFO] [stdout] test contract::tests::constructor_via_deserialize ... ok
[INFO] [stdout] test contract::tests::deserialize_rejects_children_with_overlapping_types ... ok
[INFO] [stdout] test contract::tests::every_child_needs_a_slug ... ok
[INFO] [stdout] test contract::tests::find_children_by_alias ... ok
[INFO] [stdout] test contract::tests::find_children_is_stable_across_calls ... ok
[INFO] [stdout] test contract::tests::eq_false_for_different_contracts ... ok
[INFO] [stdout] test contract::tests::find_children_known_type_unknown_slug_returns_empty ... ok
[INFO] [stdout] test contract::tests::eq_true_for_equal_contracts ... ok
[INFO] [stdout] test contract::tests::find_children_data_pattern_rejects_child_without_data ... ok
[INFO] [stdout] test contract::tests::find_children_empty_result_is_still_stable ... ok
[INFO] [stdout] test contract::tests::find_children_by_type_and_data_partial_match ... ok
[INFO] [stdout] test contract::tests::find_children_nested_fails_on_wrong_type ... ok
[INFO] [stdout] test contract::tests::find_children_nested_fails_on_wrong_slug ... ok
[INFO] [stdout] test contract::tests::find_children_multiple_of_one_type ... ok
[INFO] [stdout] test contract::tests::find_children_by_type_and_slug ... ok
[INFO] [stdout] test contract::tests::find_children_nested_by_type_and_slug ... ok
[INFO] [stdout] test contract::tests::find_children_nothing_for_unknown_type ... ok
[INFO] [stdout] test contract::tests::find_children_reflects_additions ... ok
[INFO] [stdout] test contract::tests::find_children_nested_data_matcher ... ok
[INFO] [stdout] test contract::tests::find_children_nested_by_type_and_version_range ... ok
[INFO] [stdout] test contract::tests::find_children_nothing_for_unknown_type_with_slug ... ok
[INFO] [stdout] test contract::tests::find_children_reflects_removals ... ok
[INFO] [stdout] test contract::tests::find_children_reflects_subtree_insertions_of_other_types ... ok
[INFO] [stdout] test contract::tests::find_children_results_are_scoped_by_type ... ok
[INFO] [stdout] test contract::tests::find_children_unaffected_by_failed_remove ... ok
[INFO] [stdout] test contract::tests::get_all_not_satisfied_empty_when_child_has_no_requirements ... ok
[INFO] [stdout] test contract::tests::get_all_not_satisfied_reports_missing_requirements ... ok
[INFO] [stdout] test contract::tests::get_all_slugs_with_aliases ... ok
[INFO] [stdout] test contract::tests::get_all_not_satisfied_mixed_disjoint_and_normal_children ... ok
[INFO] [stdout] test contract::tests::get_all_not_satisfied_empty_when_everything_satisfied ... ok
[INFO] [stdout] test contract::tests::find_children_two_level_nested_by_type ... ok
[INFO] [stdout] test contract::tests::get_all_not_satisfied_disjoint_filter_reports_own_compiled_requirements ... ok
[INFO] [stdout] test contract::tests::get_all_slugs_with_empty_aliases ... ok
[INFO] [stdout] test contract::tests::get_canonical_slug_falls_back_to_slug ... ok
[INFO] [stdout] test contract::tests::get_child_by_hash_returns_none_for_unknown_hash ... ok
[INFO] [stdout] test contract::tests::get_children_by_type_returns_aliased_contract_once ... ok
[INFO] [stdout] test contract::tests::get_children_by_type_returns_matching_contracts ... ok
[INFO] [stdout] test contract::tests::get_children_by_type_stable_across_calls ... ok
[INFO] [stdout] test contract::tests::get_child_by_hash_is_non_recursive ... ok
[INFO] [stdout] test contract::tests::get_child_by_hash_returns_direct_child ... ok
[INFO] [stdout] test contract::tests::get_children_filtered_by_one_type ... ok
[INFO] [stdout] test contract::tests::get_children_filtered_by_two_types ... ok
[INFO] [stdout] test contract::tests::get_all_slugs_without_aliases ... ok
[INFO] [stdout] test contract::tests::get_children_empty ... ok
[INFO] [stdout] test contract::tests::get_canonical_slug_returns_canonical_slug_when_present ... ok
[INFO] [stdout] test contract::tests::get_children_filter_returns_nested_matches ... ok
[INFO] [stdout] test contract::tests::get_children_by_type_empty_for_unknown_type ... ok
[INFO] [stdout] test contract::tests::get_children_filtered_empty_when_no_match ... ok
[INFO] [stdout] test contract::tests::get_children_types_dedupes_same_type ... ok
[INFO] [stdout] test contract::tests::get_children_filtered_ignores_unknown_types ... ok
[INFO] [stdout] test contract::tests::get_children_multiple_different_slugs ... ok
[INFO] [stdout] test contract::tests::get_children_multiple_same_slug ... ok
[INFO] [stdout] test contract::tests::get_children_recurses_two_levels ... ok
[INFO] [stdout] test contract::tests::get_children_returns_each_aliased_contract_once ... ok
[INFO] [stdout] test contract::tests::get_children_single_child ... ok
[INFO] [stdout] test contract::tests::get_children_types_empty_set_when_no_children ... ok
[INFO] [stdout] test contract::tests::get_children_types_single_type_for_one_child ... ok
[INFO] [stdout] test contract::tests::get_children_recurses_into_nested ... ok
[INFO] [stdout] test contract::tests::get_children_types_recurses_two_levels ... ok
[INFO] [stdout] test contract::tests::get_children_types_recurses_into_nested_children ... ok
[INFO] [stdout] test contract::tests::get_not_satisfied_reports_all_unfulfilled_conjuncts ... ok
[INFO] [stdout] test contract::tests::get_children_types_union_of_all ... ok
[INFO] [stdout] test contract::tests::get_not_satisfied_empty_for_fulfilled_child ... ok
[INFO] [stdout] test contract::tests::get_not_satisfied_empty_when_no_requirements ... ok
[INFO] [stdout] test contract::tests::get_children_types_returns_deduplicated_vec ... ok
[INFO] [stdout] test contract::tests::get_children_types_updates_when_adding ... ok
[INFO] [stdout] test contract::tests::get_version_returns_none_when_absent ... ok
[INFO] [stdout] test contract::tests::get_reference_string_without_slug_but_with_version ... ok
[INFO] [stdout] test contract::tests::get_not_satisfied_reports_single_unfulfilled_match ... ok
[INFO] [stdout] test contract::tests::get_reference_string_without_slug_or_version ... ok
[INFO] [stdout] test contract::tests::get_reference_string_with_version ... ok
[INFO] [stdout] test contract::tests::get_version_returns_version ... ok
[INFO] [stdout] test contract::tests::get_reference_string_without_version ... ok
[INFO] [stdout] test contract::tests::hash_equal_contracts_have_equal_hashes ... ok
[INFO] [stdout] test contract::tests::get_slug_returns_slug ... ok
[INFO] [stdout] test contract::tests::has_aliases_true_when_present ... ok
[INFO] [stdout] test contract::tests::get_type_returns_type ... ok
[INFO] [stdout] test contract::tests::hash_clone_mutation_does_not_affect_original ... ok
[INFO] [stdout] test contract::tests::hash_impl_is_consistent_with_eq_for_hashed_contracts ... ok
[INFO] [stdout] test contract::tests::hash_is_lazy_and_recomputes_after_rebuild ... ok
[INFO] [stdout] test contract::tests::interpolate_does_not_template_children ... ok
[INFO] [stdout] test contract::tests::interpolate_resolves_templates_after_mutation ... ok
[INFO] [stdout] test contract::tests::interpolate_resolves_templates_on_construction ... ok
[INFO] [stdout] test contract::tests::has_aliases_false_when_absent ... ok
[INFO] [stdout] test contract::tests::has_aliases_false_when_empty_array ... ok
[INFO] [stdout] test contract::tests::interpolate_resolves_this_children_references ... ok
[INFO] [stdout] test contract::tests::hash_different_contracts_have_different_hashes ... ok
[INFO] [stdout] test contract::tests::rebuild_after_mutation_yields_new_hash ... ok
[INFO] [stdout] test contract::tests::rebuild_clears_children_tree_when_index_empties ... ok
[INFO] [stdout] test contract::tests::remove_child_cleans_up_empty_slug_entry ... ok
[INFO] [stdout] test contract::tests::remove_child_cleans_up_empty_type_entry ... ok
[INFO] [stdout] test contract::tests::remove_child_collapses_a_type_to_a_leaf ... ok
[INFO] [stdout] test contract::tests::remove_child_ignores_unknown_contract ... ok
[INFO] [stdout] test contract::tests::interpolate_after_mutation_rejects_an_invalid_result ... ok
[INFO] [stdout] test contract::tests::remove_child_last_child_clears_children_tree ... ok
[INFO] [stdout] test contract::tests::remove_child_rehashes_parent_by_default ... ok
[INFO] [stdout] test contract::tests::remove_child_removes_matching_contract ... ok
[INFO] [stdout] test contract::tests::requirement_types_reflects_own_requires_entries ... ok
[INFO] [stdout] test contract::tests::requirements_duplicate_matchers_deduplicated ... ok
[INFO] [stdout] test contract::tests::interpolate_keeps_hash_stable_when_raw_unchanged ... ok
[INFO] [stdout] test contract::tests::requirements_empty_when_requires_is_empty ... ok
[INFO] [stdout] test contract::tests::remove_child_with_aliases ... ok
[INFO] [stdout] test contract::tests::interpolate_leaves_unresolved_templates_intact ... ok
[INFO] [stdout] test contract::tests::interpolate_preserves_and_templates_extra_fields ... ok
[INFO] [stdout] test contract::tests::remove_child_with_aliases_keeps_sibling_aliased_contract ... ok
[INFO] [stdout] test contract::tests::requirement_matchers_for_type_returns_registered_matchers ... ok
[INFO] [stdout] test contract::tests::requirements_nested_not_inside_or_fails_to_deserialize ... ok
[INFO] [stdout] test contract::tests::requirements_nested_or_inside_or_fails_to_deserialize ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_capabilities_missing_disjunct_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_capabilities_via_children ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_composite_context_two_requirements ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_capabilities_with_types_filter_returns_true ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_composite_one_unfulfilled_returns_false ... ok
[INFO] [stdout] test contract::tests::requirements_not_operation ... ok
[INFO] [stdout] test contract::tests::interpolated_identifiers_that_are_invalid_are_rejected ... ok
[INFO] [stdout] test contract::tests::requirements_or_operation ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_empty_self_and_no_requirements_returns_true ... ok
[INFO] [stdout] test contract::tests::requirements_simple_match ... ok
[INFO] [stdout] test contract::tests::round_trip_with_multi_child_same_slug_tree ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_composite_unfulfilled_ignored_by_types_filter ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_empty_disjunction_and_unfulfilled_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_empty_disjunction_is_satisfied ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_empty_not_operator_is_satisfied ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_fulfilled_disjunction_and_unfulfilled_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_fulfilled_not_operator_returns_true ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_mixed_disjunction_returns_true ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_empty_self_with_requirements_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_fulfilled_composite_argument ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_two_fulfilled_requirements_returns_true ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_one_unfulfilled_disjunction_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_one_fulfilled_disjunction_returns_true ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_one_fulfilled_requirement_returns_true ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_one_unfulfilled_requirement_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_partial_not_operator_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_types_filter_allows_multiple_types ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_two_unfulfilled_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_types_filter_limits_evaluation ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_types_filter_with_unfulfilled_requirement_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_with_no_child_requirements_returns_true ... ok
[INFO] [stdout] test contract::tests::serialize_round_trip_without_children ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_unfulfilled_not_operator_returns_false ... ok
[INFO] [stdout] test contract::tests::try_from_value_builds_the_contract ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_unfulfilled_composite_argument ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_one_of_two_unfulfilled_returns_false ... ok
[INFO] [stdout] test contract::tests::satisfies_child_contract_unfulfilled_disjunction_of_non_selected_type_returns_true ... ok
[INFO] [stdout] test contract::tests::try_from_value_reports_deserialization_failures ... ok
[INFO] [stdout] test error::tests::display_names_the_offending_values ... ok
[INFO] [stdout] test contract::tests::serialize_round_trip_with_two_children_same_type ... ok
[INFO] [stdout] test contract::tests::try_from_value_reports_construction_failures ... ok
[INFO] [stdout] test contract::tests::serialize_round_trip_with_single_child ... ok
[INFO] [stdout] test error::tests::invalid_contract_renders_the_serde_message ... ok
[INFO] [stdout] test hash::tests::array_order_matters ... ok
[INFO] [stdout] test hash::tests::deeply_nested_order_independence ... ok
[INFO] [stdout] test hash::tests::hash_stability ... ok
[INFO] [stdout] test hash::tests::hashes_contract_like_objects ... ok
[INFO] [stdout] test hash::tests::identical_values_produce_identical_hashes ... ok
[INFO] [stdout] test hash::tests::distinguishes_bool_and_string ... ok
[INFO] [stdout] test hash::tests::distinguishes_types ... ok
[INFO] [stdout] test hash::tests::does_not_care_about_property_order ... ok
[INFO] [stdout] test hash::tests::returns_a_string ... ok
[INFO] [stdout] test hash::tests::nested_object_order_independence ... ok
[INFO] [stdout] test hash::tests::null_hashes_consistently ... ok
[INFO] [stdout] test index::tests::validate_child_rejects_a_type_that_is_not_a_tree_path ... ok
[INFO] [stdout] test hash::tests::different_objects_produce_different_hashes ... ok
[INFO] [stdout] test hash::tests::empty_object_and_empty_array_differ ... ok
[INFO] [stdout] test index::tests::validate_child_requires_a_slug ... ok
[INFO] [stdout] test matcher::tests::partial_match_array_strict_equality ... ok
[INFO] [stdout] test matcher::tests::partial_match_empty_pattern_matches_any_object ... ok
[INFO] [stdout] test index::tests::validate_types_accepts_types_that_only_share_a_prefix ... ok
[INFO] [stdout] test index::tests::validate_types_rejects_a_type_that_extends_another ... ok
[INFO] [stdout] test matcher::tests::partial_match_key_value_mismatch_rejects ... ok
[INFO] [stdout] test matcher::tests::version_match_identifier_target_with_semver_requirement_falls_back_to_equality ... ok
[INFO] [stdout] test matcher::tests::partial_match_missing_key_rejects ... ok
[INFO] [stdout] test matcher::tests::partial_match_nested_object ... ok
[INFO] [stdout] test matcher::tests::partial_match_primitive_equality ... ok
[INFO] [stdout] test matcher::tests::version_match_none_requirement_is_satisfied ... ok
[INFO] [stdout] test matcher::tests::partial_match_nested_object_mismatch ... ok
[INFO] [stdout] test matcher::tests::partial_match_object_pattern_rejects_non_object_target ... ok
[INFO] [stdout] test matcher::tests::partial_match_single_key_subset ... ok
[INFO] [stdout] test matcher::tests::version_match_required_but_target_missing_fails ... ok
[INFO] [stdout] test matcher::tests::version_match_identifier_equality ... ok
[INFO] [stdout] test matcher::tests::version_match_semver_range_satisfies ... ok
[INFO] [stdout] test path::tests::display ... ok
[INFO] [stdout] test matcher::tests::version_match_semver_target_with_identifier_requirement_falls_back_to_equality ... ok
[INFO] [stdout] test matcher::tests::version_match_semver_range_does_not_satisfy ... ok
[INFO] [stdout] test path::tests::invalid_path_empty_segment_display ... ok
[INFO] [stdout] test path::tests::invalid_path_empty_display ... ok
[INFO] [stdout] test path::tests::resolve_missing_key_returns_none ... ok
[INFO] [stdout] test path::tests::resolve_non_object_returns_none ... ok
[INFO] [stdout] test path::tests::resolve_returns_intermediate_object ... ok
[INFO] [stdout] test path::tests::segments_single ... ok
[INFO] [stdout] test path::tests::resolve_against_array_returns_none ... ok
[INFO] [stdout] test path::tests::resolve_deep_path ... ok
[INFO] [stdout] test path::tests::resolve_nested_object ... ok
[INFO] [stdout] test path::tests::segments_three ... ok
[INFO] [stdout] test path::tests::segments_two ... ok
[INFO] [stdout] test path::tests::serde_deserialize_rejects_empty ... ok
[INFO] [stdout] test path::tests::try_from_leading_dot_is_err ... ok
[INFO] [stdout] test path::tests::serde_deserialize_rejects_empty_segment ... ok
[INFO] [stdout] test path::tests::try_from_owned_string ... ok
[INFO] [stdout] test path::tests::from_parts_single ... ok
[INFO] [stdout] test path::tests::try_from_single_dot_is_err ... ok
[INFO] [stdout] test path::tests::from_parts_three ... ok
[INFO] [stdout] test path::tests::try_from_single_segment ... ok
[INFO] [stdout] test path::tests::from_parts_two ... ok
[INFO] [stdout] test template::tests::blacklist_elements_inside_arrays ... ok
[INFO] [stdout] test template::tests::blacklist_multiple_elements ... ok
[INFO] [stdout] test path::tests::serde_round_trip ... ok
[INFO] [stdout] test path::tests::try_from_three_segments ... ok
[INFO] [stdout] test path::tests::try_from_consecutive_dots_is_err ... ok
[INFO] [stdout] test path::tests::try_from_trailing_dot_is_err ... ok
[INFO] [stdout] test path::tests::try_from_empty_is_err ... ok
[INFO] [stdout] test path::tests::try_from_two_segments ... ok
[INFO] [stdout] test template::tests::blacklist_top_level_element ... ok
[INFO] [stdout] test template::tests::blacklist_nested_element ... ok
[INFO] [stdout] test template::tests::compile_single_top_level_template ... ok
[INFO] [stdout] test template::tests::blacklist_whole_subtree ... ok
[INFO] [stdout] test template::tests::compile_multiple_top_level_templates ... ok
[INFO] [stdout] test template::tests::compile_templates_inside_arrays ... ok
[INFO] [stdout] test template::tests::compile_single_nested_template ... ok
[INFO] [stdout] test template::tests::leave_missing_values_as_interpolations ... ok
[INFO] [stdout] test template::tests::non_this_prefix_left_unchanged ... ok
[INFO] [stdout] test template::tests::numeric_value_interpolation ... ok
[INFO] [stdout] test template::tests::null_value_interpolates ... ok
[INFO] [stdout] test template::tests::stringify_array_when_referenced_value_is_array ... ok
[INFO] [stdout] test template::tests::zero_value_interpolates ... ok
[INFO] [stdout] test template::tests::empty_string_value_interpolates ... ok
[INFO] [stdout] test template::tests::nonzero_number_interpolates ... ok
[INFO] [stdout] test types::tests::contract_matcher_equality_distinguishes_number_types ... ok
[INFO] [stdout] test types::tests::contract_matcher_equality_ignores_data_property_order ... ok
[INFO] [stdout] test types::tests::contract_matcher_equality_ignores_version_spelling ... ok
[INFO] [stdout] test types::tests::contract_matcher_serializes_to_canonical_form ... ok
[INFO] [stdout] test types::tests::contract_rejects_invalid_slug_fields ... ok
[INFO] [stdout] test types::tests::contract_rejects_invalid_type ... ok
[INFO] [stdout] test types::tests::contract_matcher_equality_is_structural ... ok
[INFO] [stdout] test template::tests::compile_contract_without_templates ... ok
[INFO] [stdout] test types::tests::contract_rejects_type_that_is_not_a_dotted_path ... ok
[INFO] [stdout] test template::tests::false_value_interpolates ... ok
[INFO] [stdout] test types::tests::contract_requirement_equality_distinguishes_variants ... ok
[INFO] [stdout] test types::tests::deserialize_contract_rejects_extra_requirement_fields ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_aliases ... ok
[INFO] [stdout] test template::tests::stringify_object_when_referenced_value_is_object ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_canonical_slug ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_children_list ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_children_tree ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_extra_fields ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_assets ... ok
[INFO] [stdout] test template::tests::true_value_interpolates ... ok
[INFO] [stdout] test types::tests::contract_accepts_spec_pattern ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_mixed_requires ... ok
[INFO] [stdout] test types::tests::contract_defers_templated_identifiers ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_multi_children_tree ... ok
[INFO] [stdout] test types::tests::contract_validates_nested_documents ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_simple_requires ... ok
[INFO] [stdout] test types::tests::contract_type_display ... ok
[INFO] [stdout] test types::tests::deserialize_fails_without_type ... ok
[INFO] [stdout] test types::tests::deserialize_nested_variants ... ok
[INFO] [stdout] test types::tests::deserialize_only_type_required ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_variants ... ok
[INFO] [stdout] test types::tests::deserialize_contract_with_version ... ok
[INFO] [stdout] test types::tests::deserialize_real_universe_contract ... ok
[INFO] [stdout] test types::tests::deserialize_requires_with_empty_not ... ok
[INFO] [stdout] test types::tests::deserialize_matcher_with_nested_data ... ok
[INFO] [stdout] test types::tests::deserialize_minimal_contract ... ok
[INFO] [stdout] test types::tests::equal_requirements_hash_equally ... ok
[INFO] [stdout] test types::tests::invalid_semver_display_names_the_value ... ok
[INFO] [stdout] test types::tests::raw_contract_try_from_value ... ok
[INFO] [stdout] test types::tests::deserialize_requires_with_empty_or ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_aliases ... ok
[INFO] [stdout] test types::tests::deserialize_requires_with_not_operation ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_assets ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_children_list ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_mixed_requires ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_simple_requires ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_variants ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_version ... ok
[INFO] [stdout] test types::tests::round_trip_full_contract ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_children_tree ... ok
[INFO] [stdout] test types::tests::round_trip_contract_with_extra_fields ... ok
[INFO] [stdout] test types::tests::round_trip_requires_with_not ... ok
[INFO] [stdout] test types::tests::round_trip_matcher_with_nested_data ... ok
[INFO] [stdout] test types::tests::deserialize_requires_with_or_operation ... ok
[INFO] [stdout] test types::tests::round_trip_minimal_contract ... ok
[INFO] [stdout] test types::tests::type_constants_are_correct ... ok
[INFO] [stdout] test types::tests::version_display ... ok
[INFO] [stdout] test types::tests::version_partial_semver_one_component ... ok
[INFO] [stdout] test types::tests::version_partial_semver_two_components ... ok
[INFO] [stdout] test types::tests::version_req_display ... ok
[INFO] [stdout] test types::tests::version_req_matches_identifier_equality ... ok
[INFO] [stdout] test types::tests::slug_display ... ok
[INFO] [stdout] test types::tests::round_trip_requires_with_or ... ok
[INFO] [stdout] test types::tests::version_partial_semver_not_a_number ... ok
[INFO] [stdout] test types::tests::version_req_matches_identifier_target_against_semver_range_fallback ... ok
[INFO] [stdout] test types::tests::version_req_matches_semver_range_rejects_out_of_range ... ok
[INFO] [stdout] test types::tests::equal_matchers_hash_equally ... ok
[INFO] [stdout] test types::tests::identifiers_are_plain_wrappers ... ok
[INFO] [stdout] test types::tests::matchers_are_not_validated ... ok
[INFO] [stdout] test types::tests::version_semver_parsing ... ok
[INFO] [stdout] test types::tests::version_req_matches_semver_range_satisfies_semver_version ... ok
[INFO] [stdout] test universe::tests::add_children_through_deref_mut ... ok
[INFO] [stdout] test universe::tests::default_is_empty_universe ... ok
[INFO] [stdout] test universe::tests::find_children_through_deref_mut ... ok
[INFO] [stdout] test universe::tests::hash_is_stable_for_empty_universe ... ok
[INFO] [stdout] test universe::tests::into_inner_preserves_contract ... ok
[INFO] [stdout] test universe::tests::new_universe_has_universe_type ... ok
[INFO] [stdout] test universe::tests::remove_child_through_deref_mut ... ok
[INFO] [stdout] test types::tests::version_req_semver_parsing ... ok
[INFO] [stdout] test variants::tests::build_concatenates_children_lists ... ok
[INFO] [stdout] test types::tests::version_semver_constructor_rejects_identifiers ... ok
[INFO] [stdout] test variants::tests::build_contract_with_empty_variants ... ok
[INFO] [stdout] test universe::tests::add_child_through_deref_mut ... ok
[INFO] [stdout] test variants::tests::build_contract_with_no_variants ... ok
[INFO] [stdout] test variants::tests::build_manually_constructed_contract ... ok
[INFO] [stdout] test variants::tests::build_merges_arrays_correctly ... ok
[INFO] [stdout] test variants::tests::build_merges_children_list_with_tree ... ok
[INFO] [stdout] test variants::tests::build_contract_with_two_variants ... ok
[INFO] [stdout] test variants::tests::build_deeply_nested_data_merge ... ok
[INFO] [stdout] test variants::tests::build_merges_disjoint_children_trees ... ok
[INFO] [stdout] test variants::tests::build_multiple_array_fields_concatenate ... ok
[INFO] [stdout] test variants::tests::build_nested_variants ... ok
[INFO] [stdout] test variants::tests::build_preserves_extra_fields ... ok
[INFO] [stdout] test variants::tests::build_preserves_unknown_asset_fields ... ok
[INFO] [stdout] test variants::tests::build_variant_type_field_is_dropped ... ok
[INFO] [stdout] test variants::tests::deep_merge_arrays_concatenate ... ok
[INFO] [stdout] test variants::tests::build_variant_overrides_base_scalar ... ok
[INFO] [stdout] test variants::tests::deep_merge_mixed_types_overlay_wins ... ok
[INFO] [stdout] test variants::tests::deep_merge_nested_objects ... ok
[INFO] [stdout] test types::tests::version_req_matches_semver_target_against_identifier_req_fallback ... ok
[INFO] [stdout] test variants::tests::deep_merge_scalars_overlay_wins ... ok
[INFO] [stdout] test types::tests::version_req_semver_constructor_rejects_identifiers ... ok
[INFO] [stdout] test variants::tests::build_keeps_base_only_children ... ok
[INFO] [stderr]    Doc-tests contrato
[INFO] [stdout] test variants::tests::build_keeps_children_of_same_type_with_different_slugs ... ok
[INFO] [stdout] test variants::tests::build_keeps_variant_only_children ... ok
[INFO] [stdout] test variants::tests::build_merges_colliding_assets_field_wise ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 413 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test src/../README.md - (line 132) ... ok
[INFO] [stdout] test src/../README.md - (line 193) ... ok
[INFO] [stdout] test src/../README.md - (line 309) ... ok
[INFO] [stdout] test src/../README.md - (line 367) ... ok
[INFO] [stdout] test src/../README.md - (line 281) ... ok
[INFO] [stdout] test src/../README.md - (line 243) ... ok
[INFO] [stdout] test src/../README.md - (line 217) ... ok
[INFO] [stdout] test src/children_tree.rs - children_tree::ChildrenTree (line 36) ... ok
[INFO] [stdout] test src/../README.md - (line 16) ... ok
[INFO] [stdout] test src/../README.md - (line 98) ... ok
[INFO] [stdout] test src/../README.md - (line 78) ... ok
[INFO] [stdout] test src/../README.md - (line 57) ... ok
[INFO] [stdout] test src/../README.md - (line 396) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::hash (line 398) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::are_children_satisfied (line 1036) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::build (line 497) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::find_children (line 708) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract (line 110) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::add_child (line 546) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::get_not_satisfied_child_requirements (line 975) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::get_children (line 614) ... ok
[INFO] [stdout] test src/types.rs - types::Matcher (line 542) ... ok
[INFO] [stdout] test src/types.rs - types::Kind (line 105) ... ok
[INFO] [stdout] test src/types.rs - types::Matcher::with_version (line 604) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::satisfies_child_contract (line 923) ... ok
[INFO] [stdout] test src/types.rs - types::Matcher::with_version (line 614) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::try_from (line 1252) ... ok
[INFO] [stdout] test src/types.rs - types::RawContract::try_from (line 836) ... ok
[INFO] [stdout] test src/types.rs - types::RawContract (line 786) ... ok
[INFO] [stdout] test src/types.rs - types::Version::semver (line 323) ... ok
[INFO] [stdout] test src/types.rs - types::Slug (line 149) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::requirement_matchers_for_type (line 441) ... ok
[INFO] [stdout] test src/contract.rs - contract::Contract::interpolate (line 215) ... ok
[INFO] [stdout] test src/types.rs - types::VersionReq (line 393) ... ok
[INFO] [stdout] test src/types.rs - types::VersionReq::semver (line 435) ... ok
[INFO] [stdout] test src/types.rs - types::VersionReq (line 408) ... ok
[INFO] [stdout] test src/universe.rs - universe::Universe (line 16) ... ok
[INFO] [stdout] test src/types.rs - types::Version (line 280) ... ok
[INFO] [stdout] test src/types.rs - types::Requirement (line 649) ... ok
[INFO] [stdout] test src/types.rs - types::Version (line 265) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.17s; merged doctests compilation took 1.10s
[INFO] running `Command { std: "docker" "inspect" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f", kill_on_drop: false }`
[INFO] [stdout] 641a055c109aadcafcc79d8ff79a065e2dd6eb260e4cd59871f6347d9716ca5f
