[INFO] fetching crate proven 0.9.0...
[INFO] testing proven-0.9.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate proven 0.9.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate proven 0.9.0
[INFO] finished tweaking crates.io crate proven 0.9.0
[INFO] tweaked toml for crates.io crate proven 0.9.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate proven 0.9.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate proven 0.9.0 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded zmij v1.0.14
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 0f64696c2e1f73141874ef499427484ee6d49628027a087a8ea77726bcf0a9ba
[INFO] running `Command { std: "docker" "start" "-a" "0f64696c2e1f73141874ef499427484ee6d49628027a087a8ea77726bcf0a9ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "0f64696c2e1f73141874ef499427484ee6d49628027a087a8ea77726bcf0a9ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f64696c2e1f73141874ef499427484ee6d49628027a087a8ea77726bcf0a9ba", kill_on_drop: false }`
[INFO] [stdout] 0f64696c2e1f73141874ef499427484ee6d49628027a087a8ea77726bcf0a9ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5231f20e7a41e072d9ad99755cd85aec3321ad8935182fa3c6691c1984ed85cf
[INFO] running `Command { std: "docker" "start" "-a" "5231f20e7a41e072d9ad99755cd85aec3321ad8935182fa3c6691c1984ed85cf", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.105
[INFO] [stderr]    Compiling quote v1.0.43
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling proven v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Error` and `Result`
[INFO] [stdout]  --> src/safe_json.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::{Error, Result};
[INFO] [stdout]   |                   ^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::safe_float::SafeFloat`
[INFO] [stdout]   --> src/safe_tensor.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::safe_float::SafeFloat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/safe_network.rs:131:26
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn validate_port(port: u16) -> bool {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/safe_string.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn is_valid_utf8(s: &str) -> bool {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/core.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub type Port = Bounded<0, 65535>;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:47:9
[INFO] [stdout]     |
[INFO] [stdout]  47 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/core.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub type Byte = Bounded<0, 255>;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub const ONE_DAY: i64 = 86400;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub const ONE_WEEK: i64 = 604800;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     pub const THIRTY_DAYS: i64 = 2592000;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub const ONE_YEAR: i64 = 31536000;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn sha256(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:447:5
[INFO] [stdout]     |
[INFO] [stdout] 447 |     pub fn sha512(data: &[u8]) -> [u8; 64] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 452 |     pub fn hmac_sha256(key: &[u8], data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:40
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:45
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:50
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     BTC, ETH,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |     BTC, ETH,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Us = 1,   // USA, Canada
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Ru = 7,   // Russia
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Eg = 20,  // Egypt
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Za = 27,  // South Africa
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Fr = 33,  // France
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Es = 34,  // Spain
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     It = 39,  // Italy
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Uk = 44,  // UK
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     De = 49,  // Germany
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Mx = 52,  // Mexico
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Br = 55,  // Brazil
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Au = 61,  // Australia
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Jp = 81,  // Japan
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Kr = 82,  // South Korea
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Cn = 86,  // China
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     In = 91,  // India
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Unknown = 0,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     V1,  // Time-based
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     V2,  // DCE Security
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     V3,  // Name-based (MD5)
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     V4,  // Random
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     V5,  // Name-based (SHA-1)
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Nil, // Nil UUID
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Ncs,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Rfc4122,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Microsoft,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Future,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.50s
[INFO] running `Command { std: "docker" "inspect" "5231f20e7a41e072d9ad99755cd85aec3321ad8935182fa3c6691c1984ed85cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5231f20e7a41e072d9ad99755cd85aec3321ad8935182fa3c6691c1984ed85cf", kill_on_drop: false }`
[INFO] [stdout] 5231f20e7a41e072d9ad99755cd85aec3321ad8935182fa3c6691c1984ed85cf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] abd5b82e50d8ec733229d8ac35288dbebec9d14103d9e3c1717f82e3bea42938
[INFO] running `Command { std: "docker" "start" "-a" "abd5b82e50d8ec733229d8ac35288dbebec9d14103d9e3c1717f82e3bea42938", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling zmij v1.0.14
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling proven v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `Error` and `Result`
[INFO] [stdout]  --> src/safe_json.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::{Error, Result};
[INFO] [stdout]   |                   ^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::safe_float::SafeFloat`
[INFO] [stdout]   --> src/safe_tensor.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::safe_float::SafeFloat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/safe_network.rs:131:26
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn validate_port(port: u16) -> bool {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/safe_string.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn is_valid_utf8(s: &str) -> bool {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/core.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub type Port = Bounded<0, 65535>;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:47:9
[INFO] [stdout]     |
[INFO] [stdout]  47 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/core.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub type Byte = Bounded<0, 255>;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub const ONE_DAY: i64 = 86400;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub const ONE_WEEK: i64 = 604800;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     pub const THIRTY_DAYS: i64 = 2592000;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub const ONE_YEAR: i64 = 31536000;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn sha256(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:447:5
[INFO] [stdout]     |
[INFO] [stdout] 447 |     pub fn sha512(data: &[u8]) -> [u8; 64] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 452 |     pub fn hmac_sha256(key: &[u8], data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:40
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:45
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:50
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     BTC, ETH,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |     BTC, ETH,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Us = 1,   // USA, Canada
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Ru = 7,   // Russia
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Eg = 20,  // Egypt
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Za = 27,  // South Africa
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Fr = 33,  // France
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Es = 34,  // Spain
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     It = 39,  // Italy
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Uk = 44,  // UK
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     De = 49,  // Germany
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Mx = 52,  // Mexico
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Br = 55,  // Brazil
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Au = 61,  // Australia
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Jp = 81,  // Japan
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Kr = 82,  // South Korea
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Cn = 86,  // China
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     In = 91,  // India
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Unknown = 0,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     V1,  // Time-based
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     V2,  // DCE Security
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     V3,  // Name-based (MD5)
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     V4,  // Random
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     V5,  // Name-based (SHA-1)
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Nil, // Nil UUID
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Ncs,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Rfc4122,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Microsoft,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Future,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.9.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stdout] warning: unused imports: `Error` and `Result`
[INFO] [stdout]  --> src/safe_json.rs:5:19
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::core::{Error, Result};
[INFO] [stdout]   |                   ^^^^^  ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::safe_float::SafeFloat`
[INFO] [stdout]   --> src/safe_tensor.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | use crate::safe_float::SafeFloat;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `port`
[INFO] [stdout]    --> src/safe_network.rs:131:26
[INFO] [stdout]     |
[INFO] [stdout] 131 |     pub fn validate_port(port: u16) -> bool {
[INFO] [stdout]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `s`
[INFO] [stdout]    --> src/safe_string.rs:120:26
[INFO] [stdout]     |
[INFO] [stdout] 120 |     pub fn is_valid_utf8(s: &str) -> bool {
[INFO] [stdout]     |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/core.rs:162:1
[INFO] [stdout]     |
[INFO] [stdout] 162 | pub type Port = Bounded<0, 65535>;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]    --> src/lib.rs:47:9
[INFO] [stdout]     |
[INFO] [stdout]  47 | #![warn(missing_docs)]
[INFO] [stdout]     |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a type alias
[INFO] [stdout]    --> src/core.rs:163:1
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub type Byte = Bounded<0, 255>;
[INFO] [stdout]     | ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:256:5
[INFO] [stdout]     |
[INFO] [stdout] 256 |     pub const ONE_DAY: i64 = 86400;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     pub const ONE_WEEK: i64 = 604800;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     pub const THIRTY_DAYS: i64 = 2592000;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated constant
[INFO] [stdout]    --> src/safe_cookie.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     pub const ONE_YEAR: i64 = 31536000;
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:442:5
[INFO] [stdout]     |
[INFO] [stdout] 442 |     pub fn sha256(data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:447:5
[INFO] [stdout]     |
[INFO] [stdout] 447 |     pub fn sha512(data: &[u8]) -> [u8; 64] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/safe_crypto.rs:452:5
[INFO] [stdout]     |
[INFO] [stdout] 452 |     pub fn hmac_sha256(key: &[u8], data: &[u8]) -> [u8; 32] {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:20
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:30
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:35
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:40
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:45
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:12:50
[INFO] [stdout]    |
[INFO] [stdout] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:10
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:15
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:20
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:25
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:30
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:35
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:40
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:45
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:13:50
[INFO] [stdout]    |
[INFO] [stdout] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:10
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:15
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:25
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:30
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:35
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:40
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:45
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:14:50
[INFO] [stdout]    |
[INFO] [stdout] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:10
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:15
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:20
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:25
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:30
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:35
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:40
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                        ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:45
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:15:50
[INFO] [stdout]    |
[INFO] [stdout] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stdout]    |                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     BTC, ETH,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_currency.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 |     BTC, ETH,
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Us = 1,   // USA, Canada
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Ru = 7,   // Russia
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Eg = 20,  // Egypt
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Za = 27,  // South Africa
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Fr = 33,  // France
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Es = 34,  // Spain
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     It = 39,  // Italy
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Uk = 44,  // UK
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     De = 49,  // Germany
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Mx = 52,  // Mexico
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     Br = 55,  // Brazil
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Au = 61,  // Australia
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Jp = 81,  // Japan
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Kr = 82,  // South Korea
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Cn = 86,  // China
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:26:5
[INFO] [stdout]    |
[INFO] [stdout] 26 |     In = 91,  // India
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_phone.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     Unknown = 0,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     V1,  // Time-based
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     V2,  // DCE Security
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     V3,  // Name-based (MD5)
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     V4,  // Random
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     V5,  // Name-based (SHA-1)
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Nil, // Nil UUID
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Ncs,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     Rfc4122,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     Microsoft,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/safe_uuid.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Future,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 26.97s
[INFO] running `Command { std: "docker" "inspect" "abd5b82e50d8ec733229d8ac35288dbebec9d14103d9e3c1717f82e3bea42938", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "abd5b82e50d8ec733229d8ac35288dbebec9d14103d9e3c1717f82e3bea42938", kill_on_drop: false }`
[INFO] [stdout] abd5b82e50d8ec733229d8ac35288dbebec9d14103d9e3c1717f82e3bea42938
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 4e106c265f9f126588ab03c8a1116990e58ba2b2e5a370bef21a675204058c40
[INFO] running `Command { std: "docker" "start" "-a" "4e106c265f9f126588ab03c8a1116990e58ba2b2e5a370bef21a675204058c40", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `Error` and `Result`
[INFO] [stderr]  --> src/safe_json.rs:5:19
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::core::{Error, Result};
[INFO] [stderr]   |                   ^^^^^  ^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::safe_float::SafeFloat`
[INFO] [stderr]   --> src/safe_tensor.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 | use crate::safe_float::SafeFloat;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `port`
[INFO] [stderr]    --> src/safe_network.rs:131:26
[INFO] [stderr]     |
[INFO] [stderr] 131 |     pub fn validate_port(port: u16) -> bool {
[INFO] [stderr]     |                          ^^^^ help: if this is intentional, prefix it with an underscore: `_port`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `s`
[INFO] [stderr]    --> src/safe_string.rs:120:26
[INFO] [stderr]     |
[INFO] [stderr] 120 |     pub fn is_valid_utf8(s: &str) -> bool {
[INFO] [stderr]     |                          ^ help: if this is intentional, prefix it with an underscore: `_s`
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a type alias
[INFO] [stderr]    --> src/core.rs:162:1
[INFO] [stderr]     |
[INFO] [stderr] 162 | pub type Port = Bounded<0, 65535>;
[INFO] [stderr]     | ^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]    --> src/lib.rs:47:9
[INFO] [stderr]     |
[INFO] [stderr]  47 | #![warn(missing_docs)]
[INFO] [stderr]     |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a type alias
[INFO] [stderr]    --> src/core.rs:163:1
[INFO] [stderr]     |
[INFO] [stderr] 163 | pub type Byte = Bounded<0, 255>;
[INFO] [stderr]     | ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated constant
[INFO] [stderr]    --> src/safe_cookie.rs:256:5
[INFO] [stderr]     |
[INFO] [stderr] 256 |     pub const ONE_DAY: i64 = 86400;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated constant
[INFO] [stderr]    --> src/safe_cookie.rs:257:5
[INFO] [stderr]     |
[INFO] [stderr] 257 |     pub const ONE_WEEK: i64 = 604800;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated constant
[INFO] [stderr]    --> src/safe_cookie.rs:258:5
[INFO] [stderr]     |
[INFO] [stderr] 258 |     pub const THIRTY_DAYS: i64 = 2592000;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated constant
[INFO] [stderr]    --> src/safe_cookie.rs:259:5
[INFO] [stderr]     |
[INFO] [stderr] 259 |     pub const ONE_YEAR: i64 = 31536000;
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/safe_crypto.rs:442:5
[INFO] [stderr]     |
[INFO] [stderr] 442 |     pub fn sha256(data: &[u8]) -> [u8; 32] {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/safe_crypto.rs:447:5
[INFO] [stderr]     |
[INFO] [stderr] 447 |     pub fn sha512(data: &[u8]) -> [u8; 64] {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/safe_crypto.rs:452:5
[INFO] [stderr]     |
[INFO] [stderr] 452 |     pub fn hmac_sha256(key: &[u8], data: &[u8]) -> [u8; 32] {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:10
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:15
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:20
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:25
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:30
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:35
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:40
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:45
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:12:50
[INFO] [stderr]    |
[INFO] [stderr] 12 |     USD, EUR, GBP, JPY, CHF, CAD, AUD, NZD, CNY, INR,
[INFO] [stderr]    |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:10
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:15
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:20
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:25
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:30
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:35
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:40
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:45
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:13:50
[INFO] [stderr]    |
[INFO] [stderr] 13 |     BRL, MXN, KRW, SGD, HKD, SEK, NOK, DKK, PLN, RUB,
[INFO] [stderr]    |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:15
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:20
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:25
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:30
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:35
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:40
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:45
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:14:50
[INFO] [stderr]    |
[INFO] [stderr] 14 |     ZAR, TRY, THB, MYR, IDR, PHP, VND, AED, SAR, ILS,
[INFO] [stderr]    |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:10
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:15
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:20
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:25
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |                         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:30
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:35
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |                                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:40
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |                                        ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:45
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |                                             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:15:50
[INFO] [stderr]    |
[INFO] [stderr] 15 |     CZK, HUF, RON, BGN, HRK, ISK, CLP, COP, PEN, ARS,
[INFO] [stderr]    |                                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     BTC, ETH,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_currency.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 |     BTC, ETH,
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Us = 1,   // USA, Canada
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Ru = 7,   // Russia
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Eg = 20,  // Egypt
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Za = 27,  // South Africa
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     Fr = 33,  // France
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Es = 34,  // Spain
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     It = 39,  // Italy
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Uk = 44,  // UK
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     De = 49,  // Germany
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     Mx = 52,  // Mexico
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     Br = 55,  // Brazil
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     Au = 61,  // Australia
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     Jp = 81,  // Japan
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     Kr = 82,  // South Korea
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     Cn = 86,  // China
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:26:5
[INFO] [stderr]    |
[INFO] [stderr] 26 |     In = 91,  // India
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_phone.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     Unknown = 0,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     V1,  // Time-based
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     V2,  // DCE Security
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     V3,  // Name-based (MD5)
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     V4,  // Random
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     V5,  // Name-based (SHA-1)
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Nil, // Nil UUID
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     Ncs,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     Rfc4122,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     Microsoft,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/safe_uuid.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     Future,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `proven` (lib) generated 82 warnings (run `cargo fix --lib -p proven` to apply 4 suggestions)
[INFO] [stderr] warning: `proven` (lib test) generated 82 warnings (82 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/proven-0986ad2fba6cf03b)
[INFO] [stdout] 
[INFO] [stdout] running 122 tests
[INFO] [stdout] test safe_content_type::tests::test_is_json ... ok
[INFO] [stdout] test safe_content_type::tests::test_can_sniff_dangerous ... ok
[INFO] [stdout] test safe_content_type::tests::test_parse_simple ... ok
[INFO] [stdout] test safe_content_type::tests::test_parse_with_suffix ... ok
[INFO] [stdout] test safe_content_type::tests::test_render ... ok
[INFO] [stdout] test safe_cookie::tests::test_build_set_cookie ... ok
[INFO] [stdout] test safe_cookie::tests::test_get_prefix ... ok
[INFO] [stdout] test safe_cookie::tests::test_has_injection ... ok
[INFO] [stdout] test core::tests::test_non_empty ... ok
[INFO] [stdout] test safe_cookie::tests::test_host_prefix_requirements ... ok
[INFO] [stdout] test safe_cookie::tests::test_make_cookie ... ok
[INFO] [stdout] test safe_crypto::tests::test_constant_time_compare ... ok
[INFO] [stdout] test safe_crypto::tests::test_from_hex_invalid ... ok
[INFO] [stdout] test safe_crypto::tests::test_hex_roundtrip ... ok
[INFO] [stdout] test safe_currency::tests::test_currency_mismatch ... ok
[INFO] [stdout] test safe_currency::tests::test_format ... ok
[INFO] [stdout] test safe_currency::tests::test_money_basic ... ok
[INFO] [stdout] test safe_datetime::tests::test_invalid_date ... ok
[INFO] [stdout] test safe_datetime::tests::test_leap_year ... ok
[INFO] [stdout] test safe_datetime::tests::test_parse_date ... ok
[INFO] [stdout] test safe_email::tests::test_invalid_emails ... ok
[INFO] [stdout] test safe_email::tests::test_valid_emails ... ok
[INFO] [stdout] test safe_content_type::tests::test_parse_with_charset ... ok
[INFO] [stdout] test safe_float::tests::test_clamp_nan ... ok
[INFO] [stdout] test safe_float::tests::test_clamp_normal ... ok
[INFO] [stdout] test safe_float::tests::test_div_by_zero ... ok
[INFO] [stdout] test safe_cookie::tests::test_reject_injection ... ok
[INFO] [stdout] test safe_float::tests::test_div_normal ... ok
[INFO] [stdout] test safe_float::tests::test_exp_normal ... ok
[INFO] [stdout] test safe_float::tests::test_exp_overflow ... ok
[INFO] [stdout] test safe_float::tests::test_ln_non_positive ... ok
[INFO] [stdout] test safe_float::tests::test_ln_positive ... ok
[INFO] [stdout] test safe_float::tests::test_mean ... ok
[INFO] [stdout] test safe_float::tests::test_mean_empty ... ok
[INFO] [stdout] test safe_float::tests::test_normalize ... ok
[INFO] [stdout] test safe_float::tests::test_normalize_zero_vector ... ok
[INFO] [stdout] test safe_float::tests::test_sqrt_positive ... ok
[INFO] [stdout] test safe_float::tests::test_std_dev ... ok
[INFO] [stdout] test safe_float::tests::test_variance ... ok
[INFO] [stdout] test safe_header::tests::test_build_hsts ... ok
[INFO] [stdout] test safe_header::tests::test_has_crlf ... ok
[INFO] [stdout] test safe_header::tests::test_is_dangerous ... ok
[INFO] [stdout] test safe_header::tests::test_make_header ... ok
[INFO] [stdout] test safe_header::tests::test_reject_crlf ... ok
[INFO] [stdout] test safe_hex::tests::test_constant_time_eq ... ok
[INFO] [stdout] test safe_hex::tests::test_decode ... ok
[INFO] [stdout] test safe_header::tests::test_is_valid_name ... ok
[INFO] [stdout] test safe_hex::tests::test_encode ... ok
[INFO] [stdout] test core::tests::test_bounded ... ok
[INFO] [stdout] test safe_float::tests::test_sqrt_negative ... ok
[INFO] [stdout] test safe_hex::tests::test_format_spaced ... ok
[INFO] [stdout] test safe_hex::tests::test_int_to_hex ... ok
[INFO] [stdout] test safe_hex::tests::test_validation ... ok
[INFO] [stdout] test safe_json::tests::test_is_valid ... ok
[INFO] [stdout] test safe_math::tests::test_abs_overflow ... ok
[INFO] [stdout] test safe_math::tests::test_add_normal ... ok
[INFO] [stdout] test safe_math::tests::test_add_overflow ... ok
[INFO] [stdout] test safe_math::tests::test_div_overflow ... ok
[INFO] [stdout] test safe_math::tests::test_div_zero ... ok
[INFO] [stdout] test safe_math::tests::test_mul_overflow ... ok
[INFO] [stdout] test safe_math::tests::test_negate_overflow ... ok
[INFO] [stdout] test safe_math::tests::test_pow ... ok
[INFO] [stdout] test safe_math::tests::test_sub_normal ... ok
[INFO] [stdout] test safe_math::tests::test_sub_underflow ... ok
[INFO] [stdout] test safe_ml::tests::test_accuracy ... ok
[INFO] [stdout] test safe_ml::tests::test_cross_entropy ... ok
[INFO] [stdout] test safe_ml::tests::test_cross_entropy_near_zero ... ok
[INFO] [stdout] test safe_ml::tests::test_gradient_clipping ... ok
[INFO] [stdout] test safe_ml::tests::test_gradient_clipping_by_norm ... ok
[INFO] [stdout] test safe_ml::tests::test_mse ... ok
[INFO] [stdout] test safe_ml::tests::test_relu ... ok
[INFO] [stdout] test safe_ml::tests::test_argmax ... ok
[INFO] [stdout] test safe_ml::tests::test_batch_norm ... ok
[INFO] [stdout] test safe_ml::tests::test_softmax_basic ... ok
[INFO] [stdout] test safe_ml::tests::test_softmax_empty ... ok
[INFO] [stdout] test safe_network::tests::test_cidr ... ok
[INFO] [stdout] test safe_network::tests::test_classify_ipv4 ... ok
[INFO] [stdout] test safe_network::tests::test_parse_ipv4 ... ok
[INFO] [stdout] test safe_password::tests::test_strength ... ok
[INFO] [stdout] test safe_password::tests::test_validate ... ok
[INFO] [stdout] test safe_path::tests::test_has_traversal ... ok
[INFO] [stdout] test safe_path::tests::test_join ... ok
[INFO] [stdout] test safe_path::tests::test_normalize ... ok
[INFO] [stdout] test safe_phone::tests::test_format_e164 ... ok
[INFO] [stdout] test safe_phone::tests::test_invalid ... ok
[INFO] [stdout] test safe_phone::tests::test_parse_valid ... ok
[INFO] [stdout] test safe_string::tests::test_detect_injection ... ok
[INFO] [stdout] test safe_string::tests::test_html_escape ... ok
[INFO] [stdout] test safe_string::tests::test_shell_escape ... ok
[INFO] [stdout] test safe_ml::tests::test_sigmoid ... ok
[INFO] [stdout] test safe_string::tests::test_sql_escape ... ok
[INFO] [stdout] test safe_string::tests::test_url_encode ... ok
[INFO] [stdout] test safe_ml::tests::test_softmax_single ... ok
[INFO] [stdout] test safe_ml::tests::test_softmax_underflow ... ok
[INFO] [stdout] test safe_ml::tests::test_softmax_large_values ... ok
[INFO] [stdout] test safe_tensor::tests::test_add ... ok
[INFO] [stdout] test safe_string::tests::test_truncate_utf8 ... ok
[INFO] [stdout] test safe_string::tests::test_url_decode ... ok
[INFO] [stdout] test safe_tensor::tests::test_get_bounds ... ok
[INFO] [stdout] test safe_tensor::tests::test_dot_product ... ok
[INFO] [stdout] test safe_tensor::tests::test_add_mismatch ... ok
[INFO] [stdout] test safe_tensor::tests::test_argmax ... ok
[INFO] [stdout] test safe_tensor::tests::test_mat_vec ... ok
[INFO] [stdout] test safe_tensor::tests::test_argmax_empty ... ok
[INFO] [stdout] test safe_tensor::tests::test_dot_product_mismatch ... ok
[INFO] [stdout] test safe_tensor::tests::test_mat_vec_mismatch ... ok
[INFO] [stdout] test safe_tensor::tests::test_outer_product ... ok
[INFO] [stdout] test safe_tensor::tests::test_shape ... ok
[INFO] [stdout] test safe_url::tests::test_parse_with_query ... ok
[INFO] [stdout] test safe_uuid::tests::test_format ... ok
[INFO] [stdout] test safe_uuid::tests::test_invalid ... ok
[INFO] [stdout] test safe_uuid::tests::test_nil_uuid ... ok
[INFO] [stdout] test safe_tensor::tests::test_transpose ... ok
[INFO] [stdout] test safe_tensor::tests::test_transpose_jagged ... ok
[INFO] [stdout] test safe_url::tests::test_parse_simple ... ok
[INFO] [stdout] test safe_url::tests::test_parse_with_port ... ok
[INFO] [stdout] test tests::test_html_escape ... ok
[INFO] [stdout] test safe_uuid::tests::test_parse_valid ... ok
[INFO] [stdout] test tests::test_safe_add_normal ... ok
[INFO] [stdout] test tests::test_safe_add_overflow ... ok
[INFO] [stdout] test tests::test_safe_div_by_zero ... ok
[INFO] [stdout] test tests::test_sql_escape ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 122 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests proven
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test src/safe_tensor.rs - safe_tensor::SafeTensor::mat_vec (line 141) ... ok
[INFO] [stdout] test src/safe_float.rs - safe_float::SafeFloat::normalize (line 172) ... ok
[INFO] [stdout] test src/safe_ml.rs - safe_ml::SafeML::cross_entropy (line 129) ... ok
[INFO] [stdout] test src/safe_float.rs - safe_float::SafeFloat::div (line 46) ... ok
[INFO] [stdout] test src/safe_tensor.rs - safe_tensor::SafeTensor::dot (line 45) ... ok
[INFO] [stdout] test src/safe_string.rs - safe_string::SafeString::escape_html (line 14) ... ok
[INFO] [stdout] test src/safe_string.rs - safe_string::SafeString::escape_sql (line 38) ... ok
[INFO] [stdout] test src/safe_math.rs - safe_math::SafeMath::div (line 40) ... ok
[INFO] [stdout] test src/safe_math.rs - safe_math::SafeMath::add (line 14) ... ok
[INFO] [stdout] test src/safe_ml.rs - safe_ml::SafeML::softmax (line 48) ... ok
[INFO] [stdout] test src/safe_float.rs - safe_float (line 17) ... ok
[INFO] [stdout] test src/lib.rs - (line 34) ... ok
[INFO] [stdout] test src/safe_float.rs - safe_float::SafeFloat::ln (line 80) ... ok
[INFO] [stdout] test src/safe_tensor.rs - safe_tensor (line 20) ... ok
[INFO] [stdout] test src/safe_ml.rs - safe_ml (line 19) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "4e106c265f9f126588ab03c8a1116990e58ba2b2e5a370bef21a675204058c40", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e106c265f9f126588ab03c8a1116990e58ba2b2e5a370bef21a675204058c40", kill_on_drop: false }`
[INFO] [stdout] 4e106c265f9f126588ab03c8a1116990e58ba2b2e5a370bef21a675204058c40
