diff options
| author | bors <bors@rust-lang.org> | 2015-05-16 10:53:25 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-05-16 10:53:25 +0000 |
| commit | 8fdb3a4ad902162f3f6809e007a79342c2ce19db (patch) | |
| tree | 2895995ae30f3a719116cdccd89bd336da81419a | |
| parent | 0becf6aec73f90408c8eafb46bf7742389497e5c (diff) | |
| parent | dadac15477f0ad55c742d46fe384e2b71b0bf898 (diff) | |
| download | rust-8fdb3a4ad902162f3f6809e007a79342c2ce19db.tar.gz rust-8fdb3a4ad902162f3f6809e007a79342c2ce19db.zip | |
Auto merge of #25487 - P1start:extern-crate-unexpected-error, r=huonw
Closes #25468.
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 6 | ||||
| -rw-r--r-- | src/test/parse-fail/extern-crate-unexpected-token.rs | 11 | ||||
| -rw-r--r-- | src/test/parse-fail/extern-expected-fn-or-brace.rs | 2 |
3 files changed, 13 insertions, 6 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 165ce7b122b..b3b20f2d0ae 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -5267,11 +5267,7 @@ impl<'a> Parser<'a> { return Ok(Some(try!(self.parse_item_foreign_mod(lo, opt_abi, visibility, attrs)))); } - let span = self.span; - let token_str = self.this_token_to_string(); - return Err(self.span_fatal(span, - &format!("expected `{}` or `fn`, found `{}`", "{", - token_str))) + try!(self.expect_one_of(&[], &[])); } if try!(self.eat_keyword_noexpect(keywords::Virtual) ){ diff --git a/src/test/parse-fail/extern-crate-unexpected-token.rs b/src/test/parse-fail/extern-crate-unexpected-token.rs new file mode 100644 index 00000000000..2518686575e --- /dev/null +++ b/src/test/parse-fail/extern-crate-unexpected-token.rs @@ -0,0 +1,11 @@ +// Copyright 2015 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +extern crte foo; //~ ERROR expected one of `crate`, `fn`, or `{`, found `crte` diff --git a/src/test/parse-fail/extern-expected-fn-or-brace.rs b/src/test/parse-fail/extern-expected-fn-or-brace.rs index 7fb7233dc69..21cca129658 100644 --- a/src/test/parse-fail/extern-expected-fn-or-brace.rs +++ b/src/test/parse-fail/extern-expected-fn-or-brace.rs @@ -13,4 +13,4 @@ // Verifies that the expected token errors for `extern crate` are // raised -extern "C" mod foo; //~ERROR expected `{` or `fn`, found `mod` +extern "C" mod foo; //~ERROR expected one of `fn` or `{`, found `mod` |
