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§
source§impl Clone for ReadOrWrite
impl Clone for ReadOrWrite
source§fn clone(&self) -> ReadOrWrite
fn clone(&self) -> ReadOrWrite
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ReadOrWrite
impl Debug for ReadOrWrite
source§impl PartialEq<ReadOrWrite> for ReadOrWrite
impl PartialEq<ReadOrWrite> for ReadOrWrite
source§fn eq(&self, other: &ReadOrWrite) -> bool
fn eq(&self, other: &ReadOrWrite) -> bool
self
and other
values to be equal, and is used
by ==
.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§
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
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