pub trait Parse<T: TokenTreeExt>: Sized + DefaultParser<T, Parser = DefaultParserImpl<T, Self>> {
// Required method
fn parse(buf: &mut &TokenBuf<T>) -> Result<Self, Error<T::Span>>;
// Provided method
fn parse_all(buf: &mut &TokenBuf<T>) -> Result<Self, Error<T::Span>> { ... }
}
Expand description
Parse from a TokenBuf
.
Required Methods§
Provided Methods§
sourcefn parse_all(buf: &mut &TokenBuf<T>) -> Result<Self, Error<T::Span>>
fn parse_all(buf: &mut &TokenBuf<T>) -> Result<Self, Error<T::Span>>
Parse a value from a TokenBuf
buffer, but return an error if there’s any tokens left
in the buffer after parsing.
The referenced &TokenBuf
will be modified to point past the parsed tokens on success.
If parsing succeeds but there are tokens left in the buffer, the buffer will point
to the left over tokens.
Object Safety§
This trait is not object safe.
Implementations on Foreign Types§
source§impl<T: TokenTreeExt, const LENGTH: usize> Parse<T> for [T; LENGTH]
impl<T: TokenTreeExt, const LENGTH: usize> Parse<T> for [T; LENGTH]
source§impl<T: TokenTreeExt, const LENGTH: usize> Parse<T> for Box<[T; LENGTH]>
impl<T: TokenTreeExt, const LENGTH: usize> Parse<T> for Box<[T; LENGTH]>
Implementors§
impl<S: SpanExt> Parse<<S as ProcMacro>::TokenTree> for Op<S>
impl<T: TokenTreeExt> Parse<T> for LiteralValue<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for ByteCharacterLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for ByteStringLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for CStringLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for CharacterLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for F32Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for F64Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for FloatLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for I8Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for I16Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for I32Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for I64Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for I128Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for IntLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for IsizeLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for StringLiteral<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for U8Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for U16Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for U32Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for U64Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for U128Literal<T::Span>
Available on crate feature
literal-value
only.impl<T: TokenTreeExt> Parse<T> for UsizeLiteral<T::Span>
Available on crate feature
literal-value
only.