Enum stable_mir::mir::body::BorrowKind
source · pub enum BorrowKind {
Shared,
Fake(FakeBorrowKind),
Mut {
kind: MutBorrowKind,
},
}
Variants§
Data must be immutable and is aliasable.
Fake(FakeBorrowKind)
An immutable, aliasable borrow that is discarded after borrow-checking. Can behave either
like a normal shared borrow or like a special shallow borrow (see FakeBorrowKind
).
Mut
Data is mutable and not aliasable.
Fields
§
kind: MutBorrowKind
true
if this borrow arose from method-call auto-ref
Implementations§
source§impl BorrowKind
impl BorrowKind
pub fn to_mutable_lossy(self) -> Mutability
Trait Implementations§
source§impl Clone for BorrowKind
impl Clone for BorrowKind
source§fn clone(&self) -> BorrowKind
fn clone(&self) -> BorrowKind
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 BorrowKind
impl Debug for BorrowKind
source§impl PartialEq for BorrowKind
impl PartialEq for BorrowKind
source§impl Serialize for BorrowKind
impl Serialize for BorrowKind
impl Copy for BorrowKind
impl Eq for BorrowKind
impl StructuralPartialEq for BorrowKind
Auto Trait Implementations§
impl Freeze for BorrowKind
impl RefUnwindSafe for BorrowKind
impl Send for BorrowKind
impl Sync for BorrowKind
impl Unpin for BorrowKind
impl UnwindSafe for BorrowKind
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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: 2 bytes
Size for each variant:
Shared
: 0 bytesFake
: 1 byteMut
: 1 byte