pub trait ElementType:
Copy
+ Eq
+ Hash
+ Send
+ Sync
+ Debug
+ Serialize
+ for<'de> Deserialize<'de> {
type Role: ElementRole;
// Required method
fn role(&self) -> Self::Role;
// Provided methods
fn is_role(&self, role: Self::Role) -> bool { ... }
fn is_universal(&self, role: UniversalElementRole) -> bool { ... }
fn is_root(&self) -> bool { ... }
fn is_error(&self) -> bool { ... }
}Expand description
A trait for types that represent an element’s kind in a syntax tree.
Required Associated Types§
Sourcetype Role: ElementRole
type Role: ElementRole
The associated role type for this element kind.
Required Methods§
Provided Methods§
Sourcefn is_role(&self, role: Self::Role) -> bool
fn is_role(&self, role: Self::Role) -> bool
Returns true if this element matches the specified language-specific role.
Sourcefn is_universal(&self, role: UniversalElementRole) -> bool
fn is_universal(&self, role: UniversalElementRole) -> bool
Returns true if this element matches the specified universal role.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.