Open
Description
Currently Option<!>
is 0-sized, but Option<(T, !)>
isn't, despite the fact that the Some
variant of the latter is unconstructable. If this were fixed then you could implement PhantomData
in userland as:
type PhantomData<T> = Option<(T, !)>;
instead of it being special-cased in the compiler.