diff options
| author | bors <bors@rust-lang.org> | 2013-05-22 11:43:35 -0700 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2013-05-22 11:43:35 -0700 |
| commit | 4bbbae625d249148ef95b00827f4f3b6859f9071 (patch) | |
| tree | c4fb3090a27f779b7db3302e7563795f44e8f820 /src/libsyntax/parse/parser.rs | |
| parent | 3d82a0a0a7ee65e639fa18119216d09819cd7953 (diff) | |
| parent | 6c33f5044b0d7d0fe1cd0a726e37f3a915dcf8ef (diff) | |
| download | rust-4bbbae625d249148ef95b00827f4f3b6859f9071.tar.gz rust-4bbbae625d249148ef95b00827f4f3b6859f9071.zip | |
auto merge of #6672 : yjh0502/rust/fix_6342, r=graydon
Fix #6342
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 9f11b059a95..4f81194acd7 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -4186,10 +4186,10 @@ pub impl Parser { return iovi_foreign_item(item); } if (self.is_keyword("fn") || self.is_keyword("pure") || - self.is_keyword("unsafe")) { + self.is_keyword("unsafe")) { // FOREIGN FUNCTION ITEM - let item = self.parse_item_foreign_fn(attrs); - return iovi_foreign_item(item); + let item = self.parse_item_foreign_fn(attrs); + return iovi_foreign_item(item); } self.parse_macro_use_or_failure(attrs,macros_allowed,lo,visibility) } @@ -4504,7 +4504,12 @@ pub impl Parser { let mut foreign_items = ~[]; loop { match self.parse_foreign_item(/*bad*/ copy attrs, macros_allowed) { - iovi_none => break, + iovi_none => { + if *self.token == token::RBRACE { + break + } + self.unexpected(); + }, iovi_view_item(view_item) => { // I think this can't occur: self.span_err(view_item.span, |
