From 3bf0a9b0945f297d1aea330b6afcf98052e6de1e Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 22 Oct 2012 17:57:10 -0700 Subject: rustc: Implement typechecking for simple monomorphic derivable traits on monomorphic types. r=brson --- src/libsyntax/parse/parser.rs | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'src/libsyntax/parse/parser.rs') diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 925da063ca6..672f86b7a10 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -2603,13 +2603,20 @@ impl Parser { None }; - let mut meths = ~[]; - self.expect(token::LBRACE); - while !self.eat(token::RBRACE) { - let vis = self.parse_visibility(); - meths.push(self.parse_method(vis)); + let meths_opt; + if self.eat(token::SEMI) { + meths_opt = None; + } else { + let mut meths = ~[]; + self.expect(token::LBRACE); + while !self.eat(token::RBRACE) { + let vis = self.parse_visibility(); + meths.push(self.parse_method(vis)); + } + meths_opt = Some(move meths); } - (ident, item_impl(tps, opt_trait, ty, meths), None) + + (ident, item_impl(tps, opt_trait, ty, meths_opt), None) } // Instantiates ident with references to as arguments. -- cgit 1.4.1-3-g733a5