pub(crate) struct UnbindVarVisitor {
binder_depth: DeBruijnId,
}
Expand description
Replace variables bound at the top-level with Free
vars.
Fields§
§binder_depth: DeBruijnId
Trait Implementations§
Source§impl Default for UnbindVarVisitor
impl Default for UnbindVarVisitor
Source§fn default() -> UnbindVarVisitor
fn default() -> UnbindVarVisitor
Returns the “default value” for a type. Read more
Source§impl VisitAstMut for UnbindVarVisitor
impl VisitAstMut for UnbindVarVisitor
Source§fn visit<'a, T: AstVisitable>(
&'a mut self,
x: &mut T,
) -> ControlFlow<Self::Break>
fn visit<'a, T: AstVisitable>( &'a mut self, x: &mut T, ) -> ControlFlow<Self::Break>
Visit a visitable type. This calls the appropriate method of this trait on
x
(visit_$ty
if it exists, visit_inner
if not).Source§fn exit_de_bruijn_var<T: AstVisitable + Idx>(
&mut self,
var: &mut DeBruijnVar<T>,
)
fn exit_de_bruijn_var<T: AstVisitable + Idx>( &mut self, var: &mut DeBruijnVar<T>, )
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_by_val<T: AstVisitable>(
self,
x: &mut T,
) -> ControlFlow<Self::Break, Self>
fn visit_by_val<T: AstVisitable>( self, x: &mut T, ) -> ControlFlow<Self::Break, Self>
Convenience alias for method chaining.
Source§fn visit_by_val_infallible<T: AstVisitable>(self, x: &mut T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
fn visit_by_val_infallible<T: AstVisitable>(self, x: &mut T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
Convenience when the visitor does not return early.
Source§fn visit_inner<T>(&mut self, x: &mut T) -> ControlFlow<Self::Break>where
T: AstVisitable + for<'s> DriveMut<'s, AstVisitableWrapper<Self>>,
fn visit_inner<T>(&mut self, x: &mut T) -> ControlFlow<Self::Break>where
T: AstVisitable + for<'s> DriveMut<'s, AstVisitableWrapper<Self>>,
Visit the contents of
x
. This calls self.visit()
on each field of T
. This
is available for any type whose contents are all #trait_name
.Source§fn visit_de_bruijn_id(&mut self, x: &mut DeBruijnId) -> ControlFlow<Self::Break>
fn visit_de_bruijn_id(&mut self, x: &mut DeBruijnId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_de_bruijn_id(&mut self, x: &mut DeBruijnId)
fn enter_de_bruijn_id(&mut self, x: &mut DeBruijnId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_de_bruijn_id(&mut self, x: &mut DeBruijnId)
fn exit_de_bruijn_id(&mut self, x: &mut DeBruijnId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_ty(&mut self, x: &mut Ty) -> ControlFlow<Self::Break>
fn visit_ty(&mut self, x: &mut Ty) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_ty(&mut self, x: &mut Ty)
fn enter_ty(&mut self, x: &mut Ty)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_ty(&mut self, x: &mut Ty)
fn exit_ty(&mut self, x: &mut Ty)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_ty_kind(&mut self, x: &mut TyKind) -> ControlFlow<Self::Break>
fn visit_ty_kind(&mut self, x: &mut TyKind) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_ty_kind(&mut self, x: &mut TyKind)
fn enter_ty_kind(&mut self, x: &mut TyKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_ty_kind(&mut self, x: &mut TyKind)
fn exit_ty_kind(&mut self, x: &mut TyKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_region(&mut self, x: &mut Region) -> ControlFlow<Self::Break>
fn visit_region(&mut self, x: &mut Region) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_region(&mut self, x: &mut Region)
fn enter_region(&mut self, x: &mut Region)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_region(&mut self, x: &mut Region)
fn exit_region(&mut self, x: &mut Region)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_const_generic(
&mut self,
x: &mut ConstGeneric,
) -> ControlFlow<Self::Break>
fn visit_const_generic( &mut self, x: &mut ConstGeneric, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_const_generic(&mut self, x: &mut ConstGeneric)
fn enter_const_generic(&mut self, x: &mut ConstGeneric)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_const_generic(&mut self, x: &mut ConstGeneric)
fn exit_const_generic(&mut self, x: &mut ConstGeneric)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_ref(&mut self, x: &mut TraitRef) -> ControlFlow<Self::Break>
fn visit_trait_ref(&mut self, x: &mut TraitRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_ref(&mut self, x: &mut TraitRef)
fn enter_trait_ref(&mut self, x: &mut TraitRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_ref(&mut self, x: &mut TraitRef)
fn exit_trait_ref(&mut self, x: &mut TraitRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_ref_kind(
&mut self,
x: &mut TraitRefKind,
) -> ControlFlow<Self::Break>
fn visit_trait_ref_kind( &mut self, x: &mut TraitRefKind, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_ref_kind(&mut self, x: &mut TraitRefKind)
fn enter_trait_ref_kind(&mut self, x: &mut TraitRefKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_ref_kind(&mut self, x: &mut TraitRefKind)
fn exit_trait_ref_kind(&mut self, x: &mut TraitRefKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_type_decl_ref(
&mut self,
x: &mut TypeDeclRef,
) -> ControlFlow<Self::Break>
fn visit_type_decl_ref( &mut self, x: &mut TypeDeclRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_type_decl_ref(&mut self, x: &mut TypeDeclRef)
fn enter_type_decl_ref(&mut self, x: &mut TypeDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_type_decl_ref(&mut self, x: &mut TypeDeclRef)
fn exit_type_decl_ref(&mut self, x: &mut TypeDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_fun_decl_ref(&mut self, x: &mut FunDeclRef) -> ControlFlow<Self::Break>
fn visit_fun_decl_ref(&mut self, x: &mut FunDeclRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_fun_decl_ref(&mut self, x: &mut FunDeclRef)
fn enter_fun_decl_ref(&mut self, x: &mut FunDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_fun_decl_ref(&mut self, x: &mut FunDeclRef)
fn exit_fun_decl_ref(&mut self, x: &mut FunDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_maybe_builtin_fun_decl_ref(
&mut self,
x: &mut MaybeBuiltinFunDeclRef,
) -> ControlFlow<Self::Break>
fn visit_maybe_builtin_fun_decl_ref( &mut self, x: &mut MaybeBuiltinFunDeclRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_maybe_builtin_fun_decl_ref(&mut self, x: &mut MaybeBuiltinFunDeclRef)
fn enter_maybe_builtin_fun_decl_ref(&mut self, x: &mut MaybeBuiltinFunDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_maybe_builtin_fun_decl_ref(&mut self, x: &mut MaybeBuiltinFunDeclRef)
fn exit_maybe_builtin_fun_decl_ref(&mut self, x: &mut MaybeBuiltinFunDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_method_ref(
&mut self,
x: &mut TraitMethodRef,
) -> ControlFlow<Self::Break>
fn visit_trait_method_ref( &mut self, x: &mut TraitMethodRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_method_ref(&mut self, x: &mut TraitMethodRef)
fn enter_trait_method_ref(&mut self, x: &mut TraitMethodRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_method_ref(&mut self, x: &mut TraitMethodRef)
fn exit_trait_method_ref(&mut self, x: &mut TraitMethodRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_global_decl_ref(
&mut self,
x: &mut GlobalDeclRef,
) -> ControlFlow<Self::Break>
fn visit_global_decl_ref( &mut self, x: &mut GlobalDeclRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
fn enter_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
fn exit_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_decl_ref(
&mut self,
x: &mut TraitDeclRef,
) -> ControlFlow<Self::Break>
fn visit_trait_decl_ref( &mut self, x: &mut TraitDeclRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
fn enter_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
fn exit_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_impl_ref(
&mut self,
x: &mut TraitImplRef,
) -> ControlFlow<Self::Break>
fn visit_trait_impl_ref( &mut self, x: &mut TraitImplRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_impl_ref(&mut self, x: &mut TraitImplRef)
fn enter_trait_impl_ref(&mut self, x: &mut TraitImplRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_impl_ref(&mut self, x: &mut TraitImplRef)
fn exit_trait_impl_ref(&mut self, x: &mut TraitImplRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_generic_args(
&mut self,
x: &mut GenericArgs,
) -> ControlFlow<Self::Break>
fn visit_generic_args( &mut self, x: &mut GenericArgs, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_generic_args(&mut self, x: &mut GenericArgs)
fn enter_generic_args(&mut self, x: &mut GenericArgs)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_generic_args(&mut self, x: &mut GenericArgs)
fn exit_generic_args(&mut self, x: &mut GenericArgs)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_generic_params(
&mut self,
x: &mut GenericParams,
) -> ControlFlow<Self::Break>
fn visit_generic_params( &mut self, x: &mut GenericParams, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_generic_params(&mut self, x: &mut GenericParams)
fn enter_generic_params(&mut self, x: &mut GenericParams)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_generic_params(&mut self, x: &mut GenericParams)
fn exit_generic_params(&mut self, x: &mut GenericParams)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_clause(
&mut self,
x: &mut TraitClause,
) -> ControlFlow<Self::Break>
fn visit_trait_clause( &mut self, x: &mut TraitClause, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_clause(&mut self, x: &mut TraitClause)
fn enter_trait_clause(&mut self, x: &mut TraitClause)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_clause(&mut self, x: &mut TraitClause)
fn exit_trait_clause(&mut self, x: &mut TraitClause)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_clause_id(
&mut self,
x: &mut TraitClauseId,
) -> ControlFlow<Self::Break>
fn visit_trait_clause_id( &mut self, x: &mut TraitClauseId, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_clause_id(&mut self, x: &mut TraitClauseId)
fn enter_trait_clause_id(&mut self, x: &mut TraitClauseId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_clause_id(&mut self, x: &mut TraitClauseId)
fn exit_trait_clause_id(&mut self, x: &mut TraitClauseId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_type_constraint(
&mut self,
x: &mut TraitTypeConstraint,
) -> ControlFlow<Self::Break>
fn visit_trait_type_constraint( &mut self, x: &mut TraitTypeConstraint, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_type_constraint(&mut self, x: &mut TraitTypeConstraint)
fn enter_trait_type_constraint(&mut self, x: &mut TraitTypeConstraint)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_type_constraint(&mut self, x: &mut TraitTypeConstraint)
fn exit_trait_type_constraint(&mut self, x: &mut TraitTypeConstraint)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_place(&mut self, x: &mut Place) -> ControlFlow<Self::Break>
fn visit_place(&mut self, x: &mut Place) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_place(&mut self, x: &mut Place)
fn enter_place(&mut self, x: &mut Place)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_place(&mut self, x: &mut Place)
fn exit_place(&mut self, x: &mut Place)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_rvalue(&mut self, x: &mut Rvalue) -> ControlFlow<Self::Break>
fn visit_rvalue(&mut self, x: &mut Rvalue) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_rvalue(&mut self, x: &mut Rvalue)
fn enter_rvalue(&mut self, x: &mut Rvalue)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_rvalue(&mut self, x: &mut Rvalue)
fn exit_rvalue(&mut self, x: &mut Rvalue)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_de_bruijn_var<T: AstVisitable + Idx>(
&mut self,
x: &mut DeBruijnVar<T>,
) -> ControlFlow<Self::Break>
fn visit_de_bruijn_var<T: AstVisitable + Idx>( &mut self, x: &mut DeBruijnVar<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &mut DeBruijnVar<T>)
fn enter_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &mut DeBruijnVar<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn visit_region_binder<T: AstVisitable>(
&mut self,
x: &mut RegionBinder<T>,
) -> ControlFlow<Self::Break>
fn visit_region_binder<T: AstVisitable>( &mut self, x: &mut RegionBinder<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
fn enter_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
fn exit_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_binder<T: AstVisitable>(
&mut self,
x: &mut Binder<T>,
) -> ControlFlow<Self::Break>
fn visit_binder<T: AstVisitable>( &mut self, x: &mut Binder<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
fn enter_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
fn exit_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_llbc_block(&mut self, x: &mut Block) -> ControlFlow<Self::Break>
fn visit_llbc_block(&mut self, x: &mut Block) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_llbc_block(&mut self, x: &mut Block)
fn enter_llbc_block(&mut self, x: &mut Block)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_llbc_block(&mut self, x: &mut Block)
fn exit_llbc_block(&mut self, x: &mut Block)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_llbc_statement(
&mut self,
x: &mut Statement,
) -> ControlFlow<Self::Break>
fn visit_llbc_statement( &mut self, x: &mut Statement, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_llbc_statement(&mut self, x: &mut Statement)
fn enter_llbc_statement(&mut self, x: &mut Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_llbc_statement(&mut self, x: &mut Statement)
fn exit_llbc_statement(&mut self, x: &mut Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_ullbc_statement(
&mut self,
x: &mut Statement,
) -> ControlFlow<Self::Break>
fn visit_ullbc_statement( &mut self, x: &mut Statement, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_ullbc_statement(&mut self, x: &mut Statement)
fn enter_ullbc_statement(&mut self, x: &mut Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_ullbc_statement(&mut self, x: &mut Statement)
fn exit_ullbc_statement(&mut self, x: &mut Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_ullbc_terminator(
&mut self,
x: &mut Terminator,
) -> ControlFlow<Self::Break>
fn visit_ullbc_terminator( &mut self, x: &mut Terminator, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_ullbc_terminator(&mut self, x: &mut Terminator)
fn enter_ullbc_terminator(&mut self, x: &mut Terminator)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_ullbc_terminator(&mut self, x: &mut Terminator)
fn exit_ullbc_terminator(&mut self, x: &mut Terminator)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_aggregate_kind(
&mut self,
x: &mut AggregateKind,
) -> ControlFlow<Self::Break>
fn visit_aggregate_kind( &mut self, x: &mut AggregateKind, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_aggregate_kind(&mut self, x: &mut AggregateKind)
fn enter_aggregate_kind(&mut self, x: &mut AggregateKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_aggregate_kind(&mut self, x: &mut AggregateKind)
fn exit_aggregate_kind(&mut self, x: &mut AggregateKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_fn_ptr(&mut self, x: &mut FnPtr) -> ControlFlow<Self::Break>
fn visit_fn_ptr(&mut self, x: &mut FnPtr) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_fn_ptr(&mut self, x: &mut FnPtr)
fn enter_fn_ptr(&mut self, x: &mut FnPtr)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_fn_ptr(&mut self, x: &mut FnPtr)
fn exit_fn_ptr(&mut self, x: &mut FnPtr)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_item_kind(&mut self, x: &mut ItemKind) -> ControlFlow<Self::Break>
fn visit_item_kind(&mut self, x: &mut ItemKind) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_item_kind(&mut self, x: &mut ItemKind)
fn enter_item_kind(&mut self, x: &mut ItemKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_item_kind(&mut self, x: &mut ItemKind)
fn exit_item_kind(&mut self, x: &mut ItemKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_item_meta(&mut self, x: &mut ItemMeta) -> ControlFlow<Self::Break>
fn visit_item_meta(&mut self, x: &mut ItemMeta) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_item_meta(&mut self, x: &mut ItemMeta)
fn enter_item_meta(&mut self, x: &mut ItemMeta)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_item_meta(&mut self, x: &mut ItemMeta)
fn exit_item_meta(&mut self, x: &mut ItemMeta)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_span(&mut self, x: &mut Span) -> ControlFlow<Self::Break>
fn visit_span(&mut self, x: &mut Span) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_span(&mut self, x: &mut Span)
fn enter_span(&mut self, x: &mut Span)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_span(&mut self, x: &mut Span)
fn exit_span(&mut self, x: &mut Span)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_constant_expr(
&mut self,
x: &mut ConstantExpr,
) -> ControlFlow<Self::Break>
fn visit_constant_expr( &mut self, x: &mut ConstantExpr, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_constant_expr(&mut self, x: &mut ConstantExpr)
fn enter_constant_expr(&mut self, x: &mut ConstantExpr)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_constant_expr(&mut self, x: &mut ConstantExpr)
fn exit_constant_expr(&mut self, x: &mut ConstantExpr)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_fun_decl_id(&mut self, x: &mut FunDeclId) -> ControlFlow<Self::Break>
fn visit_fun_decl_id(&mut self, x: &mut FunDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_fun_decl_id(&mut self, x: &mut FunDeclId)
fn enter_fun_decl_id(&mut self, x: &mut FunDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_fun_decl_id(&mut self, x: &mut FunDeclId)
fn exit_fun_decl_id(&mut self, x: &mut FunDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_global_decl_id(
&mut self,
x: &mut GlobalDeclId,
) -> ControlFlow<Self::Break>
fn visit_global_decl_id( &mut self, x: &mut GlobalDeclId, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_global_decl_id(&mut self, x: &mut GlobalDeclId)
fn enter_global_decl_id(&mut self, x: &mut GlobalDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_global_decl_id(&mut self, x: &mut GlobalDeclId)
fn exit_global_decl_id(&mut self, x: &mut GlobalDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_type_decl_id(&mut self, x: &mut TypeDeclId) -> ControlFlow<Self::Break>
fn visit_type_decl_id(&mut self, x: &mut TypeDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_type_decl_id(&mut self, x: &mut TypeDeclId)
fn enter_type_decl_id(&mut self, x: &mut TypeDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_type_decl_id(&mut self, x: &mut TypeDeclId)
fn exit_type_decl_id(&mut self, x: &mut TypeDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_decl_id(
&mut self,
x: &mut TraitDeclId,
) -> ControlFlow<Self::Break>
fn visit_trait_decl_id( &mut self, x: &mut TraitDeclId, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_decl_id(&mut self, x: &mut TraitDeclId)
fn enter_trait_decl_id(&mut self, x: &mut TraitDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_decl_id(&mut self, x: &mut TraitDeclId)
fn exit_trait_decl_id(&mut self, x: &mut TraitDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_impl_id(
&mut self,
x: &mut TraitImplId,
) -> ControlFlow<Self::Break>
fn visit_trait_impl_id( &mut self, x: &mut TraitImplId, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_impl_id(&mut self, x: &mut TraitImplId)
fn enter_trait_impl_id(&mut self, x: &mut TraitImplId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_impl_id(&mut self, x: &mut TraitImplId)
fn exit_trait_impl_id(&mut self, x: &mut TraitImplId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_fun_decl(&mut self, x: &mut FunDecl) -> ControlFlow<Self::Break>
fn visit_fun_decl(&mut self, x: &mut FunDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_fun_decl(&mut self, x: &mut FunDecl)
fn enter_fun_decl(&mut self, x: &mut FunDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_fun_decl(&mut self, x: &mut FunDecl)
fn exit_fun_decl(&mut self, x: &mut FunDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_global_decl(&mut self, x: &mut GlobalDecl) -> ControlFlow<Self::Break>
fn visit_global_decl(&mut self, x: &mut GlobalDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_global_decl(&mut self, x: &mut GlobalDecl)
fn enter_global_decl(&mut self, x: &mut GlobalDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_global_decl(&mut self, x: &mut GlobalDecl)
fn exit_global_decl(&mut self, x: &mut GlobalDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_type_decl(&mut self, x: &mut TypeDecl) -> ControlFlow<Self::Break>
fn visit_type_decl(&mut self, x: &mut TypeDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_type_decl(&mut self, x: &mut TypeDecl)
fn enter_type_decl(&mut self, x: &mut TypeDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_type_decl(&mut self, x: &mut TypeDecl)
fn exit_type_decl(&mut self, x: &mut TypeDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_decl(&mut self, x: &mut TraitDecl) -> ControlFlow<Self::Break>
fn visit_trait_decl(&mut self, x: &mut TraitDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_decl(&mut self, x: &mut TraitDecl)
fn enter_trait_decl(&mut self, x: &mut TraitDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_decl(&mut self, x: &mut TraitDecl)
fn exit_trait_decl(&mut self, x: &mut TraitDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§fn visit_trait_impl(&mut self, x: &mut TraitImpl) -> ControlFlow<Self::Break>
fn visit_trait_impl(&mut self, x: &mut TraitImpl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moreSource§fn enter_trait_impl(&mut self, x: &mut TraitImpl)
fn enter_trait_impl(&mut self, x: &mut TraitImpl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).Source§fn exit_trait_impl(&mut self, x: &mut TraitImpl)
fn exit_trait_impl(&mut self, x: &mut TraitImpl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).Source§impl Visitor for UnbindVarVisitor
impl Visitor for UnbindVarVisitor
Source§type Break = Infallible
type Break = Infallible
The type used for early-return, if the visitor supports it. Use an empty type like
std::convert::Infallible
if the visitor does not short-circuit.Source§impl VisitorWithBinderDepth for UnbindVarVisitor
impl VisitorWithBinderDepth for UnbindVarVisitor
fn binder_depth_mut(&mut self) -> &mut DeBruijnId
Auto Trait Implementations§
impl Freeze for UnbindVarVisitor
impl RefUnwindSafe for UnbindVarVisitor
impl Send for UnbindVarVisitor
impl Sync for UnbindVarVisitor
impl Unpin for UnbindVarVisitor
impl UnwindSafe for UnbindVarVisitor
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<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. 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>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more