[INFO] fetching crate zenrust-validate-derive 0.0.3...
[INFO] testing zenrust-validate-derive-0.0.3 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate zenrust-validate-derive 0.0.3 into /workspace/builds/worker-5-tc2/source
[INFO] started tweaking crates.io crate zenrust-validate-derive 0.0.3
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate zenrust-validate-derive 0.0.3
[INFO] tweaked toml for crates.io crate zenrust-validate-derive 0.0.3 written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate zenrust-validate-derive 0.0.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 zenrust-validate-derive 0.0.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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db
[INFO] running `Command { std: "docker" "start" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db", 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" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db" "/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" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db", 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" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling zenrust-validate-derive v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 9.41s
[INFO] running `Command { std: "docker" "inspect" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db", 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" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling target-triple v1.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling zenrust-validate-derive v0.0.3 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling trybuild v1.0.120
[INFO] [stdout] error[E0432]: unresolved import `zenrust_validate`
[INFO] [stdout]   --> tests/spec_001_derive_containers.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use zenrust_validate::Validate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `zenrust_validate`
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use zenrust_validate::Validate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `zenrust_validate`
[INFO] [stdout]  --> tests/spec_001_derive_contract.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use zenrust_validate::{Context, CustomRule, Validate, Validator, Violation};
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `zenrust_validate`
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:46:7
[INFO] [stdout]    |
[INFO] [stdout] 46 |   use zenrust_validate::{
[INFO] [stdout]    |       ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `zenrust_validate`
[INFO] [stdout]  --> tests/spec_001_derive_type_rules.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use zenrust_validate::Validate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `zenrust_validate`
[INFO] [stdout]   --> tests/spec_001_derive_empty_string.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use zenrust_validate::Validate;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `zenrust_validate`
[INFO] [stdout]  --> tests/spec_001_derive_keys.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use zenrust_validate::Validate;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:87:5
[INFO] [stdout]    |
[INFO] [stdout] 87 |   #[validate(min(2))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |   #[validate(min(3), max(50))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:105:5
[INFO] [stdout]     |
[INFO] [stdout] 105 |   #[validate(min(8), confirmed)]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |   #[validate(email)]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |   #[validate(same("contact_email"))]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |   #[validate(min(5))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |   #[validate(same("contact_email"))]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |   #[validate(min(8), confirmed)]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |   #[validate(min(5))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |   #[validate(rename = "contactEmail")]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |   #[validate(min(2))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_empty_string.rs:89:5
[INFO] [stdout]    |
[INFO] [stdout] 89 |   #[validate(min(1))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |   #[validate(min(18))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |   #[validate(each(email))]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |   #[validate(min(8), confirmed)]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |   #[validate(one_of("free", "pro", "team"))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |   #[validate(url)]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `OptionalChildList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:100:35
[INFO] [stdout]     |
[INFO] [stdout]  43 | struct OptionalChildList {
[INFO] [stdout]     | ------------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 100 |   let errors = OptionalChildList::validate(&json!({"items": [{}]}))
[INFO] [stdout]     |                                   ^^^^^^^^ associated function or constant not found in `OptionalChildList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_contract.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |   #[validate(min(1), each(starts_with("REF-")))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:48:3
[INFO] [stdout]    |
[INFO] [stdout] 48 | #[validate(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 49 + #[derive(Validate)]
[INFO] [stdout] 50 | struct CamelContainer {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_contract.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |   #[validate(bail, min(3))]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:66:3
[INFO] [stdout]    |
[INFO] [stdout] 66 | #[validate(rename_all = "camelCase")]
[INFO] [stdout]    |   ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout]    |
[INFO] [stdout] 67 + #[derive(Validate)]
[INFO] [stdout] 68 | struct FieldRenameWins {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_contract.rs:192:5
[INFO] [stdout]     |
[INFO] [stdout] 192 |   #[validate(custom(EvenNumber))]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:68:5
[INFO] [stdout]    |
[INFO] [stdout] 68 |   #[validate(rename = "user_name")]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalChildList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |   let missing = OptionalChildList::try_from(json!({})).expect("missing container is absent");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalChildList`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | struct OptionalChildList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalChildList>`
[INFO] [stdout]     = note: required for `OptionalChildList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalChildList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:111:14
[INFO] [stdout]     |
[INFO] [stdout] 111 |   let null = OptionalChildList::try_from(json!({"items": null})).expect("null container is absent");
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalChildList`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | struct OptionalChildList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalChildList>`
[INFO] [stdout]     = note: required for `OptionalChildList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalChildList: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:109:17
[INFO] [stdout]     |
[INFO] [stdout] 109 |   let missing = OptionalChildList::try_from(json!({})).expect("missing container is absent");
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalChildList`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:43:1
[INFO] [stdout]     |
[INFO] [stdout]  43 | struct OptionalChildList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalChildList>`
[INFO] [stdout]     = note: required for `OptionalChildList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |   #[validate(same("email_confirmation"))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_contract.rs:214:5
[INFO] [stdout]     |
[INFO] [stdout] 214 |   #[validate(date)]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `ChildOptionList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:119:33
[INFO] [stdout]     |
[INFO] [stdout]  49 | struct ChildOptionList {
[INFO] [stdout]     | ---------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 119 |   let errors = ChildOptionList::validate(&json!({"items": [{}]}))
[INFO] [stdout]     |                                 ^^^^^^^^ associated function or constant not found in `ChildOptionList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:98:5
[INFO] [stdout]    |
[INFO] [stdout] 98 |   #[validate(same("contact_email"))]
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_contract.rs:228:5
[INFO] [stdout]     |
[INFO] [stdout] 228 |   #[validate(min(1))]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ChildOptionList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |   let ok = ChildOptionList::try_from(json!({"items": [null, {"name": "a"}]}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `ChildOptionList`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:49:1
[INFO] [stdout]     |
[INFO] [stdout]  49 | struct ChildOptionList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<ChildOptionList>`
[INFO] [stdout]     = note: required for `ChildOptionList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ChildOptionList: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:129:12
[INFO] [stdout]     |
[INFO] [stdout] 129 |   let ok = ChildOptionList::try_from(json!({"items": [null, {"name": "a"}]}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `ChildOptionList`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:49:1
[INFO] [stdout]     |
[INFO] [stdout]  49 | struct ChildOptionList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<ChildOptionList>`
[INFO] [stdout]     = note: required for `ChildOptionList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |   #[validate(rename = "contactEmail")]
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `validate` is an attribute that can be used by the derive macro `Validate`, you might be missing a `derive` attribute
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Grid` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:143:22
[INFO] [stdout]     |
[INFO] [stdout]  55 | struct Grid {
[INFO] [stdout]     | ----------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 143 |   let errors = Grid::validate(&json!({"grid": [["a", 5]]}))
[INFO] [stdout]     |                      ^^^^^^^^ associated function or constant not found in `Grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Grid: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |   let ok = Grid::try_from(json!({"grid": [["a"], ["b", "c"]]})).expect("valid grid");
[INFO] [stdout]     |            ^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Grid`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:55:1
[INFO] [stdout]     |
[INFO] [stdout]  55 | struct Grid {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Grid>`
[INFO] [stdout]     = note: required for `Grid` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Grid: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:152:12
[INFO] [stdout]     |
[INFO] [stdout] 152 |   let ok = Grid::try_from(json!({"grid": [["a"], ["b", "c"]]})).expect("valid grid");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Grid`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:55:1
[INFO] [stdout]     |
[INFO] [stdout]  55 | struct Grid {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Grid>`
[INFO] [stdout]     = note: required for `Grid` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Grid` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:177:22
[INFO] [stdout]     |
[INFO] [stdout]  55 | struct Grid {
[INFO] [stdout]     | ----------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 177 |   let errors = Grid::validate(&json!({"grid": [["a"], []]}))
[INFO] [stdout]     |                      ^^^^^^^^ associated function or constant not found in `Grid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `DeepGrid` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:187:26
[INFO] [stdout]     |
[INFO] [stdout]  61 | struct DeepGrid {
[INFO] [stdout]     | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 187 |   let errors = DeepGrid::validate(&json!({"cube": [[[1, "x"]]]}))
[INFO] [stdout]     |                          ^^^^^^^^ associated function or constant not found in `DeepGrid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DeepGrid: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 191 |   let ok = DeepGrid::try_from(json!({"cube": [[["1", 2]]]})).expect("valid cube");
[INFO] [stdout]     |            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `DeepGrid`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | struct DeepGrid {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<DeepGrid>`
[INFO] [stdout]     = note: required for `DeepGrid` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DeepGrid: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:191:12
[INFO] [stdout]     |
[INFO] [stdout] 191 |   let ok = DeepGrid::try_from(json!({"cube": [[["1", 2]]]})).expect("valid cube");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `DeepGrid`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:61:1
[INFO] [stdout]     |
[INFO] [stdout]  61 | struct DeepGrid {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<DeepGrid>`
[INFO] [stdout]     = note: required for `DeepGrid` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]  --> tests/spec_001_derive_contract.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn rule_on(errors: &zenrust_validate::Errors, field: &str) -> String {
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0432, E0433.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0432`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `IntegerList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:200:29
[INFO] [stdout]     |
[INFO] [stdout]  73 | struct IntegerList {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 200 |   let errors = IntegerList::validate(&json!({"nums": [null, 2]}))
[INFO] [stdout]     |                             ^^^^^^^^ associated function or constant not found in `IntegerList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `RequiredName` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:27:31
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RequiredName {
[INFO] [stdout]    | ------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 27 |   let missing = RequiredName::validate(&json!({})).unwrap_err();
[INFO] [stdout]    |                               ^^^^^^^^ associated function or constant not found in `RequiredName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:257:17
[INFO] [stdout]     |
[INFO] [stdout] 257 |   let by_hand = zenrust_validate::Validator::builder()
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `IntegerList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |   let ok = IntegerList::try_from(json!({"nums": ["1", 2]})).expect("a numeric string is a value");
[INFO] [stdout]     |            ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `IntegerList`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:73:1
[INFO] [stdout]     |
[INFO] [stdout]  73 | struct IntegerList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<IntegerList>`
[INFO] [stdout]     = note: required for `IntegerList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `RequiredName` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:30:28
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RequiredName {
[INFO] [stdout]    | ------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 30 |   let null = RequiredName::validate(&json!({"name": null})).unwrap_err();
[INFO] [stdout]    |                            ^^^^^^^^ associated function or constant not found in `RequiredName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `WithRequiredAddress` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:53:44
[INFO] [stdout]    |
[INFO] [stdout] 41 | struct WithRequiredAddress {
[INFO] [stdout]    | -------------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 53 |     let Err(errors) = WithRequiredAddress::validate(&input) else {
[INFO] [stdout]    |                                            ^^^^^^^^ associated function or constant not found in `WithRequiredAddress`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `IntegerList: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:209:12
[INFO] [stdout]     |
[INFO] [stdout] 209 |   let ok = IntegerList::try_from(json!({"nums": ["1", 2]})).expect("a numeric string is a value");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `IntegerList`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:73:1
[INFO] [stdout]     |
[INFO] [stdout]  73 | struct IntegerList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<IntegerList>`
[INFO] [stdout]     = note: required for `IntegerList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zenrust-validate-derive` (test "spec_001_derive_contract") due to 14 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `PriceList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:217:27
[INFO] [stdout]     |
[INFO] [stdout]  79 | struct PriceList {
[INFO] [stdout]     | ---------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 217 |   let prices = PriceList::validate(&json!({"prices": ["", 1.5]}))
[INFO] [stdout]     |                           ^^^^^^^^ associated function or constant not found in `PriceList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `RequiredName` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:33:29
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct RequiredName {
[INFO] [stdout]    | ------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 33 |   let empty = RequiredName::validate(&json!({"name": ""})).unwrap_err();
[INFO] [stdout]    |                             ^^^^^^^^ associated function or constant not found in `RequiredName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Tags` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:77:22
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Tags {
[INFO] [stdout]    | ----------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 77 |   let errors = Tags::validate(&json!({"tags": []})).expect_err("an empty list is not present");
[INFO] [stdout]    |                      ^^^^^^^^ associated function or constant not found in `Tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `FlagList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:221:25
[INFO] [stdout]     |
[INFO] [stdout]  85 | struct FlagList {
[INFO] [stdout]     | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 221 |   let flags = FlagList::validate(&json!({"flags": ["", true]}))
[INFO] [stdout]     |                         ^^^^^^^^ associated function or constant not found in `FlagList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Tags: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |   let ok = Tags::try_from(json!({"tags": ["a"]})).expect("a non-empty list is present");
[INFO] [stdout]    |            ^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Tags`
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Tags {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<Tags>`
[INFO] [stdout]    = note: required for `Tags` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Tags: From<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:80:12
[INFO] [stdout]    |
[INFO] [stdout] 80 |   let ok = Tags::try_from(json!({"tags": ["a"]})).expect("a non-empty list is present");
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Tags`
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct Tags {
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<Tags>`
[INFO] [stdout]    = note: required for `Tags` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `PriceList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:230:27
[INFO] [stdout]     |
[INFO] [stdout]  79 | struct PriceList {
[INFO] [stdout]     | ---------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 230 |   let prices = PriceList::validate(&json!({"prices": [null, 1.5]})).expect_err("`null` fails both");
[INFO] [stdout]     |                           ^^^^^^^^ associated function or constant not found in `PriceList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Password` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Password {
[INFO] [stdout]    | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 28 |   let absent = Password::validate(&json!({"password": "secret123"})).unwrap_err();
[INFO] [stdout]    |                          ^^^^^^^^ associated function or constant not found in `Password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Password` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:31:30
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Password {
[INFO] [stdout]    | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 31 |   let mismatched = Password::validate(&json!({
[INFO] [stdout]    |                              ^^^^^^^^ associated function or constant not found in `Password`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalWebsite: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |   let missing = OptionalWebsite::try_from(json!({})).expect("missing is ok");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalWebsite`
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct OptionalWebsite {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<OptionalWebsite>`
[INFO] [stdout]    = note: required for `OptionalWebsite` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `MinTags` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:98:25
[INFO] [stdout]    |
[INFO] [stdout] 86 | struct MinTags {
[INFO] [stdout]    | -------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 98 |   let errors = MinTags::validate(&json!({"tags": []})).expect_err("an empty list fails both rules");
[INFO] [stdout]    |                         ^^^^^^^^ associated function or constant not found in `MinTags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Password: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |   let matching = Password::try_from(json!({
[INFO] [stdout]    |                  ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Password`
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Password {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<Password>`
[INFO] [stdout]    = note: required for `Password` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalWebsite: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:51:14
[INFO] [stdout]    |
[INFO] [stdout] 51 |   let null = OptionalWebsite::try_from(json!({"website": null})).expect("null is ok");
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalWebsite`
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct OptionalWebsite {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<OptionalWebsite>`
[INFO] [stdout]    = note: required for `OptionalWebsite` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalWebsite: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:54:15
[INFO] [stdout]    |
[INFO] [stdout] 54 |   let empty = OptionalWebsite::try_from(json!({"website": ""})).expect("empty string is ok");
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalWebsite`
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct OptionalWebsite {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<OptionalWebsite>`
[INFO] [stdout]    = note: required for `OptionalWebsite` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalWebsite: From<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:48:17
[INFO] [stdout]    |
[INFO] [stdout] 48 |   let missing = OptionalWebsite::try_from(json!({})).expect("missing is ok");
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalWebsite`
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:39:1
[INFO] [stdout]    |
[INFO] [stdout] 39 | struct OptionalWebsite {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<OptionalWebsite>`
[INFO] [stdout]    = note: required for `OptionalWebsite` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `FlagList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:233:25
[INFO] [stdout]     |
[INFO] [stdout]  85 | struct FlagList {
[INFO] [stdout]     | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 233 |   let flags = FlagList::validate(&json!({"flags": [null, true]})).expect_err("`null` fails both");
[INFO] [stdout]     |                         ^^^^^^^^ associated function or constant not found in `FlagList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Password: From<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:38:18
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let matching = Password::try_from(json!({
[INFO] [stdout]    |  __________________^
[INFO] [stdout] 39 | |       "password": "secret123",
[INFO] [stdout] 40 | |       "password_confirmation": "secret123",
[INFO] [stdout] 41 | |   }))
[INFO] [stdout]    | |_____^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Password`
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:18:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | struct Password {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<Password>`
[INFO] [stdout]    = note: required for `Password` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `WithAccount: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |   let ok = WithAccount::try_from(json!({
[INFO] [stdout]     |            ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `WithAccount`
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct WithAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<WithAccount>`
[INFO] [stdout]     = note: required for `WithAccount` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CamelContainer: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |   let ok = CamelContainer::try_from(json!({"displayName": "x"})).expect("camelCase key");
[INFO] [stdout]    |            ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `CamelContainer`
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct CamelContainer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<CamelContainer>`
[INFO] [stdout]    = note: required for `CamelContainer` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `MinString` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:76:27
[INFO] [stdout]    |
[INFO] [stdout] 60 | struct MinString {
[INFO] [stdout]    | ---------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |   let errors = MinString::validate(&json!({"code": "20"})).unwrap_err();
[INFO] [stdout]    |                           ^^^^^^^^ associated function or constant not found in `MinString`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `WithAccount` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:128:33
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct WithAccount {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 128 |   let mismatched = WithAccount::validate(&json!({
[INFO] [stdout]     |                                 ^^^^^^^^ associated function or constant not found in `WithAccount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `CamelContainer` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:60:33
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct CamelContainer {
[INFO] [stdout]    | --------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 60 |   let missing = CamelContainer::validate(&json!({})).unwrap_err();
[INFO] [stdout]    |                                 ^^^^^^^^ associated function or constant not found in `CamelContainer`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `IntegerGrid` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:241:29
[INFO] [stdout]     |
[INFO] [stdout]  67 | struct IntegerGrid {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 241 |   let errors = IntegerGrid::validate(&json!({"grid": [[1, ""], [2]]}))
[INFO] [stdout]     |                             ^^^^^^^^ associated function or constant not found in `IntegerGrid`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MinInteger: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |   let ok = MinInteger::try_from(json!({"code": "20"})).expect("20 >= 5 numerically");
[INFO] [stdout]    |            ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `MinInteger`
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct MinInteger {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<MinInteger>`
[INFO] [stdout]    = note: required for `MinInteger` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `MinInteger: From<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 |   let ok = MinInteger::try_from(json!({"code": "20"})).expect("20 >= 5 numerically");
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `MinInteger`
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct MinInteger {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<MinInteger>`
[INFO] [stdout]    = note: required for `MinInteger` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `CamelContainer: From<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:57:12
[INFO] [stdout]    |
[INFO] [stdout] 57 |   let ok = CamelContainer::try_from(json!({"displayName": "x"})).expect("camelCase key");
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `CamelContainer`
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:49:1
[INFO] [stdout]    |
[INFO] [stdout] 49 | struct CamelContainer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<CamelContainer>`
[INFO] [stdout]    = note: required for `CamelContainer` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `WithAccount` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:134:29
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct WithAccount {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 134 |   let absent = WithAccount::validate(&json!({"account": {"password": "secret123"}}))
[INFO] [stdout]     |                             ^^^^^^^^ associated function or constant not found in `WithAccount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FieldRenameWins: TryFrom<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |   let ok = FieldRenameWins::try_from(json!({"user_name": "x"})).expect("field rename wins");
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `FieldRenameWins`
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct FieldRenameWins {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<FieldRenameWins>`
[INFO] [stdout]    = note: required for `FieldRenameWins` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalIntegerElements: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:256:14
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let ok = OptionalIntegerElements::try_from(input)
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalIntegerElements`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:91:1
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct OptionalIntegerElements {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalIntegerElements>`
[INFO] [stdout]     = note: required for `OptionalIntegerElements` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `FieldRenameWins: From<Value>` is not satisfied
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 |   let ok = FieldRenameWins::try_from(json!({"user_name": "x"})).expect("field rename wins");
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]    |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `FieldRenameWins`
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:67:1
[INFO] [stdout]    |
[INFO] [stdout] 67 | struct FieldRenameWins {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    = note: required for `Value` to implement `Into<FieldRenameWins>`
[INFO] [stdout]    = note: required for `FieldRenameWins` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalIntegerElements: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:256:14
[INFO] [stdout]     |
[INFO] [stdout] 256 |     let ok = OptionalIntegerElements::try_from(input)
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalIntegerElements`
[INFO] [stdout]    --> tests/spec_001_derive_containers.rs:91:1
[INFO] [stdout]     |
[INFO] [stdout]  91 | struct OptionalIntegerElements {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalIntegerElements>`
[INFO] [stdout]     = note: required for `OptionalIntegerElements` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `WithAccount: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 |     let ok = WithAccount::try_from(json!({
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 123 | |       "account": {"password": "secret123", "password_confirmation": "secret123"},
[INFO] [stdout] 124 | |   }))
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `WithAccount`
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:111:1
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct WithAccount {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<WithAccount>`
[INFO] [stdout]     = note: required for `WithAccount` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `MinTags` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_type_rules.rs:93:25
[INFO] [stdout]    |
[INFO] [stdout] 85 | struct MinTags {
[INFO] [stdout]    | -------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 93 |   let errors = MinTags::validate(&json!({"tags": ["a"]})).unwrap_err();
[INFO] [stdout]    |                         ^^^^^^^^ associated function or constant not found in `MinTags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AgeI64: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |   let from_string = AgeI64::try_from(json!({"age": "5"})).expect("numeric string");
[INFO] [stdout]     |                     ^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `AgeI64`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct AgeI64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<AgeI64>`
[INFO] [stdout]     = note: required for `AgeI64` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AgeI64: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:108:21
[INFO] [stdout]     |
[INFO] [stdout] 108 |   let from_native = AgeI64::try_from(json!({"age": 5})).expect("native number");
[INFO] [stdout]     |                     ^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `AgeI64`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct AgeI64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<AgeI64>`
[INFO] [stdout]     = note: required for `AgeI64` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `AgeI64: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:106:21
[INFO] [stdout]     |
[INFO] [stdout] 106 |   let from_string = AgeI64::try_from(json!({"age": "5"})).expect("numeric string");
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `AgeI64`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:99:1
[INFO] [stdout]     |
[INFO] [stdout]  99 | struct AgeI64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<AgeI64>`
[INFO] [stdout]     = note: required for `AgeI64` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `WithAccount` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:144:29
[INFO] [stdout]     |
[INFO] [stdout] 111 | struct WithAccount {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 144 |   let errors = WithAccount::validate(&json!({
[INFO] [stdout]     |                             ^^^^^^^^ associated function or constant not found in `WithAccount`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `CountI32` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:122:26
[INFO] [stdout]     |
[INFO] [stdout] 114 | struct CountI32 {
[INFO] [stdout]     | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 122 |   let errors = CountI32::validate(&json!({"count": 3_000_000_000_i64})).unwrap_err();
[INFO] [stdout]     |                          ^^^^^^^^ associated function or constant not found in `CountI32`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `VerbatimSame` in the current scope
[INFO] [stdout]   --> tests/spec_001_derive_keys.rs:91:30
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct VerbatimSame {
[INFO] [stdout]    | ------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |   let errors = VerbatimSame::validate(&json!({"email": "a@b.com"})).unwrap_err();
[INFO] [stdout]    |                              ^^^^^^^^ associated function or constant not found in `VerbatimSame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `IdU64: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 |   let ok = IdU64::try_from(json!({"id": u64::MAX})).expect("u64::MAX fits u64 natively");
[INFO] [stdout]     |            ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `IdU64`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct IdU64 {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<IdU64>`
[INFO] [stdout]     = note: required for `IdU64` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `WithContact: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 |   let ok = WithContact::try_from(json!({
[INFO] [stdout]     |            ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `WithContact`
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | struct WithContact {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<WithContact>`
[INFO] [stdout]     = note: required for `WithContact` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_containers.rs:18:21
[INFO] [stdout]    |
[INFO] [stdout] 18 | fn rule_on(errors: &zenrust_validate::Errors, field: &str) -> String {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_containers.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn rules_on(errors: &zenrust_validate::Errors, field: &str) -> Vec<String> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SiblingSame: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |   let matching = SiblingSame::try_from(json!({
[INFO] [stdout]     |                  ^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `SiblingSame`
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | struct SiblingSame {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<SiblingSame>`
[INFO] [stdout]     = note: required for `SiblingSame` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `SiblingSame` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:115:33
[INFO] [stdout]     |
[INFO] [stdout]  97 | struct SiblingSame {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 115 |   let mismatched = SiblingSame::validate(&json!({
[INFO] [stdout]     |                                 ^^^^^^^^ associated function or constant not found in `SiblingSame`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `IdU64` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct IdU64 {
[INFO] [stdout]     | ------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 140 |     IdU64::validate(&json!({"id": u64::MAX.to_string()})).expect_err("string form fails");
[INFO] [stdout]     |            ^^^^^^^^ associated function or constant not found in `IdU64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `SiblingSame: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:108:18
[INFO] [stdout]     |
[INFO] [stdout] 108 |     let matching = SiblingSame::try_from(json!({
[INFO] [stdout]     |  __________________^
[INFO] [stdout] 109 | |       "email": "a@b.com",
[INFO] [stdout] 110 | |       "contactEmail": "a@b.com",
[INFO] [stdout] 111 | |   }))
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `SiblingSame`
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:97:1
[INFO] [stdout]     |
[INFO] [stdout]  97 | struct SiblingSame {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<SiblingSame>`
[INFO] [stdout]     = note: required for `SiblingSame` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `WithContact` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:176:33
[INFO] [stdout]     |
[INFO] [stdout] 162 | struct WithContact {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 176 |   let mismatched = WithContact::validate(&json!({
[INFO] [stdout]     |                                 ^^^^^^^^ associated function or constant not found in `WithContact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `WithContact: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:170:12
[INFO] [stdout]     |
[INFO] [stdout] 170 |     let ok = WithContact::try_from(json!({
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 171 | |       "account": {"email": "a@b.com", "contact_email": "a@b.com"},
[INFO] [stdout] 172 | |   }))
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `WithContact`
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | struct WithContact {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<WithContact>`
[INFO] [stdout]     = note: required for `WithContact` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `WithRenamedContact: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |   let ok = WithRenamedContact::try_from(json!({
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `WithRenamedContact`
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct WithRenamedContact {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<WithRenamedContact>`
[INFO] [stdout]     = note: required for `WithRenamedContact` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `IdU64: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 |   let ok = IdU64::try_from(json!({"id": u64::MAX})).expect("u64::MAX fits u64 natively");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `IdU64`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:128:1
[INFO] [stdout]     |
[INFO] [stdout] 128 | struct IdU64 {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<IdU64>`
[INFO] [stdout]     = note: required for `IdU64` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zenrust-validate-derive` (test "spec_001_derive_containers") due to 27 previous errors
[INFO] [stdout] error[E0277]: the trait bound `NameOnly: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |   let ok = NameOnly::try_from(json!({
[INFO] [stdout]     |            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `NameOnly`
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct NameOnly {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<NameOnly>`
[INFO] [stdout]     = note: required for `NameOnly` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `NameOnly: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:133:12
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let ok = NameOnly::try_from(json!({
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 134 | |       "name": "Alice",
[INFO] [stdout] 135 | |       "role": "admin",
[INFO] [stdout] 136 | |       "tenant": 42,
[INFO] [stdout] 137 | |   }))
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `NameOnly`
[INFO] [stdout]    --> tests/spec_001_derive_keys.rs:125:1
[INFO] [stdout]     |
[INFO] [stdout] 125 | struct NameOnly {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<NameOnly>`
[INFO] [stdout]     = note: required for `NameOnly` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `WithRenamedContact` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:209:40
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct WithRenamedContact {
[INFO] [stdout]     | ------------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 209 |   let mismatched = WithRenamedContact::validate(&json!({
[INFO] [stdout]     |                                        ^^^^^^^^ associated function or constant not found in `WithRenamedContact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `WithRenamedContact: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:203:12
[INFO] [stdout]     |
[INFO] [stdout] 203 |     let ok = WithRenamedContact::try_from(json!({
[INFO] [stdout]     |  ____________^
[INFO] [stdout] 204 | |       "account": {"email": "a@b.com", "contactEmail": "a@b.com"},
[INFO] [stdout] 205 | |   }))
[INFO] [stdout]     | |_____^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `WithRenamedContact`
[INFO] [stdout]    --> tests/spec_001_derive_edges.rs:194:1
[INFO] [stdout]     |
[INFO] [stdout] 194 | struct WithRenamedContact {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<WithRenamedContact>`
[INFO] [stdout]     = note: required for `WithRenamedContact` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PriceF64: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |   let ok = PriceF64::try_from(json!({"price": "1e3"})).expect("1e3 parses");
[INFO] [stdout]     |            ^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `PriceF64`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct PriceF64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<PriceF64>`
[INFO] [stdout]     = note: required for `PriceF64` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]  --> tests/spec_001_derive_keys.rs:8:21
[INFO] [stdout]   |
[INFO] [stdout] 8 | fn rule_on(errors: &zenrust_validate::Errors, field: &str) -> String {
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `PriceF64` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:158:21
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct PriceF64 {
[INFO] [stdout]     | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 158 |   assert!(PriceF64::validate(&json!({"price": " 5 "})).is_ok());
[INFO] [stdout]     |                     ^^^^^^^^ associated function or constant not found in `PriceF64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zenrust-validate-derive` (test "spec_001_derive_keys") due to 24 previous errors
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `PriceF64` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:160:26
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct PriceF64 {
[INFO] [stdout]     | --------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 160 |   let errors = PriceF64::validate(&json!({"price": "3 4"})).unwrap_err();
[INFO] [stdout]     |                          ^^^^^^^^ associated function or constant not found in `PriceF64`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalScalars: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |   let by_empty = OptionalScalars::try_from(json!({"age": "", "ratio": "", "active": ""}))
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalScalars`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | struct OptionalScalars {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalScalars>`
[INFO] [stdout]     = note: required for `OptionalScalars` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `PriceF64: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:154:12
[INFO] [stdout]     |
[INFO] [stdout] 154 |   let ok = PriceF64::try_from(json!({"price": "1e3"})).expect("1e3 parses");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `PriceF64`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:146:1
[INFO] [stdout]     |
[INFO] [stdout] 146 | struct PriceF64 {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<PriceF64>`
[INFO] [stdout]     = note: required for `PriceF64` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ActiveBool: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |   let from_string_one = ActiveBool::try_from(json!({"active": "1"})).expect("\"1\" is ok");
[INFO] [stdout]     |                         ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `ActiveBool`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | struct ActiveBool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<ActiveBool>`
[INFO] [stdout]     = note: required for `ActiveBool` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalScalars: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:111:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |   let by_empty = OptionalScalars::try_from(json!({"age": "", "ratio": "", "active": ""}))
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalScalars`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | struct OptionalScalars {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalScalars>`
[INFO] [stdout]     = note: required for `OptionalScalars` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ActiveBool: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:175:19
[INFO] [stdout]     |
[INFO] [stdout] 175 |   let from_zero = ActiveBool::try_from(json!({"active": 0})).expect("0 is ok");
[INFO] [stdout]     |                   ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `ActiveBool`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | struct ActiveBool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<ActiveBool>`
[INFO] [stdout]     = note: required for `ActiveBool` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:14:21
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn rule_on(errors: &zenrust_validate::Errors, field: &str) -> String {
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalScalars: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |   let by_null = OptionalScalars::try_from(json!({"age": null, "ratio": null, "active": null}))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalScalars`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | struct OptionalScalars {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalScalars>`
[INFO] [stdout]     = note: required for `OptionalScalars` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_edges.rs:23:30
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn rule_keys<'a>(errors: &'a zenrust_validate::Errors, field: &str) -> Vec<&'a str> {
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalScalars: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:125:19
[INFO] [stdout]     |
[INFO] [stdout] 125 |   let by_absent = OptionalScalars::try_from(json!({})).expect("an absent key is accepted");
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalScalars`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | struct OptionalScalars {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalScalars>`
[INFO] [stdout]     = note: required for `OptionalScalars` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalScalars: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     OptionalScalars::try_from(json!({"age": "", "ratio": "", "active": ""})).expect("`\"\"`");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalScalars`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | struct OptionalScalars {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalScalars>`
[INFO] [stdout]     = note: required for `OptionalScalars` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `ActiveBool` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:178:28
[INFO] [stdout]     |
[INFO] [stdout] 166 | struct ActiveBool {
[INFO] [stdout]     | ----------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 178 |   let errors = ActiveBool::validate(&json!({"active": "true"})).unwrap_err();
[INFO] [stdout]     |                            ^^^^^^^^ associated function or constant not found in `ActiveBool`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zenrust-validate-derive` (test "spec_001_derive_edges") due to 24 previous errors
[INFO] [stdout] error[E0277]: the trait bound `OptionalScalars: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:123:17
[INFO] [stdout]     |
[INFO] [stdout] 123 |   let by_null = OptionalScalars::try_from(json!({"age": null, "ratio": null, "active": null}))
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalScalars`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:37:1
[INFO] [stdout]     |
[INFO] [stdout]  37 | struct OptionalScalars {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalScalars>`
[INFO] [stdout]     = note: required for `OptionalScalars` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ActiveBool: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:173:25
[INFO] [stdout]     |
[INFO] [stdout] 173 |   let from_string_one = ActiveBool::try_from(json!({"active": "1"})).expect("\"1\" is ok");
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `ActiveBool`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:166:1
[INFO] [stdout]     |
[INFO] [stdout] 166 | struct ActiveBool {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<ActiveBool>`
[INFO] [stdout]     = note: required for `ActiveBool` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalStringList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     OptionalStringList::try_from(json!({"codes": ""})).expect("`\"\"` is absence at `codes`");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalStringList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:70:1
[INFO] [stdout]     |
[INFO] [stdout]  70 | struct OptionalStringList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalStringList>`
[INFO] [stdout]     = note: required for `OptionalStringList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalIntegerList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     OptionalIntegerList::try_from(json!({"nums": ""})).expect("`\"\"` is absence at `nums`");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalIntegerList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | struct OptionalIntegerList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalIntegerList>`
[INFO] [stdout]     = note: required for `OptionalIntegerList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalStringList: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:141:5
[INFO] [stdout]     |
[INFO] [stdout] 141 |     OptionalStringList::try_from(json!({"codes": ""})).expect("`\"\"` is absence at `codes`");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalStringList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:70:1
[INFO] [stdout]     |
[INFO] [stdout]  70 | struct OptionalStringList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalStringList>`
[INFO] [stdout]     = note: required for `OptionalStringList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalIntegerList: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     OptionalIntegerList::try_from(json!({"nums": ""})).expect("`\"\"` is absence at `nums`");
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalIntegerList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:58:1
[INFO] [stdout]     |
[INFO] [stdout]  58 | struct OptionalIntegerList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalIntegerList>`
[INFO] [stdout]     = note: required for `OptionalIntegerList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Tags` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:192:25
[INFO] [stdout]     |
[INFO] [stdout] 184 | struct Tags {
[INFO] [stdout]     | ----------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 192 |   let not_array = Tags::validate(&json!({"tags": "x"})).unwrap_err();
[INFO] [stdout]     |                         ^^^^^^^^ associated function or constant not found in `Tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Tags` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:195:27
[INFO] [stdout]     |
[INFO] [stdout] 184 | struct Tags {
[INFO] [stdout]     | ----------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 195 |   let bad_element = Tags::validate(&json!({"tags": ["a", 1]})).unwrap_err();
[INFO] [stdout]     |                           ^^^^^^^^ associated function or constant not found in `Tags`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Tags: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 |   let ok = Tags::try_from(json!({"tags": ["a", "b"]})).expect("both elements are strings");
[INFO] [stdout]     |            ^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Tags`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | struct Tags {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Tags>`
[INFO] [stdout]     = note: required for `Tags` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Tags: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:198:12
[INFO] [stdout]     |
[INFO] [stdout] 198 |   let ok = Tags::try_from(json!({"tags": ["a", "b"]})).expect("both elements are strings");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Tags`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:184:1
[INFO] [stdout]     |
[INFO] [stdout] 184 | struct Tags {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Tags>`
[INFO] [stdout]     = note: required for `Tags` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Nums: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 212 |   let ok = Nums::try_from(json!({"nums": ["1", 2]})).expect("both elements are valid integers");
[INFO] [stdout]     |            ^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Nums`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct Nums {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Nums>`
[INFO] [stdout]     = note: required for `Nums` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Nums: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:212:12
[INFO] [stdout]     |
[INFO] [stdout] 212 |   let ok = Nums::try_from(json!({"nums": ["1", 2]})).expect("both elements are valid integers");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Nums`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:204:1
[INFO] [stdout]     |
[INFO] [stdout] 204 | struct Nums {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Nums>`
[INFO] [stdout]     = note: required for `Nums` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `RequiredScalars` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:154:33
[INFO] [stdout]     |
[INFO] [stdout]  45 | struct RequiredScalars {
[INFO] [stdout]     | ---------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 154 |   let errors = RequiredScalars::validate(&json!({"age": "", "active": ""}))
[INFO] [stdout]     |                                 ^^^^^^^^ associated function or constant not found in `RequiredScalars`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `Codes` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:226:23
[INFO] [stdout]     |
[INFO] [stdout] 218 | struct Codes {
[INFO] [stdout]     | ------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 226 |   let errors = Codes::validate(&json!({"codes": ["a@b.com", "bad"]})).unwrap_err();
[INFO] [stdout]     |                       ^^^^^^^^ associated function or constant not found in `Codes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Codes: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 234 |   let ok = Codes::try_from(json!({"codes": [""]})).expect("an absent element skips `email`");
[INFO] [stdout]     |            ^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Codes`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | struct Codes {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Codes>`
[INFO] [stdout]     = note: required for `Codes` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Codes: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 234 |   let ok = Codes::try_from(json!({"codes": [""]})).expect("an absent element skips `email`");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `Codes`
[INFO] [stdout]    --> tests/spec_001_derive_type_rules.rs:218:1
[INFO] [stdout]     |
[INFO] [stdout] 218 | struct Codes {
[INFO] [stdout]     | ^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<Codes>`
[INFO] [stdout]     = note: required for `Codes` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `StringList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout]  82 | struct StringList {
[INFO] [stdout]     | ----------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 165 |     StringList::validate(&json!({"codes": ""})).expect_err("`codes` is required and absent");
[INFO] [stdout]     |                 ^^^^^^^^ associated function or constant not found in `StringList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `IntegerList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:174:18
[INFO] [stdout]     |
[INFO] [stdout]  52 | struct IntegerList {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 174 |     IntegerList::validate(&json!({"nums": ""})).expect_err("`nums` is required and absent");
[INFO] [stdout]     |                  ^^^^^^^^ associated function or constant not found in `IntegerList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]  --> tests/spec_001_derive_type_rules.rs:9:21
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn rule_on(errors: &zenrust_validate::Errors, field: &str) -> String {
[INFO] [stdout]   |                     ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]   |
[INFO] [stdout]   = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalElementList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |   let ok = OptionalElementList::try_from(json!({"nums": ["", null, 3]}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalElementList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | struct OptionalElementList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalElementList>`
[INFO] [stdout]     = note: required for `OptionalElementList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalElementList: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:184:12
[INFO] [stdout]     |
[INFO] [stdout] 184 |   let ok = OptionalElementList::try_from(json!({"nums": ["", null, 3]}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalElementList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:64:1
[INFO] [stdout]     |
[INFO] [stdout]  64 | struct OptionalElementList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalElementList>`
[INFO] [stdout]     = note: required for `OptionalElementList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zenrust-validate-derive` (test "spec_001_derive_type_rules") due to 41 previous errors
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `IntegerList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:196:29
[INFO] [stdout]     |
[INFO] [stdout]  52 | struct IntegerList {
[INFO] [stdout]     | ------------------ associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 196 |   let errors = IntegerList::validate(&json!({"nums": ["", 2]}))
[INFO] [stdout]     |                             ^^^^^^^^ associated function or constant not found in `IntegerList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalString: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |   let ok = OptionalString::try_from(json!({"website": ""})).expect("`\"\"` is a valid string");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalString`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:76:1
[INFO] [stdout]     |
[INFO] [stdout]  76 | struct OptionalString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalString>`
[INFO] [stdout]     = note: required for `OptionalString` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalString: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:206:12
[INFO] [stdout]     |
[INFO] [stdout] 206 |   let ok = OptionalString::try_from(json!({"website": ""})).expect("`\"\"` is a valid string");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalString`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:76:1
[INFO] [stdout]     |
[INFO] [stdout]  76 | struct OptionalString {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalString>`
[INFO] [stdout]     = note: required for `OptionalString` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `StringList: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 |   let ok = StringList::try_from(json!({"codes": [""]})).expect("`\"\"` is a valid string");
[INFO] [stdout]     |            ^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `StringList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout]  82 | struct StringList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<StringList>`
[INFO] [stdout]     = note: required for `StringList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `StringList: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:215:12
[INFO] [stdout]     |
[INFO] [stdout] 215 |   let ok = StringList::try_from(json!({"codes": [""]})).expect("`\"\"` is a valid string");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `StringList`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:82:1
[INFO] [stdout]     |
[INFO] [stdout]  82 | struct StringList {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<StringList>`
[INFO] [stdout]     = note: required for `StringList` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `StringList` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:225:28
[INFO] [stdout]     |
[INFO] [stdout]  82 | struct StringList {
[INFO] [stdout]     | ----------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 225 |   let errors = StringList::validate(&json!({"codes": [null]})).expect_err("`null` is not a string");
[INFO] [stdout]     |                            ^^^^^^^^ associated function or constant not found in `StringList`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BoundedOptionalInteger: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 234 |   let ok = BoundedOptionalInteger::try_from(json!({"n": ""}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `BoundedOptionalInteger`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | struct BoundedOptionalInteger {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<BoundedOptionalInteger>`
[INFO] [stdout]     = note: required for `BoundedOptionalInteger` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `BoundedOptionalInteger: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 234 |   let ok = BoundedOptionalInteger::try_from(json!({"n": ""}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `BoundedOptionalInteger`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:88:1
[INFO] [stdout]     |
[INFO] [stdout]  88 | struct BoundedOptionalInteger {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<BoundedOptionalInteger>`
[INFO] [stdout]     = note: required for `BoundedOptionalInteger` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no associated function or constant named `validate` found for struct `BoundedOptionalInteger` in the current scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:242:40
[INFO] [stdout]     |
[INFO] [stdout]  88 | struct BoundedOptionalInteger {
[INFO] [stdout]     | ----------------------------- associated function or constant `validate` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 242 |   let errors = BoundedOptionalInteger::validate(&json!({"n": 0}))
[INFO] [stdout]     |                                        ^^^^^^^^ associated function or constant not found in `BoundedOptionalInteger`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ReferralCodes: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 254 |   let ok = ReferralCodes::try_from(input.clone()).expect("`\"\"` is absence at the container");
[INFO] [stdout]     |            ^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `ReferralCodes`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | struct ReferralCodes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<ReferralCodes>`
[INFO] [stdout]     = note: required for `ReferralCodes` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:260:8
[INFO] [stdout]     |
[INFO] [stdout] 260 |       [zenrust_validate::nullable(), zenrust_validate::array()],
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:260:38
[INFO] [stdout]     |
[INFO] [stdout] 260 |       [zenrust_validate::nullable(), zenrust_validate::array()],
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:262:33
[INFO] [stdout]     |
[INFO] [stdout] 262 |     .field("referral_codes.*", [zenrust_validate::string()])
[INFO] [stdout]     |                                 ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]     |
[INFO] [stdout]     = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ReferralCodes: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:254:12
[INFO] [stdout]     |
[INFO] [stdout] 254 |   let ok = ReferralCodes::try_from(input.clone()).expect("`\"\"` is absence at the container");
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `ReferralCodes`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:95:1
[INFO] [stdout]     |
[INFO] [stdout]  95 | struct ReferralCodes {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<ReferralCodes>`
[INFO] [stdout]     = note: required for `ReferralCodes` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalStringElements: TryFrom<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |   let ok = OptionalStringElements::try_from(json!({"tags": ["a", "", null]}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalStringElements`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct OptionalStringElements {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalStringElements>`
[INFO] [stdout]     = note: required for `OptionalStringElements` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `OptionalStringElements: From<Value>` is not satisfied
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:277:12
[INFO] [stdout]     |
[INFO] [stdout] 277 |   let ok = OptionalStringElements::try_from(json!({"tags": ["a", "", null]}))
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `From<Value>` is not implemented for `OptionalStringElements`
[INFO] [stdout]    --> tests/spec_001_derive_empty_string.rs:101:1
[INFO] [stdout]     |
[INFO] [stdout] 101 | struct OptionalStringElements {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     = note: required for `Value` to implement `Into<OptionalStringElements>`
[INFO] [stdout]     = note: required for `OptionalStringElements` to implement `TryFrom<Value>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: cannot find module or crate `zenrust_validate` in this scope
[INFO] [stdout]   --> tests/spec_001_derive_empty_string.rs:26:22
[INFO] [stdout]    |
[INFO] [stdout] 26 | fn rules_on(errors: &zenrust_validate::Errors, field: &str) -> Vec<String> {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^ use of unresolved module or unlinked crate `zenrust_validate`
[INFO] [stdout]    |
[INFO] [stdout]    = help: if you wanted to use a crate named `zenrust_validate`, use `cargo add zenrust_validate` to add it to your `Cargo.toml`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `zenrust-validate-derive` (test "spec_001_derive_empty_string") due to 35 previous errors
[INFO] running `Command { std: "docker" "inspect" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db", kill_on_drop: false }`
[INFO] [stdout] 4806ab94f85cfb437d6a370513633e4d69d63491e1ed539d6c0e944906a787db
