Skip to content

Commit 79f2cff

Browse files
dsprenkelsManishearth
authored andcommitted
libsyntax: move check for keyword Let to a more logical spot
1 parent 082c03b commit 79f2cff

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

src/libsyntax/parse/parser.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2134,6 +2134,12 @@ impl<'a> Parser<'a> {
21342134
}
21352135
hi = self.last_span.hi;
21362136
}
2137+
_ if self.token.is_keyword(keywords::Let) => {
2138+
// Catch this syntax error here, instead of in `check_strict_keywords`, so that
2139+
// we can explicitly mention that let is not to be used as an expression
2140+
let msg = "`let` is not an expression, so it cannot be used in this way";
2141+
return Err(self.diagnostic().struct_span_err(self.span, &msg));
2142+
},
21372143
_ => {
21382144
if self.eat_lt() {
21392145
let (qself, path) =
@@ -2199,12 +2205,6 @@ impl<'a> Parser<'a> {
21992205
UnsafeBlock(ast::UserProvided),
22002206
attrs);
22012207
}
2202-
if self.eat_keyword(keywords::Let) {
2203-
return Err(self.span_fatal(self.span,
2204-
"`let` is not an expression, so it cannot \
2205-
be used in this way"))
2206-
2207-
}
22082208
if self.eat_keyword(keywords::Return) {
22092209
if self.token.can_begin_expr() {
22102210
let e = try!(self.parse_expr());

0 commit comments

Comments
 (0)