mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-02 07:22:42 +00:00
Cleanup macro matching recovery
The retry has been implemented already.
This commit is contained in:
parent
62c627c7a3
commit
825b8db34a
@ -495,7 +495,6 @@ fn try_match_macro<'matcher, T: Tracker<'matcher>>(
|
|||||||
// hacky, but speeds up the `html5ever` benchmark significantly. (Issue
|
// hacky, but speeds up the `html5ever` benchmark significantly. (Issue
|
||||||
// 68836 suggests a more comprehensive but more complex change to deal with
|
// 68836 suggests a more comprehensive but more complex change to deal with
|
||||||
// this situation.)
|
// this situation.)
|
||||||
// FIXME(Nilstrieb): Stop recovery from happening on this parser and retry later with recovery if the macro failed to match.
|
|
||||||
let parser = parser_from_cx(sess, arg.clone(), T::recovery());
|
let parser = parser_from_cx(sess, arg.clone(), T::recovery());
|
||||||
// Try each arm's matchers.
|
// Try each arm's matchers.
|
||||||
let mut tt_parser = TtParser::new(name);
|
let mut tt_parser = TtParser::new(name);
|
||||||
|
@ -2078,12 +2078,7 @@ impl<'a> Parser<'a> {
|
|||||||
|
|
||||||
if self.token.kind == TokenKind::Semi
|
if self.token.kind == TokenKind::Semi
|
||||||
&& matches!(self.token_cursor.frame.delim_sp, Some((Delimiter::Parenthesis, _)))
|
&& matches!(self.token_cursor.frame.delim_sp, Some((Delimiter::Parenthesis, _)))
|
||||||
// HACK: This is needed so we can detect whether we're inside a macro,
|
|
||||||
// where regular assumptions about what tokens can follow other tokens
|
|
||||||
// don't necessarily apply.
|
|
||||||
&& self.may_recover()
|
&& self.may_recover()
|
||||||
// FIXME(Nilstrieb): Remove this check once `may_recover` actually stops recovery
|
|
||||||
&& self.subparser_name.is_none()
|
|
||||||
{
|
{
|
||||||
// It is likely that the closure body is a block but where the
|
// It is likely that the closure body is a block but where the
|
||||||
// braces have been removed. We will recover and eat the next
|
// braces have been removed. We will recover and eat the next
|
||||||
|
Loading…
Reference in New Issue
Block a user