nnn/lib.rs
1#![doc = include_str!("../README.md")]
2#![no_std]
3
4#[cfg(feature = "macros")]
5pub use nnn_macros::nnn;
6
7pub trait NNNewType: Sized {
8 type Inner;
9 type Error;
10
11 fn try_new(value: Self::Inner) -> Result<Self, Self::Error>;
12 fn into_inner(self) -> Self::Inner;
13 fn sanitize(value: Self::Inner) -> Self::Inner {
14 value
15 }
16}