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", so this trait is not object safe.

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> PermTarget for AtomicPtr<T>

Source§

type Value<'a> = FMap<Int, (*mut T, 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>)