Enum rustc_borrowck::ReadOrWrite
source · pub(crate) enum ReadOrWrite {
Read(ReadKind),
Write(WriteKind),
Reservation(WriteKind),
Activation(WriteKind, BorrowIndex),
}
Expand description
Kind of access to a value: read or write (For informational purposes only)
Variants
Read(ReadKind)
From the RFC: “A read means that the existing data may be read, but will not be changed.”
Write(WriteKind)
From the RFC: “A write means that the data may be mutated to new values or otherwise invalidated (for example, it could be de-initialized, as in a move operation).
Reservation(WriteKind)
For two-phase borrows, we distinguish a reservation (which is treated like a Read) from an activation (which is treated like a write), and each of those is furthermore distinguished from Reads/Writes above.
Activation(WriteKind, BorrowIndex)
Trait Implementations
sourceimpl Clone for ReadOrWrite
impl Clone for ReadOrWrite
sourcefn clone(&self) -> ReadOrWrite
fn clone(&self) -> ReadOrWrite
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresourceimpl Debug for ReadOrWrite
impl Debug for ReadOrWrite
sourceimpl PartialEq<ReadOrWrite> for ReadOrWrite
impl PartialEq<ReadOrWrite> for ReadOrWrite
sourcefn eq(&self, other: &ReadOrWrite) -> bool
fn eq(&self, other: &ReadOrWrite) -> bool
impl Copy for ReadOrWrite
impl Eq for ReadOrWrite
impl StructuralEq for ReadOrWrite
impl StructuralPartialEq for ReadOrWrite
Auto Trait Implementations
impl RefUnwindSafe for ReadOrWrite
impl Send for ReadOrWrite
impl Sync for ReadOrWrite
impl Unpin for ReadOrWrite
impl UnwindSafe for ReadOrWrite
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
impl<'a, T> Captures<'a> for Twhere
T: ?Sized,
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: 8 bytes
Size for each variant:
Read
: 1 byteWrite
: 1 byteReservation
: 1 byteActivation
: 7 bytes