pub struct ApplicationPermit<'turn, 'd> { /* private fields */ }Expand description
One non-duplicable application transition admitted by a driver turn.
The permit is created only by spending one unit from the turn ledger. Its invariant driver brand lets a driver-owned consumer require the same branded lifetime instead of relying on a runtime owner comparison.
A permit cannot be duplicated:
ⓘ
use dope_core::driver::schedule::ApplicationPermit;
fn duplicate<'turn, 'd>(permit: ApplicationPermit<'turn, 'd>) {
let moved = permit;
drop(permit);
drop(moved);
}Auto Trait Implementations§
impl<'turn, 'd> !UnwindSafe for ApplicationPermit<'turn, 'd>
impl<'turn, 'd> Freeze for ApplicationPermit<'turn, 'd>
impl<'turn, 'd> RefUnwindSafe for ApplicationPermit<'turn, 'd>
impl<'turn, 'd> Send for ApplicationPermit<'turn, 'd>
impl<'turn, 'd> Sync for ApplicationPermit<'turn, 'd>
impl<'turn, 'd> Unpin for ApplicationPermit<'turn, 'd>
impl<'turn, 'd> UnsafeUnpin for ApplicationPermit<'turn, 'd>
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