pub(crate) struct UsageCache {
usages: Vec<(Definition, UsageSearchResult)>,
}Expand description
A cache for the results of find_usages. This is for when we have multiple patterns that have the
same path. e.g. if the pattern was foo::Bar that can parse as a path, an expression, a type
and as a pattern. In each, the usages of foo::Bar are the same and we’d like to avoid finding
them more than once.
Fields§
§usages: Vec<(Definition, UsageSearchResult)>Implementations§
Source§impl UsageCache
impl UsageCache
fn find(&mut self, definition: &Definition) -> Option<&UsageSearchResult>
Trait Implementations§
Source§impl Default for UsageCache
impl Default for UsageCache
Source§fn default() -> UsageCache
fn default() -> UsageCache
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for UsageCache
impl !RefUnwindSafe for UsageCache
impl !Send for UsageCache
impl !Sync for UsageCache
impl Unpin for UsageCache
impl UnsafeUnpin for UsageCache
impl !UnwindSafe for UsageCache
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, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§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