size-trait

This crate provides traits for restricting the size of type parameters.

Example

Zero-sized types

```rust

![feature(genericconstexprs)]

use size_trait::ZeroSize;

// This struct can only contain T when T has a size of 0. struct Zst>(T);

let _ = Zst([0u8; 0]); let _ = Zst(()); ```

Fixed-sized types

```rust

![feature(genericconstexprs)]

use size_trait::Size;

// This struct can only contain T when T has a size of 4 bytes. struct Fixed4Bytes>(T);

let _ = Fixed4Bytes([0u8; 4]); let _ = Fixed4Bytes(0u32); ```

Warning

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

![feature(genericconstexprs)]

```

Author