Skip to content

Commit 91967a8

Browse files
committed
Put try in the reserved list, not the in-use list
1 parent ef19886 commit 91967a8

File tree

4 files changed

+8
-15
lines changed

4 files changed

+8
-15
lines changed

src/libsyntax_pos/symbol.rs

+5-12
Original file line numberDiff line numberDiff line change
@@ -413,11 +413,9 @@ declare_keywords! {
413413
(49, Virtual, "virtual")
414414
(50, Yield, "yield")
415415

416-
// Edition-specific keywords currently in use.
417-
(51, Try, "try") // >= 2018 Edition Only
418-
419416
// Edition-specific keywords reserved for future use.
420-
(52, Async, "async") // >= 2018 Edition Only
417+
(51, Async, "async") // >= 2018 Edition Only
418+
(52, Try, "try") // >= 2018 Edition Only
421419

422420
// Special lifetime names
423421
(53, UnderscoreLifetime, "'_")
@@ -433,12 +431,9 @@ declare_keywords! {
433431
}
434432

435433
impl Symbol {
436-
fn is_used_keyword_2018(self) -> bool {
437-
self == keywords::Try.name()
438-
}
439-
440434
fn is_unused_keyword_2018(self) -> bool {
441-
self == keywords::Async.name()
435+
self >= keywords::Async.name() &&
436+
self <= keywords::Try.name()
442437
}
443438
}
444439

@@ -451,9 +446,7 @@ impl Ident {
451446

452447
/// Returns `true` if the token is a keyword used in the language.
453448
pub fn is_used_keyword(self) -> bool {
454-
// Note: `span.edition()` is relatively expensive, don't call it unless necessary.
455-
self.name >= keywords::As.name() && self.name <= keywords::While.name() ||
456-
self.name.is_used_keyword_2018() && self.span.edition() == Edition::Edition2018
449+
self.name >= keywords::As.name() && self.name <= keywords::While.name()
457450
}
458451

459452
/// Returns `true` if the token is a keyword reserved for possible future use.

src/test/compile-fail/try-block-in-match.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
#![feature(catch_expr)]
1414

1515
fn main() {
16-
match try { false } { _ => {} } //~ ERROR expected expression, found keyword `try`
16+
match try { false } { _ => {} } //~ ERROR expected expression, found reserved keyword `try`
1717
}

src/test/compile-fail/try-block-in-while.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,5 +13,5 @@
1313
#![feature(catch_expr)]
1414

1515
fn main() {
16-
while try { false } {} //~ ERROR expected expression, found keyword `try`
16+
while try { false } {} //~ ERROR expected expression, found reserved keyword `try`
1717
}

src/test/parse-fail/keyword-try-as-identifier-edition2018.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
// compile-flags: -Z parse-only --edition 2018
1212

1313
fn main() {
14-
let try = "foo"; //~ error: expected pattern, found keyword `try`
14+
let try = "foo"; //~ error: expected pattern, found reserved keyword `try`
1515
}

0 commit comments

Comments
 (0)