pub enum Disjointness {
Disjoint,
Overlapping(Conflict),
Undecided(Conflict),
}Expand description
The result of a disjointness proof.
Variants§
Disjoint
Proved: the branches cannot touch the same resource. Safe to run in parallel.
Overlapping(Conflict)
Proved: they can interfere. The offending pair is named.
Undecided(Conflict)
Not decided. Treated as a refusal by the compiler — see US-0206.
Implementations§
Source§impl Disjointness
impl Disjointness
Sourcepub fn is_proved_disjoint(&self) -> bool
pub fn is_proved_disjoint(&self) -> bool
Whether parallel execution is proved safe.
Disjointness::Undecided is not safe. There is deliberately no
variant of this that accepts an undecided proof.
Trait Implementations§
Source§impl Clone for Disjointness
impl Clone for Disjointness
Source§impl Debug for Disjointness
impl Debug for Disjointness
impl Eq for Disjointness
Source§impl PartialEq for Disjointness
impl PartialEq for Disjointness
impl StructuralPartialEq for Disjointness
Auto Trait Implementations§
impl Freeze for Disjointness
impl RefUnwindSafe for Disjointness
impl Send for Disjointness
impl Sync for Disjointness
impl Unpin for Disjointness
impl UnsafeUnpin for Disjointness
impl UnwindSafe for Disjointness
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