valid 0.3.1

Validate custom types by composing primitive validation functions. Use one common API for validating all kind of business rules including aspects of the application state. One common error type for all kind of constraint violations. It is designed to help with error messages that are meaningful to the user of an application.
Documentation
Build #2174125 2025-05-30 18:40:35
# rustc version
rustc 1.89.0-nightly (1bbd62e54 2025-05-29)# docs.rs version
docsrs 0.6.0 (d2911047 2025-05-28)# build log
[INFO] running `Command { std: "docker" "create" "-v" "/home/cratesfyi/workspace/builds/valid-0.3.1/target:/opt/rustwide/target:rw,Z" "-v" "/home/cratesfyi/workspace/builds/valid-0.3.1/source:/opt/rustwide/workdir:ro,Z" "-v" "/home/cratesfyi/workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/home/cratesfyi/workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "6442450944" "--cpus" "6" "--user" "1001:1001" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:eea15d5475069c3ef791f10c2c6b5af2ee421ef2da1e680ecce1cba46243983b" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--all-features" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20250529-1.89.0-nightly-1bbd62e54\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu" "--config" "build.rustdocflags=[\"-Zmetrics-dir=/opt/rustwide/target/metrics\"]", kill_on_drop: false }`
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] [stdout] c5c6df2661e8c5d1df9a729856400235d8f5e4341c5527295b05c98696e9cc84
[INFO] running `Command { std: "docker" "start" "-a" "c5c6df2661e8c5d1df9a729856400235d8f5e4341c5527295b05c98696e9cc84", kill_on_drop: false }`
[INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op
[INFO] [stderr]  Documenting valid v0.3.1 (/opt/rustwide/workdir)
[INFO] [stderr] warning: unclosed HTML tag `variant`
[INFO] [stderr]   --> src/constraint/mod.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | //! The <variant> part is optional and only present if the constraint has some
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(rustdoc::invalid_html_tags)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unexpected character `/`
[INFO] [stderr]    --> src/core/mod.rs:20:1
[INFO] [stderr]     |
[INFO] [stderr] 20  | / /// A wrapper type to express that the value of type `T` has been validated by
[INFO] [stderr] 21  | | /// the constraint `C`.
[INFO] [stderr] 22  | | ///
[INFO] [stderr] 23  | | /// The idea is that an instance of `Validated<C, T>` can only be obtained by
[INFO] [stderr] ...   |
[INFO] [stderr] 111 | | ///       trait. Unfortunately I have no idea how to prevent this.
[INFO] [stderr] 112 | | ///       Fortunately such code can be found by (automated) code review.
[INFO] [stderr]     | |________________________________________________________________________^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(rustdoc::invalid_codeblock_attributes)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `valid` (lib doc) generated 2 warnings
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.66s
[INFO] [stderr]    Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/valid/index.html
[INFO] running `Command { std: "docker" "inspect" "c5c6df2661e8c5d1df9a729856400235d8f5e4341c5527295b05c98696e9cc84", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5c6df2661e8c5d1df9a729856400235d8f5e4341c5527295b05c98696e9cc84", kill_on_drop: false }`
[INFO] [stdout] c5c6df2661e8c5d1df9a729856400235d8f5e4341c5527295b05c98696e9cc84