Skip to main content

PermTarget

Trait PermTarget 

Source
pub trait PermTarget {
    type Value<'a>
       where Self: 'a;
    type PermPayload: ?Sized;

    // Provided method
    fn is_disjoint(
        &self,
        _self_val: Self::Value<'_>,
        other: &Self,
        _other_val: Self::Value<'_>,
    ) -> bool { ... }
}

Required Associated Types§

Source

type Value<'a> where Self: 'a

Source

type PermPayload: ?Sized

Provided Methods§

Source

fn is_disjoint( &self, _self_val: Self::Value<'_>, other: &Self, _other_val: Self::Value<'_>, ) -> bool

logic(open, inline)

self != other

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementations on Foreign Types§

Source§

impl<T: ?Sized> PermTarget for *const T

Source§

fn is_disjoint(&self, self_val: &T, other: &Self, other_val: &T) -> bool

logic(open, inline)

size_of_val_logic(*self_val) != 0 && size_of_val_logic(*other_val) != 0 ==>
self.addr_logic() != other.addr_logic()
Source§

type Value<'a> = &'a T where Self: 'a

Source§

type PermPayload = (NotObjective, PhantomData<T>, [bool])

Implementors§

Source§

impl PermTarget for AtomicBool

Source§

type Value<'a> = FMap<Int, (bool, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicI8

Source§

type Value<'a> = FMap<Int, (i8, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicI16

Source§

type Value<'a> = FMap<Int, (i16, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicI32

Source§

type Value<'a> = FMap<Int, (i32, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicI64

Source§

type Value<'a> = FMap<Int, (i64, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicIsize

Source§

type Value<'a> = FMap<Int, (isize, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicU8

Source§

type Value<'a> = FMap<Int, (u8, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicU16

Source§

type Value<'a> = FMap<Int, (u16, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicU32

Source§

type Value<'a> = FMap<Int, (u32, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicU64

Source§

type Value<'a> = FMap<Int, (u64, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl PermTarget for AtomicUsize

Source§

type Value<'a> = FMap<Int, (usize, SyncView)> where Self: 'a

Source§

type PermPayload = ()

Source§

impl<T: ?Sized> PermTarget for PermCell<T>

Source§

type Value<'a> = &'a T where Self: 'a

Source§

type PermPayload = (NotObjective, PhantomData<T>)

Source§

impl<T> PermTarget for AtomicPtr<T>

Source§

type Value<'a> = FMap<Int, (*mut T, SyncView)> where Self: 'a

Source§

type PermPayload = ()