Auto merge of #25487 - P1start:extern-crate-unexpected-error, r=huonw

Closes #25468.
This commit is contained in:
bors 2015-05-16 10:53:25 +00:00
commit 8fdb3a4ad9
3 changed files with 13 additions and 6 deletions

View File

@ -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) ){

View File

@ -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`

View File

@ -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`