pub type AssocItem = Item<AssocItemKind>;
Expand description
Represents associated items.
These include items in impl
and trait
definitions.
Aliased Type§
struct AssocItem {
pub attrs: ThinVec<Attribute>,
pub id: NodeId,
pub span: Span,
pub vis: Visibility,
pub ident: Ident,
pub kind: AssocItemKind,
pub tokens: Option<LazyAttrTokenStream>,
}
Fields§
§attrs: ThinVec<Attribute>
§id: NodeId
§span: Span
§vis: Visibility
§ident: Ident
The name of the item. It might be a dummy name in case of anonymous items.
kind: AssocItemKind
§tokens: Option<LazyAttrTokenStream>
Original tokens this item was parsed from. This isn’t necessarily
available for all items, although over time more and more items should
have this be Some
. Right now this is primarily used for procedural
macros, notably custom attributes.
Note that the tokens here do not include the outer attributes, but will include inner attributes.
Trait Implementations§
source§impl HasAttrs for AssocItem
impl HasAttrs for AssocItem
source§const SUPPORTS_CUSTOM_INNER_ATTRS: bool = true
const SUPPORTS_CUSTOM_INNER_ATTRS: bool = true
true
if this HasAttrs
might support ‘custom’ (proc-macro) inner
attributes. Attributes like #![cfg]
and #![cfg_attr]
are not
considered ‘custom’ attributes. Read morefn attrs(&self) -> &[Attribute]
fn visit_attrs(&mut self, f: impl FnOnce(&mut AttrVec))
source§impl HasTokens for AssocItem
impl HasTokens for AssocItem
fn tokens(&self) -> Option<&LazyAttrTokenStream>
fn tokens_mut(&mut self) -> Option<&mut Option<LazyAttrTokenStream>>
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...)
attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 88 bytes