pub struct VariableDescriptor {
pub hir_id: HirId,
pub name: String,
pub fqn: String,
pub kind: VariableKind,
pub is_mut: bool,
pub scope: VariableScope,
pub ty: Option<TypeExpr>,
}Expand description
Metadata captured for let bindings, const items, and static items.
Fields§
§hir_id: HirIdHIR identifier associated with the binding.
name: StringName as written in source.
fqn: StringFully-qualified name derived from the current scope chain.
kind: VariableKindBinding kind (let, const, or static).
is_mut: boolWhether the binding is declared mutable.
scope: VariableScopeWhether the binding lives at module scope or inside a function.
ty: Option<TypeExpr>Optional parsed type annotation.
Trait Implementations§
Source§impl Clone for VariableDescriptor
impl Clone for VariableDescriptor
Source§fn clone(&self) -> VariableDescriptor
fn clone(&self) -> VariableDescriptor
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl Freeze for VariableDescriptor
impl RefUnwindSafe for VariableDescriptor
impl Send for VariableDescriptor
impl Sync for VariableDescriptor
impl Unpin for VariableDescriptor
impl UnwindSafe for VariableDescriptor
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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