pub struct ExpandDecl {
pub func: Ident,
pub param: Ident,
pub declared_target: Option<TypeKey>,
pub sel: ExpandSel,
}Expand description
A per-fn input expansion (.expand_param(param, expand_param!(T)…)) —
construct param of func from the explicit variant list. Recorded as
an explicit decl so the auto-default skips it; an identity-only list
lowers to the skip-default plain form at resolution. Not related to the
jnigen declaration-DSL type of the same name — this is the lowered core
record.
Fields§
§func: Ident§param: Ident§declared_target: Option<TypeKey>The type the per-fn decl was declared for (expand_param!(T)) —
cross-checked against the named param’s peeled type at resolution.
None for the internal TopLevel form (the type comes from the
param itself).
sel: ExpandSelTrait Implementations§
Source§impl Clone for ExpandDecl
impl Clone for ExpandDecl
Source§fn clone(&self) -> ExpandDecl
fn clone(&self) -> ExpandDecl
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 ExpandDecl
impl !Sync for ExpandDecl
impl Freeze for ExpandDecl
impl RefUnwindSafe for ExpandDecl
impl Unpin for ExpandDecl
impl UnsafeUnpin for ExpandDecl
impl UnwindSafe for ExpandDecl
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