pub struct ImplAssocItem {
pub name: Option<Symbol>,
pub decl_def_id: DefId,
pub required_impl_exprs: Vec<ImplExpr>,
pub value: ImplAssocItemValue,
}Expand description
An associated item in a trait impl. This can be an item provided by the trait impl, or an item that reuses the trait decl default value.
Fields§
§name: Option<Symbol>This is None for RPTITs.
decl_def_id: DefIdThe definition of the item from the trait declaration. This is an AssocTy, AssocFn or
AssocConst.
required_impl_exprs: Vec<ImplExpr>The ImplExprs required to satisfy the predicates on the associated type. E.g.:
ⓘ
trait Foo {
type Type<T>: Clone,
}
impl Foo for () {
type Type<T>: Arc<T>; // would supply an `ImplExpr` for `Arc<T>: Clone`.
}Empty if this item is an associated const or fn.
value: ImplAssocItemValueThe value of the implemented item.
Implementations§
Trait Implementations§
Source§impl Clone for ImplAssocItem
impl Clone for ImplAssocItem
Source§fn clone(&self) -> ImplAssocItem
fn clone(&self) -> ImplAssocItem
Returns a duplicate of the value. Read more
1.0.0 · 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 Freeze for ImplAssocItem
impl RefUnwindSafe for ImplAssocItem
impl Send for ImplAssocItem
impl Sync for ImplAssocItem
impl Unpin for ImplAssocItem
impl UnwindSafe for ImplAssocItem
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,
§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more