pub struct OutputDecl {
pub func: Ident,
pub sel: DeconSel,
pub target: DeconTarget,
pub delivery: Delivery,
pub declared_source: Option<TypeKey>,
}Expand description
A per-fn output expansion (.expand_return(expand_return!(T)…)) —
decompose func’s return (or error position) via the record list.
Recorded as an explicit decl so the auto-default skips it; an
identity-only record list lowers to the raw whole-value return at
resolution.
Fields§
§func: Ident§sel: DeconSel§target: DeconTarget§delivery: Delivery§declared_source: Option<TypeKey>The type the per-fn decl was declared for (expand_return!(T)) —
cross-checked against the fn’s peeled return type at resolution.
None for internally-synthesized decls (the type comes from the
return itself).
Trait Implementations§
Source§impl Clone for OutputDecl
impl Clone for OutputDecl
Source§fn clone(&self) -> OutputDecl
fn clone(&self) -> OutputDecl
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreAuto Trait Implementations§
impl !Send for OutputDecl
impl !Sync for OutputDecl
impl Freeze for OutputDecl
impl RefUnwindSafe for OutputDecl
impl Unpin for OutputDecl
impl UnsafeUnpin for OutputDecl
impl UnwindSafe for OutputDecl
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,
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