pub struct CallSite {
pub callee: Option<FuncKey>,
pub callee_display: String,
pub kind: EdgeKind,
pub loc: Option<Loc>,
pub guard: Guard,
pub barrier: bool,
pub terminates: bool,
pub candidate: bool,
pub sig: Option<String>,
pub self_ty: Option<String>,
}Expand description
A call from one function to another.
Fields§
§callee: Option<FuncKey>The resolved callee, absent when the target is unknown.
callee_display: StringA readable name for the callee, used in reports.
kind: EdgeKindHow the target was resolved.
loc: Option<Loc>Where the call is written.
guard: GuardWhen this call is reachable.
barrier: boolTrue when the callee’s unwinding panics are contained at this call, which is what catching an unwind does. Aborting panics still cross, because nothing can catch them.
terminates: boolTrue when the callee’s unwinding panics abort at this call. See
PanicSite::terminates.
candidate: boolTrue when the callee is one possible target rather than the proven one. Candidate edges are followed only when asked for.
sig: Option<String>The rendered pointer signature, kept on function pointer calls so candidates can be matched to them.
self_ty: Option<String>The type a candidate implementation is for, kept on the candidates of a call through a trait object so the merge can drop those no reachable code makes into an object.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for CallSite
impl<'de> Deserialize<'de> for CallSite
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for CallSite
impl StructuralPartialEq for CallSite
Auto Trait Implementations§
impl Freeze for CallSite
impl RefUnwindSafe for CallSite
impl Send for CallSite
impl Sync for CallSite
impl Unpin for CallSite
impl UnsafeUnpin for CallSite
impl UnwindSafe for CallSite
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.