Enum rustc_abi::PointerKind
source · pub enum PointerKind {
SharedMutable,
Frozen,
UniqueBorrowed,
UniqueBorrowedPinned,
UniqueOwned,
}
Variants§
Most general case, we know no restrictions to tell LLVM.
Frozen
&T
where T
contains no UnsafeCell
, is dereferenceable
, noalias
and readonly
.
UniqueBorrowed
&mut T
which is dereferenceable
and noalias
but not readonly
.
UniqueBorrowedPinned
&mut !Unpin
, which is dereferenceable
but neither noalias
nor readonly
.
UniqueOwned
Box<T>
, which is noalias
(even on return types, unlike the above) but neither readonly
nor dereferenceable
.
Trait Implementations§
source§impl Clone for PointerKind
impl Clone for PointerKind
source§fn clone(&self) -> PointerKind
fn clone(&self) -> PointerKind
Returns a copy 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 moresource§impl Debug for PointerKind
impl Debug for PointerKind
source§impl PartialEq<PointerKind> for PointerKind
impl PartialEq<PointerKind> for PointerKind
source§fn eq(&self, other: &PointerKind) -> bool
fn eq(&self, other: &PointerKind) -> bool
impl Copy for PointerKind
impl Eq for PointerKind
impl StructuralEq for PointerKind
impl StructuralPartialEq for PointerKind
Auto Trait Implementations§
impl RefUnwindSafe for PointerKind
impl Send for PointerKind
impl Sync for PointerKind
impl Unpin for PointerKind
impl UnwindSafe for PointerKind
Blanket Implementations§
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference’s “Type Layout” chapter for details on type layout guarantees.
Size: 1 byte
Size for each variant:
SharedMutable
: 0 bytesFrozen
: 0 bytesUniqueBorrowed
: 0 bytesUniqueBorrowedPinned
: 0 bytesUniqueOwned
: 0 bytes