pub trait Parse: Sized {
// Required method
fn parse<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>,
) -> Result<Self, ParseError<'i>>;
}Expand description
A trait to abstract parsing of a specified value given a ParserContext and
CSS input.
This can be derived on keywords with #[derive(Parse)].
The derive code understands the following attributes on each of the variants:
-
#[parse(aliases = "foo,bar")]can be used to alias a value with another at parse-time. -
#[parse(condition = "function")]can be used to make the parsing of the value conditional onfunction, which needs to fulfillfn(&ParserContext) -> bool. -
#[parse(parse_fn = "function")]can be used to specify a function other than Parser::parse for a particular variant.
Required Methods§
Sourcefn parse<'i, 't>(
context: &ParserContext<'_>,
input: &mut Parser<'i, 't>,
) -> Result<Self, ParseError<'i>>
fn parse<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, ) -> Result<Self, ParseError<'i>>
Parse a value of this type.
Returns an error on failure.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".
Implementations on Foreign Types§
Source§impl Parse for UnicodeRange
impl Parse for UnicodeRange
fn parse<'i, 't>( _: &ParserContext<'_>, input: &mut Parser<'i, 't>, ) -> Result<Self, ParseError<'i>>
Source§impl<T> Parse for Box<T>where
T: Parse,
impl<T> Parse for Box<T>where
T: Parse,
fn parse<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, ) -> Result<Self, ParseError<'i>>
Source§impl<T> Parse for Vec<T>
impl<T> Parse for Vec<T>
fn parse<'i, 't>( context: &ParserContext<'_>, input: &mut Parser<'i, 't>, ) -> Result<Self, ParseError<'i>>
Implementors§
impl Parse for AbsoluteFontWeight
impl Parse for AdditiveSymbols
impl Parse for AdditiveTuple
impl Parse for AlignmentBaseline
impl Parse for AnchorFunction
impl Parse for AnchorNameIdent
impl Parse for AnchorSideKeyword
impl Parse for AnchorSizeKeyword
impl Parse for Angle
impl Parse for AngleOrPercentage
impl Parse for AnimationComposition
impl Parse for AnimationDirection
impl Parse for AnimationDuration
impl Parse for AnimationFillMode
impl Parse for AnimationIterationCount
impl Parse for AnimationName
impl Parse for AnimationPlayState
impl Parse for AnimationRangeEnd
impl Parse for AnimationRangeStart
impl Parse for AnimationTimeline
impl Parse for Appearance
impl Parse for ArcSize
impl Parse for ArcSweep
impl Parse for AspectRatio
impl Parse for AtomString
impl Parse for Attr
impl Parse for AxisPositionKeyword
impl Parse for BackgroundRepeat
impl Parse for BackgroundRepeatKeyword
impl Parse for BackgroundSize
impl Parse for BaselineShift
impl Parse for BaselineShiftKeyword
impl Parse for BaselineSource
impl Parse for BoolInteger
impl Parse for BoolValue
impl Parse for BorderCornerRadius
impl Parse for BorderImageRepeat
impl Parse for BorderImageRepeatKeyword
impl Parse for BorderImageSlice
impl Parse for BorderRadius
impl Parse for BorderSideOffset
impl Parse for BorderSideWidth
impl Parse for BorderSpacing
impl Parse for BorderStyle
impl Parse for BoxShadow
impl Parse for BreakBetween
impl Parse for BreakWithin
impl Parse for CaptionSide
impl Parse for CaretColor
impl Parse for ChannelKeyword
impl Parse for Circle
impl Parse for Clear
impl Parse for ClipPath
impl Parse for ClipRect
impl Parse for Color
impl Parse for ColorInterpolationMethod
impl Parse for ColorPropertyValue
impl Parse for ColorScheme
impl Parse for ColorSpace
impl Parse for CommandEndPoint<Position, LengthPercentage>
impl Parse for Contain
impl Parse for ContainIntrinsicSize
impl Parse for ContainerName
impl Parse for ContainerType
impl Parse for Content
impl Parse for ContentVisibility
impl Parse for ControlReference
impl Parse for CoordBox
impl Parse for CoordinatePair<LengthPercentage>
impl Parse for CounterIncrement
impl Parse for CounterRanges
impl Parse for CounterReset
impl Parse for CounterSet
impl Parse for CssUrl
impl Parse for Cursor
impl Parse for CursorImage
impl Parse for CursorKind
impl Parse for DProperty
impl Parse for DashedIdent
impl Parse for DashedIdentAndOrTryTactic
impl Parse for Descriptor
impl Parse for style::properties::generated::font_face::DescriptorId
impl Parse for style::properties::generated::counter_style::DescriptorId
impl Parse for style::properties::generated::property::DescriptorId
impl Parse for style::properties::generated::view_transition::DescriptorId
impl Parse for Display
impl Parse for DominantBaseline
impl Parse for Ellipse
impl Parse for Fallback
impl Parse for FamilyName
FamilyName::parse is based on SingleFontFamily::parse and not the other
way around because we want the former to exclude generic family keywords.