Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

PhantomData

A zero-size field that tells the compiler a type uses a type parameter it doesn't store.

PhantomData is zero-sized and makes the containing type act as if it owns or references T, for variance, drop checking, and auto traits.

Examples

  • struct Id<T> { raw: u64 } fails with E0392 (T is never used); adding _for: PhantomData<T> fixes it and adds 0 bytes.

Read the full section →