pub struct Quantifier {
pub base: TypeOnceVisitor,
pub level: TypeLevel,
pub generics: Vec<TypeId>,
pub generic_packs: Vec<TypePackId>,
pub scope: *mut Scope,
pub seen_generic_type: bool,
pub seen_mutable_type: bool,
}Fields§
§base: TypeOnceVisitor§level: TypeLevel§generics: Vec<TypeId>§generic_packs: Vec<TypePackId>§scope: *mut Scope§seen_generic_type: bool§seen_mutable_type: boolImplementations§
Source§impl Quantifier
impl Quantifier
pub fn quantifier(level: TypeLevel) -> Self
Source§impl Quantifier
impl Quantifier
Source§impl Quantifier
impl Quantifier
pub fn visit_type_id_free_type(&mut self, ty: TypeId, ftv: &FreeType) -> bool
Source§impl Quantifier
impl Quantifier
pub fn visit_type_id_table_type(&mut self, ty: TypeId, ttv: &TableType) -> bool
Source§impl Quantifier
impl Quantifier
pub fn visit_type_pack_id_free_type_pack( &mut self, tp: TypePackId, ftp: &FreeTypePack, ) -> bool
Trait Implementations§
Source§impl Clone for Quantifier
impl Clone for Quantifier
Source§fn clone(&self) -> Quantifier
fn clone(&self) -> Quantifier
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 Quantifier
impl Debug for Quantifier
Source§impl GenericTypeVisitorTrait for Quantifier
impl GenericTypeVisitorTrait for Quantifier
type Seen = DenseHashSet<*mut c_void>
fn visitor_base(&mut self) -> &mut GenericTypeVisitor<Self::Seen>
fn visit_type_id_free_type(&mut self, ty: TypeId, ftv: &FreeType) -> bool
fn visit_type_id_table_type(&mut self, ty: TypeId, ttv: &TableType) -> bool
fn visit_type_pack_id_free_type_pack( &mut self, tp: TypePackId, ftp: &FreeTypePack, ) -> bool
fn cycle_type_id(&mut self, _ty: TypeId)
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_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_metatable_type( &mut self, ty: TypeId, _mtv: &MetatableType, ) -> bool
fn visit_type_id_extern_type(&mut self, ty: TypeId, _etv: &ExternType) -> 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_id_type_function_instance_type( &mut self, ty: TypeId, _tfit: &TypeFunctionInstanceType, ) -> 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_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
fn visit_type_pack_id_type_function_instance_type_pack( &mut self, tp: TypePackId, _tfitp: &TypeFunctionInstanceTypePack, ) -> 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 Quantifier
impl !Sync for Quantifier
impl Freeze for Quantifier
impl RefUnwindSafe for Quantifier
impl Unpin for Quantifier
impl UnsafeUnpin for Quantifier
impl UnwindSafe for Quantifier
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