pub(crate) struct ParamCollector {
pub(crate) params: UnordSet<ParamId>,
}Expand description
Collects all refinement params mentioned in the visited nodes.
Fields§
§params: UnordSet<ParamId>Trait Implementations§
Source§impl Default for ParamCollector
impl Default for ParamCollector
Source§impl<'fhir> Visitor<'fhir> for ParamCollector
impl<'fhir> Visitor<'fhir> for ParamCollector
fn visit_path_expr(&mut self, path: &PathExpr<'fhir>)
fn visit_flux_item(&mut self, item: &FluxItem<'v>)
fn visit_qualifier(&mut self, qualifier: &Qualifier<'v>)
fn visit_sort_decl(&mut self, sort_decl: &SortDecl)
fn visit_func(&mut self, func: &SpecFunc<'v>)
fn visit_primop_prop(&mut self, prop: &PrimOpProp<'v>)
fn visit_node(&mut self, node: &OwnerNode<'v>)
fn visit_item(&mut self, item: &Item<'v>)
fn visit_trait_item(&mut self, trait_item: &TraitItem<'v>)
fn visit_impl_item(&mut self, impl_item: &ImplItem<'v>)
fn visit_foreign_item(&mut self, foreign_item: &ForeignItem<'v>)
fn visit_generics(&mut self, generics: &Generics<'v>)
fn visit_where_predicate(&mut self, predicate: &WhereBoundPredicate<'v>)
fn visit_impl(&mut self, impl_: &Impl<'v>)
fn visit_impl_assoc_reft(&mut self, assoc_reft: &ImplAssocReft<'v>)
fn visit_trait_assoc_reft(&mut self, assoc_reft: &TraitAssocReft<'v>)
fn visit_struct_def(&mut self, struct_def: &StructDef<'v>)
fn visit_enum_def(&mut self, enum_def: &EnumDef<'v>)
fn visit_variant(&mut self, variant: &VariantDef<'v>)
fn visit_field_def(&mut self, field: &FieldDef<'v>)
fn visit_variant_ret(&mut self, ret: &VariantRet<'v>)
fn visit_ty_alias(&mut self, ty_alias: &TyAlias<'v>)
fn visit_opaque_ty(&mut self, opaque_ty: &OpaqueTy<'v>)
fn visit_generic_bound(&mut self, bound: &GenericBound<'v>)
fn visit_poly_trait_ref(&mut self, trait_ref: &PolyTraitRef<'v>)
fn visit_fn_sig(&mut self, sig: &FnSig<'v>)
fn visit_fn_decl(&mut self, decl: &FnDecl<'v>)
fn visit_refine_param(&mut self, param: &RefineParam<'v>)
fn visit_requires(&mut self, requires: &Requires<'v>)
fn visit_ensures(&mut self, ensures: &Ensures<'v>)
fn visit_fn_output(&mut self, output: &FnOutput<'v>)
fn visit_generic_arg(&mut self, arg: &GenericArg<'v>)
fn visit_lifetime(&mut self, _lft: &Lifetime)
fn visit_ty(&mut self, ty: &Ty<'v>)
fn visit_bty(&mut self, bty: &BaseTy<'v>)
fn visit_qpath(&mut self, qpath: &QPath<'v>)
fn visit_path(&mut self, path: &Path<'v>)
fn visit_path_segment(&mut self, segment: &PathSegment<'v>)
fn visit_assoc_item_constraint(&mut self, constraint: &AssocItemConstraint<'v>)
fn visit_sort(&mut self, sort: &Sort<'v>)
fn visit_sort_path(&mut self, path: &SortPath<'v>)
fn visit_poly_func_sort(&mut self, func: &PolyFuncSort<'v>)
fn visit_func_sort(&mut self, func: &FuncSort<'v>)
fn visit_domain(&mut self, dom: &QuantDom)
fn visit_expr(&mut self, expr: &Expr<'v>)
fn visit_field_expr(&mut self, expr: &FieldExpr<'v>)
fn visit_alias_reft(&mut self, alias_reft: &AliasReft<'v>)
fn visit_literal(&mut self, _lit: &Lit)
Auto Trait Implementations§
impl DynSend for ParamCollector
impl DynSync for ParamCollector
impl Freeze for ParamCollector
impl RefUnwindSafe for ParamCollector
impl Send for ParamCollector
impl Sync for ParamCollector
impl Unpin for ParamCollector
impl UnsafeUnpin for ParamCollector
impl UnwindSafe for ParamCollector
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more