Skip to main content

Produced

Struct Produced 

Source
pub struct Produced<T> { /* private fields */ }
Expand description

A produced value with its existing controlled lease, or an explicit ordinary result. There is no mutable dereference or generic map operation that could replace it with newly allocated, unadmitted payloads.

Implementations§

Source§

impl<T> Produced<T>

Source

pub fn reserved_bytes(&self) -> usize

Source

pub fn into_parts(self) -> (T, Option<MemoryReservation>)

Transfer the explicit value/lease pair to its next allocation owner. The caller must retain the lease until those allocations are freed or handed off under a documented legacy API boundary.

Source

pub fn into_uncontrolled(self) -> Result<T, Self>

Extract an ordinary result. A controlled result is returned unchanged instead of silently releasing its lease.

Source

pub fn into_budgeted(self) -> Result<Budgeted<T>, Self>

Preserve a controlled result in the existing budgeted carrier. An ordinary result is returned unchanged instead of being retroactively charged.

Source§

impl<T: Copy> Produced<Vec<T>>

Source

pub fn as_mut_slice(&mut self) -> &mut [T]

Mutate fixed-length scratch slots without changing capacity or introducing owned payloads. The Copy bound excludes allocation-owning values and the slice cannot grow the admitted container.

Trait Implementations§

Source§

impl<T: Debug> Debug for Produced<T>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<T> Deref for Produced<T>

Source§

type Target = T

The resulting type after dereferencing.
Source§

fn deref(&self) -> &T

Dereferences the value.
Source§

impl<T> From<Budgeted<T>> for Produced<T>

Source§

fn from(value: Budgeted<T>) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

§

impl<T> Freeze for Produced<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for Produced<T>
where T: RefUnwindSafe,

§

impl<T> Send for Produced<T>
where T: Send,

§

impl<T> Sync for Produced<T>
where T: Sync,

§

impl<T> Unpin for Produced<T>
where T: Unpin,

§

impl<T> UnsafeUnpin for Produced<T>
where T: UnsafeUnpin,

§

impl<T> UnwindSafe for Produced<T>
where T: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<P, T> Receiver for P
where P: Deref<Target = T> + ?Sized, T: ?Sized,

Source§

type Target = T

🔬This is a nightly-only experimental API. (arbitrary_self_types)
The target type on which the method may be called.
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.