Trait selectors::parser::SelectorImpl [−][src]
pub trait SelectorImpl: Clone + Debug + Sized + 'static { type ExtraMatchingData: Sized + Default + 'static; type AttrValue: Clone + Eq + for<'a> From<&'a str> + Display; type Identifier: Clone + Eq + for<'a> From<&'a str> + Display; type ClassName: Clone + Eq + for<'a> From<&'a str> + Display; type LocalName: Clone + Eq + for<'a> From<&'a str> + Display + Borrow<Self::BorrowedLocalName>; type NamespaceUrl: Clone + Eq + Default + Borrow<Self::BorrowedNamespaceUrl>; type NamespacePrefix: Clone + Eq + for<'a> From<&'a str> + Display + Default; type BorrowedNamespaceUrl: ?Sized + Eq; type BorrowedLocalName: ?Sized + Eq; type NonTSPseudoClass: Clone + Eq + NonTSPseudoClass<Impl = Self>; type PseudoElement: Clone + Eq + PseudoElement<Impl = Self>; }
This trait allows to define the parser implementation in regards of pseudo-classes/elements
NB: We need Clone so that we can derive(Clone) on struct with that are parameterized on SelectorImpl. See https://github.com/rust-lang/rust/issues/26925
Associated Types
type ExtraMatchingData: Sized + Default + 'static
type AttrValue: Clone + Eq + for<'a> From<&'a str> + Display
type Identifier: Clone + Eq + for<'a> From<&'a str> + Display
type ClassName: Clone + Eq + for<'a> From<&'a str> + Display
type LocalName: Clone + Eq + for<'a> From<&'a str> + Display + Borrow<Self::BorrowedLocalName>
type NamespaceUrl: Clone + Eq + Default + Borrow<Self::BorrowedNamespaceUrl>
type NamespacePrefix: Clone + Eq + for<'a> From<&'a str> + Display + Default
type BorrowedNamespaceUrl: ?Sized + Eq
type BorrowedLocalName: ?Sized + Eq
type NonTSPseudoClass: Clone + Eq + NonTSPseudoClass<Impl = Self>
non tree-structural pseudo-classes (see: https://drafts.csswg.org/selectors/#structural-pseudos)
type PseudoElement: Clone + Eq + PseudoElement<Impl = Self>
pseudo-elements