This crate provides traits for restricting the size of type parameters.
```rust
use size_trait::ZeroSize;
// This struct can only contain T
when T
has a size of 0.
struct Zst
let _ = Zst([0u8; 0]); let _ = Zst(()); ```
```rust
use size_trait::Size;
// This struct can only contain T
when T
has a size of 4 bytes.
struct Fixed4Bytes
let _ = Fixed4Bytes([0u8; 4]); let _ = Fixed4Bytes(0u32); ```
This crate relies on the unstable feature generic_const_exprs
. This feature is only available on nightly Rust. It is also not guaranteed to be stable in the future. Tracking issue #76560.
In order for this crate to work properly, you must enable the generic_const_exprs
feature in your crate:
```rust
```