diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2013-02-26 11:32:00 -0800 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2013-02-27 09:40:15 -0800 |
| commit | 8d7e6ef7725f8a11de940892a74398fc1911dfc7 (patch) | |
| tree | 44e7cd64fac348be5c823db76cdd9a0738c3074d /src/libsyntax | |
| parent | 061a2237230d3abcdb30ecb8987e5de17e67a58e (diff) | |
| download | rust-8d7e6ef7725f8a11de940892a74398fc1911dfc7.tar.gz rust-8d7e6ef7725f8a11de940892a74398fc1911dfc7.zip | |
libsyntax: Forbid `~mut` and `~const`. rs=demuting
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/parse/obsolete.rs | 2 | ||||
| -rw-r--r-- | src/libsyntax/parse/parser.rs | 6 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs index 7b3030124b7..0c5c0f3d513 100644 --- a/src/libsyntax/parse/obsolete.rs +++ b/src/libsyntax/parse/obsolete.rs @@ -128,7 +128,7 @@ pub impl Parser { "write `+` between trait bounds" ), ObsoleteMutOwnedPointer => ( - "mutable owned pointer", + "const or mutable owned pointer", "mutability inherits through `~` pointers; place the `~` box in a mutable location, like a mutable local variable or an \ `@mut` box" diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs index af25a4f6e58..c9102cbb86b 100644 --- a/src/libsyntax/parse/parser.rs +++ b/src/libsyntax/parse/parser.rs @@ -678,7 +678,7 @@ pub impl Parser { // reflected in the AST type. let mt = self.parse_mt(); - if mt.mutbl == m_mutbl && sigil == OwnedSigil { + if mt.mutbl != m_imm && sigil == OwnedSigil { self.obsolete(*self.last_span, ObsoleteMutOwnedPointer); } @@ -1574,6 +1574,10 @@ pub impl Parser { token::TILDE => { self.bump(); let m = self.parse_mutability(); + if m != m_imm { + self.obsolete(*self.last_span, ObsoleteMutOwnedPointer); + } + let e = self.parse_prefix_expr(); hi = e.span.hi; // HACK: turn ~[...] into a ~-evec |
