pub(crate) struct CallDependencySummary {
pub return_depends_on_args: Vec<usize>,
pub must_write_args: Vec<usize>,
pub unsupported: bool,
}Expand description
Dependency summary consumed by the backward visitor.
Fields§
§return_depends_on_args: Vec<usize>If the call destination is relevant, these call arguments are relevant.
must_write_args: Vec<usize>Arguments definitely written on every return path (the must-write
intersection, from local_must_write_args). The backward slicer keeps
these relevant so the write effect is applied. A conditionally-written
argument is not listed here — that is the “may-write” set, which this
summary does not compute.
unsupported: boolTrue when this summary is conservative rather than precise.
Implementations§
Trait Implementations§
Source§impl Clone for CallDependencySummary
impl Clone for CallDependencySummary
Auto Trait Implementations§
impl DynSend for CallDependencySummary
impl DynSync for CallDependencySummary
impl Freeze for CallDependencySummary
impl RefUnwindSafe for CallDependencySummary
impl Send for CallDependencySummary
impl Sync for CallDependencySummary
impl Unpin for CallDependencySummary
impl UnsafeUnpin for CallDependencySummary
impl UnwindSafe for CallDependencySummary
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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