diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2012-08-03 15:02:01 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2012-08-03 15:02:53 -0700 |
| commit | b65dd9d0908ba75ee4cf128058858aea87e4508a (patch) | |
| tree | 794ee6f47d188314a2b0256fd954cbcf8219331c /src/libsyntax/parse | |
| parent | a805a1fb37443601819604954510cb312a724fe9 (diff) | |
| download | rust-b65dd9d0908ba75ee4cf128058858aea87e4508a.tar.gz rust-b65dd9d0908ba75ee4cf128058858aea87e4508a.zip | |
rustc: Parse, serialize, and deserialize trait inheritance
Diffstat (limited to 'src/libsyntax/parse')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 417d973ee0d..5f2ea6f42f6 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -2278,8 +2278,18 @@ class parser { let ident = self.parse_ident(); self.parse_region_param(); let tps = self.parse_ty_params(); + + // Parse traits, if necessary. + let traits; + if self.token == token::COLON { + self.bump(); + traits = self.parse_trait_ref_list(token::LBRACE); + } else { + traits = ~[]; + } + let meths = self.parse_trait_methods(); - (ident, item_trait(tps, meths), none) + (ident, item_trait(tps, traits, meths), none) } // Parses four variants (with the region/type params always optional): |
