PHP TypeLang Help

@template-invariant

@template-invariant is a recognized alias for @template — not a distinct tag. A plain @template is already invariant by default; this spelling exists only for declarations that want to say so explicitly, mirroring how @template-covariant and @template-contravariant name their own variance.

"@template-invariant" <Name> [ "of" <Type> ] [ "=" <Type> ] [ <Description> ]

Both spellings above parse to the exact same TemplateTag instance. See @template for the full grammar, the $parameter/$bound/$default shape it exposes, and how the "of" and "=" clauses work.

05 July 2026