Rust 99 🦀 PhantomData (PhantomData) for Unused Type Parameters
Rust’s type system forbids unused generic parameters in struct definitions. A lifetime that appears in a struct’s header but nowhere in its fields is unbounded, and unbounded parameters cause the compiler to reject the definition outright. This restriction exists because unused parameters leave the compiler unable to reason about variance, drop safety, and auto-trait propagation….