safe-arithmetic 0.0.3

Traits for safe arithmetic operations in rust
Documentation

Build #3392062 2026-05-26 15:17:12

# rustc version rustc 1.98.0-nightly (31a9463c6 2026-05-25)

# docs.rs version docsrs 0.0.0 (f16e33f3e6ac9fc9e4413728c5dd1b2ba1c6b799 2026-05-23 )

# build log [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "DOCS_RS=1" "-w" "/opt/rustwide/workdir" "--user" "1001:1001" "78d3ae3bb95180fe159e8a5d2d799bd3fa0c266f868df3a309f7862e3262e1f9" "/opt/rustwide/cargo-home/bin/cargo" "+nightly" "rustdoc" "--lib" "-Zrustdoc-map" "--all-features" "--config" "build.rustflags=[\"--cfg\", \"docsrs\"]" "-Zhost-config" "-Ztarget-applies-to-host" "--config" "host.rustflags=[\"--cfg\", \"docsrs\"]" "--config" "build.rustdocflags=[\"--cfg\", \"docsrs\", \"--cfg\", \"docsrs\", \"-Z\", \"unstable-options\", \"--emit=invocation-specific\", \"--resource-suffix\", \"-20260525-1.98.0-nightly-31a9463c6\", \"--static-root-path\", \"/-/rustdoc.static/\", \"--cap-lints\", \"warn\", \"--extern-html-root-takes-precedence\"]" "--offline" "-Zunstable-options" "--config=doc.extern-map.registries.crates-io=\"https://docs.rs/{pkg_name}/{version}/x86_64-unknown-linux-gnu\"" "-Zrustdoc-scrape-examples" "-j6" "--target" "x86_64-unknown-linux-gnu", kill_on_drop: false }` [INFO] [stderr] warning: target filter specified, but no targets matched; this is a no-op [INFO] [stderr] Documenting safe-arithmetic v0.0.3 (/opt/rustwide/workdir) [INFO] [stderr] warning: missing documentation for the crate [INFO] [stderr] --> src/lib.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | / #![warn(missing_docs)] [INFO] [stderr] 2 | | [INFO] [stderr] 3 | | pub mod cast; [INFO] [stderr] 4 | | pub mod clamp; [INFO] [stderr] ... | [INFO] [stderr] 17 | | impl<T> Type for T where T: num::Num + Debug + Display + Clone + PartialEq + Send + Sync + 'static {} [INFO] [stderr] | |_____________________________________________________________________________________________________^ [INFO] [stderr] | [INFO] [stderr] note: the lint level is defined here [INFO] [stderr] --> src/lib.rs:1:9 [INFO] [stderr] | [INFO] [stderr] 1 | #![warn(missing_docs)] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a module [INFO] [stderr] --> src/lib.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub mod cast; [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a module [INFO] [stderr] --> src/lib.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub mod clamp; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a module [INFO] [stderr] --> src/lib.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub mod error; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a module [INFO] [stderr] --> src/lib.rs:6:1 [INFO] [stderr] | [INFO] [stderr] 6 | pub mod ops; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a module [INFO] [stderr] --> src/lib.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub mod round; [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/lib.rs:15:1 [INFO] [stderr] | [INFO] [stderr] 15 | pub trait Type: Sized + Display + Debug + Clone + PartialEq + Send + Sync + 'static {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/cast.rs:3:1 [INFO] [stderr] | [INFO] [stderr] 3 | pub trait Cast [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/cast.rs:34:1 [INFO] [stderr] | [INFO] [stderr] 34 | pub struct CastError<Src, Target> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/cast.rs:35:5 [INFO] [stderr] | [INFO] [stderr] 35 | pub src: Src, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/cast.rs:36:5 [INFO] [stderr] | [INFO] [stderr] 36 | pub target: PhantomData<Target>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/cast.rs:37:5 [INFO] [stderr] | [INFO] [stderr] 37 | pub cause: Option<crate::error::Error>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/clamp.rs:2:1 [INFO] [stderr] | [INFO] [stderr] 2 | pub trait ClampMin { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/clamp.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | / fn clamp_min<MIN>(self, min: MIN) -> Self [INFO] [stderr] 5 | | where [INFO] [stderr] 6 | | Self: Sized, [INFO] [stderr] 7 | | MIN: Into<Self>; [INFO] [stderr] | |________________________^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/clamp.rs:10:1 [INFO] [stderr] | [INFO] [stderr] 10 | pub trait Clamp { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/clamp.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | / fn clamp<MIN, MAX>(self, min: MIN, max: MAX) -> Self [INFO] [stderr] 13 | | where [INFO] [stderr] 14 | | Self: Sized, [INFO] [stderr] 15 | | MIN: Into<Self>, [INFO] [stderr] 16 | | MAX: Into<Self>; [INFO] [stderr] | |________________________^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/error.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub trait AsErr { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/error.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | fn as_err(&self) -> &(dyn std::error::Error + 'static); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/error.rs:41:1 [INFO] [stderr] | [INFO] [stderr] 41 | / pub trait Arithmetic: [INFO] [stderr] 42 | | Sized + Clone + PartialEq + AsErr + std::error::Error + Send + Sync + 'static [INFO] [stderr] | |_________________________________________________________________________________^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/error.rs:46:1 [INFO] [stderr] | [INFO] [stderr] 46 | pub trait DynArithmetic: AsErr + std::error::Error + Send + Sync + 'static { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/error.rs:47:5 [INFO] [stderr] | [INFO] [stderr] 47 | fn as_any(&self) -> &dyn Any; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/error.rs:48:5 [INFO] [stderr] | [INFO] [stderr] 48 | fn eq(&self, other: &dyn DynArithmetic) -> bool; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/error.rs:49:5 [INFO] [stderr] | [INFO] [stderr] 49 | fn clone(&self) -> Box<dyn DynArithmetic + Send + Sync + 'static>; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/error.rs:94:1 [INFO] [stderr] | [INFO] [stderr] 94 | pub struct Error(pub Box<dyn DynArithmetic + Sync + Send + 'static>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an enum [INFO] [stderr] --> src/error.rs:126:1 [INFO] [stderr] | [INFO] [stderr] 126 | pub enum Kind { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/error.rs:127:5 [INFO] [stderr] | [INFO] [stderr] 127 | Overflow, [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/error.rs:128:5 [INFO] [stderr] | [INFO] [stderr] 128 | Underflow, [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a variant [INFO] [stderr] --> src/error.rs:129:5 [INFO] [stderr] | [INFO] [stderr] 129 | DivideByZero, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/error.rs:143:1 [INFO] [stderr] | [INFO] [stderr] 143 | pub struct Operation<Lhs, Rhs> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:144:5 [INFO] [stderr] | [INFO] [stderr] 144 | pub lhs: Lhs, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:145:5 [INFO] [stderr] | [INFO] [stderr] 145 | pub rhs: Rhs, [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:146:5 [INFO] [stderr] | [INFO] [stderr] 146 | pub kind: Option<Kind>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct field [INFO] [stderr] --> src/error.rs:147:5 [INFO] [stderr] | [INFO] [stderr] 147 | pub cause: Option<Error>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/error.rs:150:1 [INFO] [stderr] | [INFO] [stderr] 150 | pub trait DivideByZero<Rhs> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/error.rs:155:5 [INFO] [stderr] | [INFO] [stderr] 155 | fn divide_by_zero(self) -> Operation<Self, Rhs> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/error.rs:165:1 [INFO] [stderr] | [INFO] [stderr] 165 | pub trait Overflow<Lhs> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/error.rs:170:5 [INFO] [stderr] | [INFO] [stderr] 170 | fn overflows(self, lhs: Lhs) -> Operation<Lhs, Self> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/error.rs:180:1 [INFO] [stderr] | [INFO] [stderr] 180 | pub trait Underflow<Lhs> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a method [INFO] [stderr] --> src/error.rs:185:5 [INFO] [stderr] | [INFO] [stderr] 185 | fn underflows(self, lhs: Lhs) -> Operation<Lhs, Self> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/ops/checked_add.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub trait CheckedAdd<Rhs = Self> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_add.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | type Output; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_add.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | type Error; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ops/checked_add.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | pub struct AddError<Lhs, Rhs>(pub crate::error::Operation<Lhs, Rhs>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/ops/checked_div.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | pub trait CheckedDiv<Rhs = Self> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_div.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | type Output; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_div.rs:10:5 [INFO] [stderr] | [INFO] [stderr] 10 | type Error; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ops/checked_div.rs:99:1 [INFO] [stderr] | [INFO] [stderr] 99 | pub struct DivError<Lhs, Rhs>(pub crate::error::Operation<Lhs, Rhs>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/ops/checked_mul.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub trait CheckedMul<Rhs = Self> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_mul.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | type Output; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_mul.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | type Error; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ops/checked_mul.rs:86:1 [INFO] [stderr] | [INFO] [stderr] 86 | pub struct MulError<Lhs, Rhs>(pub crate::error::Operation<Lhs, Rhs>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/ops/checked_sub.rs:4:1 [INFO] [stderr] | [INFO] [stderr] 4 | pub trait CheckedSub<Rhs = Self> [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_sub.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | type Output; [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated type [INFO] [stderr] --> src/ops/checked_sub.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | type Error; [INFO] [stderr] | ^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/ops/checked_sub.rs:60:1 [INFO] [stderr] | [INFO] [stderr] 60 | pub struct SubError<Lhs, Rhs>(pub crate::error::Operation<Lhs, Rhs>); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a trait [INFO] [stderr] --> src/round.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | pub trait RoundingMode { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for an associated function [INFO] [stderr] --> src/round.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | / fn round<F>(value: F) -> F [INFO] [stderr] 3 | | where [INFO] [stderr] 4 | | F: num::Float; [INFO] [stderr] | |______________________^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/round.rs:7:1 [INFO] [stderr] | [INFO] [stderr] 7 | pub struct Ceil {} [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/round.rs:8:1 [INFO] [stderr] | [INFO] [stderr] 8 | pub struct Floor {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: missing documentation for a struct [INFO] [stderr] --> src/round.rs:9:1 [INFO] [stderr] | [INFO] [stderr] 9 | pub struct Round {} [INFO] [stderr] | ^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `safe-arithmetic` (lib doc) generated 60 warnings [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.51s [INFO] [stderr] Generated /opt/rustwide/target/x86_64-unknown-linux-gnu/doc/safe_arithmetic/index.html [INFO] running `Command { std: "docker" "inspect" "78d3ae3bb95180fe159e8a5d2d799bd3fa0c266f868df3a309f7862e3262e1f9", kill_on_drop: false }`