struct KeywordPerm;Trait Implementations§
Source§impl<'db> Parse<'db> for KeywordPerm
impl<'db> Parse<'db> for KeywordPerm
type Output = AstPerm<'db>
Source§fn opt_parse(
db: &'db dyn Db,
tokens: &mut Parser<'_, 'db>,
) -> Result<Option<AstPerm<'db>>, ParseFail<'db>>
fn opt_parse( db: &'db dyn Db, tokens: &mut Parser<'_, 'db>, ) -> Result<Option<AstPerm<'db>>, ParseFail<'db>>
Parse a single instance of
Self, returning Ok(Some(v)).
Returns Ok(None) if Self was not present or Err(err)
if Self appeared to be present but was ill-formed. Read morefn expected() -> Expected
Source§fn can_eat(db: &'db dyn Db, parser: &Parser<'_, 'db>) -> bool
fn can_eat(db: &'db dyn Db, parser: &Parser<'_, 'db>) -> bool
Speculatively parses to see if we could eat a
Self
without any error. Never consumes tokens nor produces an error.Source§fn eat(
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
) -> Result<Self::Output, ParseFail<'db>>
fn eat( db: &'db dyn Db, parser: &mut Parser<'_, 'db>, ) -> Result<Self::Output, ParseFail<'db>>
Parses an instance of
Self from the given Parser, reporting an error if no instance is found.Source§fn eat_comma(
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
) -> Result<SpanVec<'db, Self::Output>, ParseFail<'db>>
fn eat_comma( db: &'db dyn Db, parser: &mut Parser<'_, 'db>, ) -> Result<SpanVec<'db, Self::Output>, ParseFail<'db>>
Parse zero-or-more comma-separated instances of
Self returning a vector.
Accepts trailing commas.Source§fn eat_many(
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
) -> Result<SpanVec<'db, Self::Output>, ParseFail<'db>>
fn eat_many( db: &'db dyn Db, parser: &mut Parser<'_, 'db>, ) -> Result<SpanVec<'db, Self::Output>, ParseFail<'db>>
Parse zero-or-more instances of
Self returning a vector.Source§fn eat_delimited<T>(
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
delimiter: Delimiter,
eat_method: impl FnOnce(&'db dyn Db, &mut Parser<'_, 'db>) -> Result<T, ParseFail<'db>>,
) -> Result<T, ParseFail<'db>>
fn eat_delimited<T>( db: &'db dyn Db, parser: &mut Parser<'_, 'db>, delimiter: Delimiter, eat_method: impl FnOnce(&'db dyn Db, &mut Parser<'_, 'db>) -> Result<T, ParseFail<'db>>, ) -> Result<T, ParseFail<'db>>
Eat a comma separated list of Self, delimited by
delimiter
(e.g., (a, b, c)).Source§fn opt_parse_delimited<T>(
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
delimiter: Delimiter,
eat_method: impl FnOnce(&'db dyn Db, &mut Parser<'_, 'db>) -> Result<T, ParseFail<'db>>,
) -> Result<Option<T>, ParseFail<'db>>
fn opt_parse_delimited<T>( db: &'db dyn Db, parser: &mut Parser<'_, 'db>, delimiter: Delimiter, eat_method: impl FnOnce(&'db dyn Db, &mut Parser<'_, 'db>) -> Result<T, ParseFail<'db>>, ) -> Result<Option<T>, ParseFail<'db>>
Parse a delimited list of Self
e.g.,
(a, b, c) or [a, b, c]. Returns None if
the given delimiters indicated by delimiter are not found.Source§fn opt_parse_comma(
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
) -> Result<Option<SpanVec<'db, Self::Output>>, ParseFail<'db>>
fn opt_parse_comma( db: &'db dyn Db, parser: &mut Parser<'_, 'db>, ) -> Result<Option<SpanVec<'db, Self::Output>>, ParseFail<'db>>
Parse a comma separated list of Self
Source§fn opt_parse_separated(
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
separator: Op,
) -> Result<Option<SpanVec<'db, Self::Output>>, ParseFail<'db>>
fn opt_parse_separated( db: &'db dyn Db, parser: &mut Parser<'_, 'db>, separator: Op, ) -> Result<Option<SpanVec<'db, Self::Output>>, ParseFail<'db>>
Parse a
separator separated list of SelfSource§fn opt_parse_guarded(
guard_op: impl ParseGuard,
db: &'db dyn Db,
parser: &mut Parser<'_, 'db>,
) -> Result<Option<Self::Output>, ParseFail<'db>>
fn opt_parse_guarded( guard_op: impl ParseGuard, db: &'db dyn Db, parser: &mut Parser<'_, 'db>, ) -> Result<Option<Self::Output>, ParseFail<'db>>
If
guard_op appears, then parse SelfAuto Trait Implementations§
impl Freeze for KeywordPerm
impl RefUnwindSafe for KeywordPerm
impl Send for KeywordPerm
impl Sync for KeywordPerm
impl Unpin for KeywordPerm
impl UnsafeUnpin for KeywordPerm
impl UnwindSafe for KeywordPerm
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more