pub struct CapturedPlace {
pub place: Place,
pub info: CaptureInfo,
pub mutability: Mutability,
}Expand description
A composite describing a Place that is captured by a closure.
Fields§
§place: PlaceThe Place that is captured.
info: CaptureInfoCaptureKind and expression(s) that resulted in such capture of place.
mutability: MutabilityRepresents if place can be mutated or not.
Implementations§
Source§impl CapturedPlace
impl CapturedPlace
pub fn is_by_ref(&self) -> bool
pub fn captured_local(&self) -> BindingId
Sourcepub fn captured_ty<'db>(&self, db: &'db dyn HirDatabase) -> Ty<'db>
pub fn captured_ty<'db>(&self, db: &'db dyn HirDatabase) -> Ty<'db>
The type of the capture stored in the closure, which is different from the type of the captured place if we capture by reference.
Trait Implementations§
Source§impl Clone for CapturedPlace
impl Clone for CapturedPlace
Source§fn clone(&self) -> CapturedPlace
fn clone(&self) -> CapturedPlace
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for CapturedPlace
impl Debug for CapturedPlace
Source§impl Hash for CapturedPlace
impl Hash for CapturedPlace
Source§impl PartialEq for CapturedPlace
impl PartialEq for CapturedPlace
Source§fn eq(&self, other: &CapturedPlace) -> bool
fn eq(&self, other: &CapturedPlace) -> bool
Tests for
self and other values to be equal, and is used by ==.impl Eq for CapturedPlace
impl StructuralPartialEq for CapturedPlace
Auto Trait Implementations§
impl Freeze for CapturedPlace
impl RefUnwindSafe for CapturedPlace
impl Send for CapturedPlace
impl Sync for CapturedPlace
impl Unpin for CapturedPlace
impl UnsafeUnpin for CapturedPlace
impl UnwindSafe for CapturedPlace
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,
§impl<T, R> CollectAndApply<T, R> for T
impl<T, R> CollectAndApply<T, R> for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<T> HashEqLike<T> for T
impl<T> HashEqLike<T> 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