struct UpvarsMentionedVisitor<'db> {
db: &'db dyn SourceDatabase,
resolver: Resolver<'db>,
owner: ExpressionStoreOwnerId,
store: &'db ExpressionStore,
closures_map: FxHashMap<ExprId, Upvars>,
current_closure: Option<(ExprId, FxHashSet<BindingId>)>,
}Fields§
§db: &'db dyn SourceDatabase§resolver: Resolver<'db>§owner: ExpressionStoreOwnerId§store: &'db ExpressionStore§closures_map: FxHashMap<ExprId, Upvars>§current_closure: Option<(ExprId, FxHashSet<BindingId>)>Implementations§
Source§impl UpvarsMentionedVisitor<'_>
impl UpvarsMentionedVisitor<'_>
fn resolve_maybe_upvar(&mut self, expr: ExprId, path: &Path)
Trait Implementations§
Source§impl StoreVisitor for UpvarsMentionedVisitor<'_>
impl StoreVisitor for UpvarsMentionedVisitor<'_>
fn on_expr(&mut self, expr: ExprId)
fn on_anon_const_expr(&mut self, expr: ExprId)
fn on_pat(&mut self, pat: PatId)
fn on_type(&mut self, ty: TypeRefId)
fn on_lifetime(&mut self, lifetime: LifetimeRefId)
fn on_generic_args(&mut self, args: &GenericArgs)
Auto Trait Implementations§
impl<'db> !RefUnwindSafe for UpvarsMentionedVisitor<'db>
impl<'db> !Send for UpvarsMentionedVisitor<'db>
impl<'db> !Sync for UpvarsMentionedVisitor<'db>
impl<'db> !UnwindSafe for UpvarsMentionedVisitor<'db>
impl<'db> Freeze for UpvarsMentionedVisitor<'db>
impl<'db> Unpin for UpvarsMentionedVisitor<'db>
impl<'db> UnsafeUnpin for UpvarsMentionedVisitor<'db>
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