pub trait TypeConstructible: Sized + From<UIntType> {
Show 18 methods
// Required methods
fn either(left: Self, right: Self) -> Self;
fn option(inner: Self) -> Self;
fn boolean() -> Self;
fn tuple<I: IntoIterator<Item = Self>>(elements: I) -> Self;
fn array(element: Self, size: usize) -> Self;
fn list(element: Self, bound: NonZeroPow2Usize) -> Self;
// Provided methods
fn unit() -> Self { ... }
fn product(left: Self, right: Self) -> Self { ... }
fn byte_array(size: usize) -> Self { ... }
fn u1() -> Self { ... }
fn u2() -> Self { ... }
fn u4() -> Self { ... }
fn u8() -> Self { ... }
fn u16() -> Self { ... }
fn u32() -> Self { ... }
fn u64() -> Self { ... }
fn u128() -> Self { ... }
fn u256() -> Self { ... }
}Expand description
Various type constructors.
Required Methods§
Sourcefn tuple<I: IntoIterator<Item = Self>>(elements: I) -> Self
fn tuple<I: IntoIterator<Item = Self>>(elements: I) -> Self
Create a tuple from the given elements.
The empty tuple is the unit type. A tuple of two types is a product.
Sourcefn array(element: Self, size: usize) -> Self
fn array(element: Self, size: usize) -> Self
Create an array with size many values of the element type.
Sourcefn list(element: Self, bound: NonZeroPow2Usize) -> Self
fn list(element: Self, bound: NonZeroPow2Usize) -> Self
Create a list with less than bound many values of the element type.
Provided Methods§
Sourcefn product(left: Self, right: Self) -> Self
fn product(left: Self, right: Self) -> Self
Create a product of the given left and right types.
Sourcefn byte_array(size: usize) -> Self
fn byte_array(size: usize) -> Self
Create an array of size many bytes.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".