pub struct Local { /* private fields */ }
Expand description
A single local definition.
Implementations§
source§impl Local
impl Local
pub fn is_param(self, db: &dyn HirDatabase) -> bool
pub fn as_self_param(self, db: &dyn HirDatabase) -> Option<SelfParam>
pub fn name(self, db: &dyn HirDatabase) -> Name
pub fn is_self(self, db: &dyn HirDatabase) -> bool
pub fn is_mut(self, db: &dyn HirDatabase) -> bool
pub fn is_ref(self, db: &dyn HirDatabase) -> bool
pub fn parent(self, _db: &dyn HirDatabase) -> DefWithBody
pub fn module(self, db: &dyn HirDatabase) -> Module
pub fn ty(self, db: &dyn HirDatabase) -> Type
sourcepub fn sources(self, db: &dyn HirDatabase) -> Vec<LocalSource>
pub fn sources(self, db: &dyn HirDatabase) -> Vec<LocalSource>
All definitions for this local. Example: let (a$0, _) | (_, a$0) = it;
sourcepub fn primary_source(self, db: &dyn HirDatabase) -> LocalSource
pub fn primary_source(self, db: &dyn HirDatabase) -> LocalSource
The leftmost definition for this local. Example: let (a$0, _) | (_, a) = it;
Trait Implementations§
source§impl From<(DefWithBodyId, Idx<Binding>)> for Local
impl From<(DefWithBodyId, Idx<Binding>)> for Local
source§fn from((parent, binding_id): (DefWithBodyId, BindingId)) -> Self
fn from((parent, binding_id): (DefWithBodyId, BindingId)) -> Self
Converts to this type from the input type.
source§impl PartialEq for Local
impl PartialEq for Local
impl Copy for Local
impl Eq for Local
impl StructuralPartialEq for Local
Auto Trait Implementations§
impl Freeze for Local
impl RefUnwindSafe for Local
impl Send for Local
impl Sync for Local
impl Unpin for Local
impl UnwindSafe for Local
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
source§impl<T> Cast for T
impl<T> Cast for T
source§fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
fn cast<U>(self, interner: <U as HasInterner>::Interner) -> Uwhere
Self: CastTo<U>,
U: HasInterner,
Cast a value to type
U
using CastTo
.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§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