pub struct RelevantMirItems<'tcx> {
pub checkpoint: CheckpointLocation,
pub property: Property<'tcx>,
pub path: Path,
pub items: Vec<BackwardItem<'tcx>>,
pub roots: RelevantPlaces,
}Expand description
MIR items relevant to one (checkpoint, path, property) item.
Fields§
§checkpoint: CheckpointLocationUnsafe checkpoint whose obligation is being checked.
property: Property<'tcx>Required property that determines the relevance roots.
path: PathPath being visited.
items: Vec<BackwardItem<'tcx>>Items kept from the path.
roots: RelevantPlacesInitial roots extracted from the property.
Implementations§
Source§impl<'tcx> RelevantMirItems<'tcx>
impl<'tcx> RelevantMirItems<'tcx>
Sourcepub fn describe(
&self,
tcx: TyCtxt<'tcx>,
checkpoint: &Checkpoint<'tcx>,
path_index: usize,
) -> String
pub fn describe( &self, tcx: TyCtxt<'tcx>, checkpoint: &Checkpoint<'tcx>, path_index: usize, ) -> String
Render a detailed, path-ordered diagnostic for a checkpoint visit.
Sourcepub fn describe_for_checkpoint(
&self,
tcx: TyCtxt<'tcx>,
checkpoint: CheckpointLocation,
path_index: usize,
) -> String
pub fn describe_for_checkpoint( &self, tcx: TyCtxt<'tcx>, checkpoint: CheckpointLocation, path_index: usize, ) -> String
Render diagnostics for a struct invariant checkpoint (no callee name).
fn describe_common( &self, tcx: TyCtxt<'tcx>, path_index: usize, header: &str, ) -> String
Source§impl<'tcx> RelevantMirItems<'tcx>
impl<'tcx> RelevantMirItems<'tcx>
Trait Implementations§
Source§impl<'tcx> Clone for RelevantMirItems<'tcx>
impl<'tcx> Clone for RelevantMirItems<'tcx>
Source§fn clone(&self) -> RelevantMirItems<'tcx>
fn clone(&self) -> RelevantMirItems<'tcx>
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<'tcx> Freeze for RelevantMirItems<'tcx>
impl<'tcx> !RefUnwindSafe for RelevantMirItems<'tcx>
impl<'tcx> Send for RelevantMirItems<'tcx>
impl<'tcx> Sync for RelevantMirItems<'tcx>
impl<'tcx> Unpin for RelevantMirItems<'tcx>
impl<'tcx> !UnwindSafe for RelevantMirItems<'tcx>
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