diff options
| author | Luqman Aden <laden@csclub.uwaterloo.ca> | 2013-10-20 02:34:01 -0400 |
|---|---|---|
| committer | Luqman Aden <laden@csclub.uwaterloo.ca> | 2013-10-22 21:22:19 -0400 |
| commit | af163579ed674c4b1a37f5c8d50bf348722db439 (patch) | |
| tree | 415f973c647f0ffea0c361e451dd704b734abdeb /src/libsyntax/parse/parser.rs | |
| parent | 5754848f8cd06bd3fc2bb084b5ca7bd41974e1b5 (diff) | |
| download | rust-af163579ed674c4b1a37f5c8d50bf348722db439.tar.gz rust-af163579ed674c4b1a37f5c8d50bf348722db439.zip | |
libsyntax/librustc: Allow specifying mut on ~self.
Diffstat (limited to 'src/libsyntax/parse/parser.rs')
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index 133934a746a..605e259cf0c 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -3520,7 +3520,7 @@ impl Parser { self.span_err(*self.last_span, "mutability declaration not allowed here"); } - sty_uniq + sty_uniq(MutImmutable) }, self) } token::IDENT(*) if self.is_self_ident() => { @@ -3546,6 +3546,14 @@ impl Parser { self.expect_self_ident(); sty_value(mutability) } + _ if self.token_is_mutability(self.token) && + self.look_ahead(1, |t| *t == token::TILDE) && + self.look_ahead(2, |t| token::is_keyword(keywords::Self, t)) => { + let mutability = self.parse_mutability(); + self.bump(); + self.expect_self_ident(); + sty_uniq(mutability) + } _ => { sty_static } |
