diff options
| author | Jihyun Yu <yjh0502@gmail.com> | 2013-05-22 16:11:48 +0900 |
|---|---|---|
| committer | Jihyun Yu <yjh0502@gmail.com> | 2013-05-22 16:11:48 +0900 |
| commit | 6c33f5044b0d7d0fe1cd0a726e37f3a915dcf8ef (patch) | |
| tree | c51696b55b15e7781a8707805544ec5f0bf81f19 /src/libsyntax/parse | |
| parent | 15e44381af4f6d89fc62111a8425087ccab40665 (diff) | |
| download | rust-6c33f5044b0d7d0fe1cd0a726e37f3a915dcf8ef.tar.gz rust-6c33f5044b0d7d0fe1cd0a726e37f3a915dcf8ef.zip | |
Fix #6342
Diffstat (limited to 'src/libsyntax/parse')
| -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, |
