pub(super) struct VTimestamp {
time_and_read_type: u32,
pub span: Span,
}
Expand description
The time-stamps recorded in the data-race detector consist of both
a 32-bit unsigned integer which is the actual timestamp, and a Span
so that diagnostics can report what code was responsible for an operation.
Fields§
§time_and_read_type: u32
The lowest bit indicates read type, the rest is the time.
1
indicates a retag read, 0
a regular read.
span: Span
Implementations§
Source§impl VTimestamp
impl VTimestamp
pub const ZERO: VTimestamp
const fn encode_time_and_read_type(time: u32, read_type: NaReadType) -> u32
const fn new(time: u32, read_type: NaReadType, span: Span) -> Self
fn time(&self) -> u32
fn set_time(&mut self, time: u32)
pub(super) fn read_type(&self) -> NaReadType
pub(super) fn set_read_type(&mut self, read_type: NaReadType)
pub(super) fn span_data(&self) -> SpanData
Trait Implementations§
Source§impl Clone for VTimestamp
impl Clone for VTimestamp
Source§fn clone(&self) -> VTimestamp
fn clone(&self) -> VTimestamp
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 VTimestamp
impl Debug for VTimestamp
Source§impl Ord for VTimestamp
impl Ord for VTimestamp
Source§impl PartialEq for VTimestamp
impl PartialEq for VTimestamp
Source§impl PartialOrd for VTimestamp
impl PartialOrd for VTimestamp
impl Copy for VTimestamp
impl Eq for VTimestamp
Auto Trait Implementations§
impl Freeze for VTimestamp
impl RefUnwindSafe for VTimestamp
impl Send for VTimestamp
impl Sync for VTimestamp
impl Unpin for VTimestamp
impl UnwindSafe for VTimestamp
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,
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: 12 bytes