pub trait SelectorComponent<'a>: Sized {
type Wildcard: Peek<'a> + Build<'a>;
type Id: Peek<'a> + Build<'a>;
type Type: Peek<'a> + Build<'a>;
type PseudoClass: Parse<'a>;
type PseudoElement: Parse<'a>;
type LegacyPseudoElement: Peek<'a> + Parse<'a>;
type Class: Parse<'a>;
type NsType: Parse<'a>;
type Combinator: Parse<'a>;
type Attribute: Parse<'a>;
type FunctionalPseudoClass: Parse<'a>;
type FunctionalPseudoElement: Parse<'a>;
Show 13 methods
// Required methods
fn build_wildcard(node: Self::Wildcard) -> Self;
fn build_id(node: Self::Id) -> Self;
fn build_class(node: Self::Class) -> Self;
fn build_type(node: Self::Type) -> Self;
fn build_pseudo_class(node: Self::PseudoClass) -> Self;
fn build_pseudo_element(node: Self::PseudoElement) -> Self;
fn build_legacy_pseudo_element(node: Self::LegacyPseudoElement) -> Self;
fn build_ns_type(node: Self::NsType) -> Self;
fn build_combinator(node: Self::Combinator) -> Self;
fn build_attribute(node: Self::Attribute) -> Self;
fn build_functional_pseudo_class(node: Self::FunctionalPseudoClass) -> Self;
fn build_functional_pseudo_element(
node: Self::FunctionalPseudoElement,
) -> Self;
// Provided method
fn parse_selector_component(p: &mut Parser<'a>) -> Result<Self> { ... }
}
Required Associated Types§
type Wildcard: Peek<'a> + Build<'a>
type Id: Peek<'a> + Build<'a>
type Type: Peek<'a> + Build<'a>
type PseudoClass: Parse<'a>
type PseudoElement: Parse<'a>
type LegacyPseudoElement: Peek<'a> + Parse<'a>
type Class: Parse<'a>
type NsType: Parse<'a>
type Combinator: Parse<'a>
type Attribute: Parse<'a>
type FunctionalPseudoClass: Parse<'a>
type FunctionalPseudoElement: Parse<'a>
Required Methods§
fn build_wildcard(node: Self::Wildcard) -> Self
fn build_id(node: Self::Id) -> Self
fn build_class(node: Self::Class) -> Self
fn build_type(node: Self::Type) -> Self
fn build_pseudo_class(node: Self::PseudoClass) -> Self
fn build_pseudo_element(node: Self::PseudoElement) -> Self
fn build_legacy_pseudo_element(node: Self::LegacyPseudoElement) -> Self
fn build_ns_type(node: Self::NsType) -> Self
fn build_combinator(node: Self::Combinator) -> Self
fn build_attribute(node: Self::Attribute) -> Self
fn build_functional_pseudo_class(node: Self::FunctionalPseudoClass) -> Self
fn build_functional_pseudo_element(node: Self::FunctionalPseudoElement) -> Self
Provided Methods§
fn parse_selector_component(p: &mut Parser<'a>) -> Result<Self>
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.