Enum rustc_target::abi::PointerKind
source · pub enum PointerKind {
SharedMutable,
Frozen,
UniqueBorrowed,
UniqueBorrowedPinned,
UniqueOwned,
}
Variants
SharedMutable
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
sourceimpl Clone for PointerKind
impl Clone for PointerKind
sourcefn clone(&self) -> PointerKind
fn clone(&self) -> PointerKind
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moresourceimpl Debug for PointerKind
impl Debug for PointerKind
sourceimpl PartialEq<PointerKind> for PointerKind
impl PartialEq<PointerKind> for PointerKind
sourcefn 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
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
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