Why do people do this in PhantomData?

87 points Relative-Pace-2923

What I would assume is right:
‘PhantomData<T>’

What they do (most common):
‘PhantomData<fn() -> T> ‘

Or (less common):
‘PhantomData<fn(T)>’

First two apply to multiple generics, but the third option doesn’t have to be a tuple since it’s a function