Enum rustc_target::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
.
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