pub struct InstanceCollector2 {
pub base: TypeOnceVisitor,
pub tys: VecDeque<TypeId>,
pub tps: VecDeque<TypePackId>,
pub cyclic_instance: DenseHashSet<TypeId>,
pub instance_arguments: DenseHashSet<TypeId>,
}Fields§
§base: TypeOnceVisitor§tys: VecDeque<TypeId>§tps: VecDeque<TypePackId>§cyclic_instance: DenseHashSet<TypeId>§instance_arguments: DenseHashSet<TypeId>Implementations§
Source§impl InstanceCollector2
impl InstanceCollector2
pub fn instance_collector_2(&mut self)
Source§impl InstanceCollector2
impl InstanceCollector2
pub fn visit_type_id_type_function_instance_type( &mut self, ty: TypeId, it: &TypeFunctionInstanceType, ) -> bool
Source§impl InstanceCollector2
impl InstanceCollector2
pub fn visit_type_id_extern_type( &mut self, ty: TypeId, _extern: &ExternType, ) -> bool
Source§impl InstanceCollector2
impl InstanceCollector2
pub fn visit_type_pack_id_type_function_instance_type_pack( &mut self, tp: TypePackId, _it: &TypeFunctionInstanceTypePack, ) -> bool
Source§impl InstanceCollector2
impl InstanceCollector2
pub fn new() -> Self
pub fn visit_type_function_instance_type( &mut self, ty: TypeId, it: &TypeFunctionInstanceType, ) -> bool
pub fn visit_extern_type(&mut self, _ty: TypeId, _et: &ExternType) -> bool
pub fn visit_type_function_instance_type_pack( &mut self, tp: TypePackId, _itp: &TypeFunctionInstanceTypePack, ) -> bool
Trait Implementations§
Source§impl Clone for InstanceCollector2
impl Clone for InstanceCollector2
Source§fn clone(&self) -> InstanceCollector2
fn clone(&self) -> InstanceCollector2
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for InstanceCollector2
impl Debug for InstanceCollector2
Source§impl GenericTypeVisitorTrait for InstanceCollector2
impl GenericTypeVisitorTrait for InstanceCollector2
type Seen = DenseHashSet<*mut c_void>
fn visitor_base(&mut self) -> &mut GenericTypeVisitor<Self::Seen>
fn cycle_type_id(&mut self, ty: TypeId)
fn visit_type_id_type_function_instance_type( &mut self, ty: TypeId, it: &TypeFunctionInstanceType, ) -> bool
fn visit_type_id_extern_type(&mut self, ty: TypeId, et: &ExternType) -> bool
fn visit_type_pack_id_type_function_instance_type_pack( &mut self, tp: TypePackId, itp: &TypeFunctionInstanceTypePack, ) -> bool
fn cycle_type_pack_id(&mut self, _tp: TypePackId)
fn visit_type_id(&mut self, _ty: TypeId) -> bool
fn visit_type_id_bound_type(&mut self, ty: TypeId, _btv: &BoundType) -> bool
fn visit_type_id_free_type(&mut self, ty: TypeId, _ftv: &FreeType) -> bool
fn visit_type_id_generic_type(&mut self, ty: TypeId, _gtv: &GenericType) -> bool
fn visit_type_id_error_type(&mut self, ty: TypeId, _etv: &ErrorType) -> bool
fn visit_type_id_primitive_type( &mut self, ty: TypeId, _ptv: &PrimitiveType, ) -> bool
fn visit_type_id_function_type( &mut self, ty: TypeId, _ftv: &FunctionType, ) -> bool
fn visit_type_id_table_type(&mut self, ty: TypeId, _ttv: &TableType) -> bool
fn visit_type_id_metatable_type( &mut self, ty: TypeId, _mtv: &MetatableType, ) -> bool
fn visit_type_id_any_type(&mut self, ty: TypeId, _atv: &AnyType) -> bool
fn visit_type_id_no_refine_type( &mut self, ty: TypeId, _nrt: &NoRefineType, ) -> bool
fn visit_type_id_unknown_type(&mut self, ty: TypeId, _utv: &UnknownType) -> bool
fn visit_type_id_never_type(&mut self, ty: TypeId, _ntv: &NeverType) -> bool
fn visit_type_id_union_type(&mut self, ty: TypeId, _utv: &UnionType) -> bool
fn visit_type_id_intersection_type( &mut self, ty: TypeId, _itv: &IntersectionType, ) -> bool
fn visit_type_id_blocked_type(&mut self, ty: TypeId, _btv: &BlockedType) -> bool
fn visit_type_id_pending_expansion_type( &mut self, ty: TypeId, _petv: &PendingExpansionType, ) -> bool
fn visit_type_id_singleton_type( &mut self, ty: TypeId, _stv: &SingletonType, ) -> bool
fn visit_type_id_negation_type( &mut self, ty: TypeId, _ntv: &NegationType, ) -> bool
fn visit_type_pack_id(&mut self, _tp: TypePackId) -> bool
fn visit_type_pack_id_bound_type_pack( &mut self, tp: TypePackId, _btp: &BoundTypePack, ) -> bool
fn visit_type_pack_id_free_type_pack( &mut self, tp: TypePackId, _ftp: &FreeTypePack, ) -> bool
fn visit_type_pack_id_generic_type_pack( &mut self, tp: TypePackId, _gtp: &GenericTypePack, ) -> bool
fn visit_type_pack_id_error_type_pack( &mut self, tp: TypePackId, _etp: &ErrorTypePack, ) -> bool
fn visit_type_pack_id_type_pack( &mut self, tp: TypePackId, _pack: &TypePack, ) -> bool
fn visit_type_pack_id_variadic_type_pack( &mut self, tp: TypePackId, _vtp: &VariadicTypePack, ) -> bool
fn visit_type_pack_id_blocked_type_pack( &mut self, tp: TypePackId, _btp: &BlockedTypePack, ) -> bool
Source§fn traverse_type_id(&mut self, ty: TypeId)where
Self: Sized,
fn traverse_type_id(&mut self, ty: TypeId)where
Self: Sized,
C++
void traverse(TypeId ty) (VisitType.h:217). Body in the traverse
node file.Source§fn traverse_type_pack_id(&mut self, tp: TypePackId)where
Self: Sized,
fn traverse_type_pack_id(&mut self, tp: TypePackId)where
Self: Sized,
C++
void traverse(TypePackId tp) (VisitType.h:444).Auto Trait Implementations§
impl !Send for InstanceCollector2
impl !Sync for InstanceCollector2
impl Freeze for InstanceCollector2
impl RefUnwindSafe for InstanceCollector2
impl Unpin for InstanceCollector2
impl UnsafeUnpin for InstanceCollector2
impl UnwindSafe for InstanceCollector2
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