1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
//! Type-level representation of unsigned natural numbers.
use PhantomData;
/// A type-level representation of unsigned natural numbers.
///
/// This trait is implemented for types that represent natural numbers at the type level, enabling
/// compile-time arithmetic and recursion depth tracking.
///
/// Use [`Zero`] and [`Succ`] to construct type-level numbers.
/// Type-level zero.
///
/// Represents the natural number 0 in the type system.
;
/// Type-level successor.
///
/// Represents the natural number `N + 1` where `N` is another [`Unsigned`].
///
/// ## Examples
///
/// - [`Zero`] = 0
/// - [`Succ<Zero>`] = 1
/// - [`Succ<Succ<Zero>>`] = 2
;