pub enum TypeHintKind<'arena, 'src> {
Named(Name<'arena, 'src>),
Keyword(BuiltinType, Span),
Nullable(&'arena TypeHint<'arena, 'src>),
Union(ArenaVec<'arena, TypeHint<'arena, 'src>>),
Intersection(ArenaVec<'arena, TypeHint<'arena, 'src>>),
}Expand description
A PHP type hint.
Keyword is the fast path for the 20 built-in type names (int, string,
bool, self, array, etc.). It stores only a 1-byte discriminant and a
Span, avoiding the Cow<str> that Named(Name::Simple) would require.
Serialises identically to Named so all existing snapshots remain unchanged.
Variants§
Named(Name<'arena, 'src>)
Keyword(BuiltinType, Span)
Built-in type keyword — serialises as Named for snapshot compatibility.
Nullable(&'arena TypeHint<'arena, 'src>)
Union(ArenaVec<'arena, TypeHint<'arena, 'src>>)
Intersection(ArenaVec<'arena, TypeHint<'arena, 'src>>)
Trait Implementations§
Source§impl<'arena, 'src> Debug for TypeHintKind<'arena, 'src>
impl<'arena, 'src> Debug for TypeHintKind<'arena, 'src>
Auto Trait Implementations§
impl<'arena, 'src> Freeze for TypeHintKind<'arena, 'src>
impl<'arena, 'src> !RefUnwindSafe for TypeHintKind<'arena, 'src>
impl<'arena, 'src> !Send for TypeHintKind<'arena, 'src>
impl<'arena, 'src> !Sync for TypeHintKind<'arena, 'src>
impl<'arena, 'src> Unpin for TypeHintKind<'arena, 'src>
impl<'arena, 'src> UnsafeUnpin for TypeHintKind<'arena, 'src>
impl<'arena, 'src> !UnwindSafe for TypeHintKind<'arena, 'src>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more