Skip to main content

ParseErrorKind

Enum ParseErrorKind 

Source
#[non_exhaustive]
pub enum ParseErrorKind { EmptySelector, DanglingCombinator, EndOfInput, InvalidPosition, UnexpectedToken(String), ExpectedName(String), UnsupportedPseudo(String), InvalidAttributeSelector(String), Other(String), }
Expand description

What is wrong with a selector that is not valid CSS.

This is a translation of the selectors/cssparser error kinds into wording of this crate’s own, not a re-export of them: their variants are internal to those crates and several are unreachable from a selector parse. Anything with no closer match — including a variant a future version of either crate adds — becomes ParseErrorKind::Other, so a dependency bump cannot turn into a panic.

Payloads that echo the selector (a token, a pseudo-class name) are sanitized: control characters are replaced, and the text is elided past 40 bytes (MAX_TOKEN_ECHO), so a message stays printable however long the selector is.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

EmptySelector

The selector, or one group of a selector list, has nothing in it.

§

DanglingCombinator

A combinator with nothing after it, as in div > .

§

EndOfInput

The selector ends in the middle of a construct.

§

InvalidPosition

A construct in a position that does not allow it: a pseudo-element inside :is(), a combinator after one, a :has() nested in another :has().

§

UnexpectedToken(String)

A token that cannot appear where it does, as CSS source text.

§

ExpectedName(String)

A name was required — after . or :: — and something else was found. Holds the offending token as CSS source text.

§

UnsupportedPseudo(String)

A pseudo-class or pseudo-element outside the supported set (which is every pseudo-element: XPath 1.0 has no notion of one). Holds the name, without its leading colons.

§

InvalidAttributeSelector(String)

Something that cannot appear inside [...], as CSS source text: a malformed attribute name, operator, or value.

§

Other(String)

A parse failure with no more specific kind here, already worded as a phrase to be printed after “…selector x: “.

Trait Implementations§

Source§

impl Clone for ParseErrorKind

Source§

fn clone(&self) -> ParseErrorKind

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ParseErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for ParseErrorKind

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for ParseErrorKind

Source§

impl PartialEq for ParseErrorKind

Source§

fn eq(&self, other: &ParseErrorKind) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ParseErrorKind

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.