pub enum SymbolResolutionTraversalKind {
Show 15 variants
Application {
app_id: TypeApplicationId,
base: TypeId,
args: Vec<TypeId>,
},
Lazy(DefId),
TypeParameter {
constraint: Option<TypeId>,
default: Option<TypeId>,
},
Members(Vec<TypeId>),
Function(FunctionShapeId),
Callable(CallableShapeId),
Object(ObjectShapeId),
Array(TypeId),
Tuple(TupleListId),
Conditional(ConditionalTypeId),
Mapped(MappedTypeId),
Readonly(TypeId),
IndexAccess {
object: TypeId,
index: TypeId,
},
KeyOf(TypeId),
Terminal,
}Expand description
Classification for traversing types to resolve symbols.
Used by ensure_application_symbols_resolved_inner.
Variants§
Application
Application type - resolve base symbol and recurse
Lazy(DefId)
Lazy(DefId) type - resolve via DefId
TypeParameter
Type parameter - recurse into constraint/default
Members(Vec<TypeId>)
Union or Intersection - recurse into members
Function(FunctionShapeId)
Function type - recurse into signature components
Callable(CallableShapeId)
Callable type - recurse into signatures
Object(ObjectShapeId)
Object type - recurse into properties and index signatures
Array(TypeId)
Array type - recurse into element
Tuple(TupleListId)
Tuple type - recurse into elements
Conditional(ConditionalTypeId)
Conditional type - recurse into all branches
Mapped(MappedTypeId)
Mapped type - recurse into constraint, template, name_type
Readonly(TypeId)
Readonly wrapper - recurse into inner
IndexAccess
Index access - recurse into both types
KeyOf(TypeId)
KeyOf - recurse into inner
Terminal
Terminal type - no further traversal needed
Trait Implementations§
Source§impl Clone for SymbolResolutionTraversalKind
impl Clone for SymbolResolutionTraversalKind
Source§fn clone(&self) -> SymbolResolutionTraversalKind
fn clone(&self) -> SymbolResolutionTraversalKind
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for SymbolResolutionTraversalKind
impl RefUnwindSafe for SymbolResolutionTraversalKind
impl Send for SymbolResolutionTraversalKind
impl Sync for SymbolResolutionTraversalKind
impl Unpin for SymbolResolutionTraversalKind
impl UnsafeUnpin for SymbolResolutionTraversalKind
impl UnwindSafe for SymbolResolutionTraversalKind
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