pub trait ItemTreeNode: Clone {
    type Source: AstIdNode;

    // Required methods
    fn ast_id(&self) -> FileAstId<Self::Source>;
    fn lookup(tree: &ItemTree, index: Idx<Self>) -> &Self;
    fn attr_owner(id: FileItemTreeId<Self>) -> AttrOwner;
}
Expand description

Trait implemented by all nodes in the item tree.

Required Associated Types§

source

type Source: AstIdNode

Required Methods§

source

fn ast_id(&self) -> FileAstId<Self::Source>

source

fn lookup(tree: &ItemTree, index: Idx<Self>) -> &Self

Looks up an instance of Self in an item tree.

source

fn attr_owner(id: FileItemTreeId<Self>) -> AttrOwner

Object Safety§

This trait is not object safe.

Implementors§

source§

impl ItemTreeNode for Const

§

type Source = Const

source§

impl ItemTreeNode for Enum

§

type Source = Enum

source§

impl ItemTreeNode for ExternBlock

§

type Source = ExternBlock

source§

impl ItemTreeNode for ExternCrate

§

type Source = ExternCrate

source§

impl ItemTreeNode for Function

§

type Source = Fn

source§

impl ItemTreeNode for Impl

§

type Source = Impl

source§

impl ItemTreeNode for Macro2

§

type Source = MacroDef

source§

impl ItemTreeNode for MacroCall

§

type Source = MacroCall

source§

impl ItemTreeNode for MacroRules

§

type Source = MacroRules

source§

impl ItemTreeNode for Mod

§

type Source = Module

source§

impl ItemTreeNode for Static

§

type Source = Static

source§

impl ItemTreeNode for Struct

§

type Source = Struct

source§

impl ItemTreeNode for Trait

§

type Source = Trait

source§

impl ItemTreeNode for TraitAlias

§

type Source = TraitAlias

source§

impl ItemTreeNode for TypeAlias

§

type Source = TypeAlias

source§

impl ItemTreeNode for Union

§

type Source = Union

source§

impl ItemTreeNode for Use

§

type Source = Use

source§

impl ItemTreeNode for Variant

§

type Source = Variant