pub struct UnsafeRoot {
pub def_id: DefId,
pub kinds: Vec<UnsafeOpKind>,
pub unsafe_callees: HashSet<DefId>,
pub raw_ptr_locals: HashSet<Local>,
pub static_muts: HashSet<DefId>,
}Expand description
A function that contains unsafe operations — an “unsafe root”.
This is the unified entry point for both the safetyflow analysis and the verify module to determine whether a function needs safety verification.
Fields§
§def_id: DefId§kinds: Vec<UnsafeOpKind>§unsafe_callees: HashSet<DefId>§raw_ptr_locals: HashSet<Local>§static_muts: HashSet<DefId>Trait Implementations§
Source§impl Clone for UnsafeRoot
impl Clone for UnsafeRoot
Source§fn clone(&self) -> UnsafeRoot
fn clone(&self) -> UnsafeRoot
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 Freeze for UnsafeRoot
impl RefUnwindSafe for UnsafeRoot
impl Send for UnsafeRoot
impl Sync for UnsafeRoot
impl Unpin for UnsafeRoot
impl UnwindSafe for UnsafeRoot
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