pub struct AcquireOwned<Lock: RawMutex = Spinlock> { /* private fields */ }Available on crate feature
alloc only.Expand description
Future returned from Semaphore::acquire_owned().
This is identical to the Acquire future, except that it takes an
Arc reference to the Semaphore, allowing the returned future to
live for the 'static lifetime, and returns an OwnedPermit (rather
than a Permit), which is also valid for the 'static lifetime.
§Notes
This future is !Unpin, as it is unsafe to core::mem::forget an
AcquireOwned future once it has been polled. For instance, the
following code must not compile:
ⓘ
use maitake_sync::semaphore::AcquireOwned;
// Calls to this function should only compile if `T` is `Unpin`.
fn assert_unpin<T: Unpin>() {}
assert_unpin::<AcquireOwned<'_>>();Trait Implementations§
Source§impl<Lock: RawMutex> Drop for AcquireOwned<Lock>
impl<Lock: RawMutex> Drop for AcquireOwned<Lock>
Source§impl<Lock: RawMutex> Future for AcquireOwned<Lock>
impl<Lock: RawMutex> Future for AcquireOwned<Lock>
impl<Lock: RawMutex> Sync for AcquireOwned<Lock>
impl<'pin, Lock: RawMutex> Unpin for AcquireOwned<Lock>where
PinnedFieldsOf<__AcquireOwned<'pin, Lock>>: Unpin,
Auto Trait Implementations§
impl<Lock = Spinlock> !Freeze for AcquireOwned<Lock>
impl<Lock = Spinlock> !RefUnwindSafe for AcquireOwned<Lock>
impl<Lock> Send for AcquireOwned<Lock>
impl<Lock = Spinlock> !UnwindSafe for AcquireOwned<Lock>
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> 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<F> IntoFuture for Fwhere
F: Future,
impl<F> IntoFuture for Fwhere
F: Future,
Source§type IntoFuture = F
type IntoFuture = F
Which kind of future are we turning this into?
Source§fn into_future(self) -> <F as IntoFuture>::IntoFuture
fn into_future(self) -> <F as IntoFuture>::IntoFuture
Creates a future from a value. Read more