enum PlaceNode {
Deref(Ty, Box<PlaceNode>),
Downcast(AdtDef, GenericArgs, VariantIdx, Vec<PlaceNode>),
Closure(DefId, GenericArgs, Vec<PlaceNode>),
Generator(DefId, GenericArgs, Vec<PlaceNode>),
Tuple(List<Ty>, Vec<PlaceNode>),
Ty(Ty),
}
Variants§
Deref(Ty, Box<PlaceNode>)
Downcast(AdtDef, GenericArgs, VariantIdx, Vec<PlaceNode>)
Closure(DefId, GenericArgs, Vec<PlaceNode>)
Generator(DefId, GenericArgs, Vec<PlaceNode>)
Tuple(List<Ty>, Vec<PlaceNode>)
Ty(Ty)
Implementations§
Source§impl PlaceNode
impl PlaceNode
fn deref(&mut self) -> (&mut PlaceNode, bool)
fn downcast( &mut self, genv: GlobalEnv<'_, '_>, idx: VariantIdx, ) -> QueryResult<(&mut PlaceNode, bool)>
fn field( &mut self, genv: GlobalEnv<'_, '_>, f: FieldIdx, ) -> QueryResult<(&mut PlaceNode, bool)>
fn fields( &mut self, genv: GlobalEnv<'_, '_>, ) -> QueryResult<(&mut Vec<PlaceNode>, bool)>
fn ensure_folded(&mut self) -> bool
fn join( &mut self, genv: GlobalEnv<'_, '_>, other: &mut PlaceNode, in_mut_ref: bool, ) -> QueryResult<(bool, bool)>
fn collect_fold_unfolds( &self, other: &PlaceNode, place: &mut Place, stmts: &mut StatementsAt<'_>, )
fn collect_unfolds( &self, place: &mut Place, stmts: &mut StatementsAt<'_>, ) -> bool
fn collect_folds_at_ret(&self, place: &mut Place, stmts: &mut StatementsAt<'_>)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for PlaceNode
impl RefUnwindSafe for PlaceNode
impl Send for PlaceNode
impl Sync for PlaceNode
impl Unpin for PlaceNode
impl UnwindSafe for PlaceNode
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§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)§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