mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-22 14:55:26 +00:00
Avoid checking the edition as much as possible
Inside #123865, we are adding support for the new semantics for expr2024, but we have noted a performance issue. We realized there is a redundant check for each token regarding an edition. This commit moves the edition check to the end, avoiding some extra checks that can slow down compilation time. Link: https://github.com/rust-lang/rust/pull/123865 Co-Developed-by: @eholk Signed-off-by: Vincenzo Palazzo <vincenzopalazzodev@gmail.com>
This commit is contained in:
parent
06d99cd694
commit
36d5fc9a64
@ -47,7 +47,7 @@ impl<'a> Parser<'a> {
|
|||||||
token.can_begin_expr()
|
token.can_begin_expr()
|
||||||
// This exception is here for backwards compatibility.
|
// This exception is here for backwards compatibility.
|
||||||
&& !token.is_keyword(kw::Let)
|
&& !token.is_keyword(kw::Let)
|
||||||
&& (token.span.edition().at_least_rust_2024() || !token.is_keyword(kw::Const))
|
&& (!token.is_keyword(kw::Const) || token.span.edition().at_least_rust_2024())
|
||||||
}
|
}
|
||||||
NonterminalKind::Ty => token.can_begin_type(),
|
NonterminalKind::Ty => token.can_begin_type(),
|
||||||
NonterminalKind::Ident => get_macro_ident(token).is_some(),
|
NonterminalKind::Ident => get_macro_ident(token).is_some(),
|
||||||
|
Loading…
Reference in New Issue
Block a user