pub struct CompileLedger { /* private fields */ }Expand description
The compile accounting of one program tree: how many programs have
been built for it, on any engine, over its lifetime. A root compile
mints a ledger, and every program built on the tree’s behalf
records into the same one: each for body, each engine variant of
a body, and each constant expression a traversal source or
predicate compiles at open. A host reads it before and after an
operation to verify the program-invariance property (SRD 113 §5.1):
compiling builds one program per body, and activation builds none.
Two trees never share a ledger, whatever thread or process runs
them; two kernels over one program do. A compile charged to a
ledger a host already holds is requested through
CompileOptions::ledger.
Implementations§
Trait Implementations§
Source§impl Debug for CompileLedger
impl Debug for CompileLedger
Source§impl Default for CompileLedger
impl Default for CompileLedger
Source§fn default() -> CompileLedger
fn default() -> CompileLedger
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl !Freeze for CompileLedger
impl RefUnwindSafe for CompileLedger
impl Send for CompileLedger
impl Sync for CompileLedger
impl Unpin for CompileLedger
impl UnsafeUnpin for CompileLedger
impl UnwindSafe for CompileLedger
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more