about summary refs log tree commit diff
path: root/src/libsyntax/parse
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2013-06-03 16:56:35 -0700
committerPatrick Walton <pcwalton@mimiga.net>2013-06-04 21:45:42 -0700
commit16086ecff7edda82b114a72948762d59095f6fb4 (patch)
tree8f6e850a5803194c54d523703843bcec302f8ba3 /src/libsyntax/parse
parent9873f67e944f2f9237caa3c670cbaa0ca988c9d0 (diff)
downloadrust-16086ecff7edda82b114a72948762d59095f6fb4.tar.gz
rust-16086ecff7edda82b114a72948762d59095f6fb4.zip
libsyntax: Remove `pub impl` from the language
Diffstat (limited to 'src/libsyntax/parse')
-rw-r--r--src/libsyntax/parse/obsolete.rs11
-rw-r--r--src/libsyntax/parse/parser.rs9
2 files changed, 9 insertions, 11 deletions
diff --git a/src/libsyntax/parse/obsolete.rs b/src/libsyntax/parse/obsolete.rs
index f11219f6c9e..f37b430b480 100644
--- a/src/libsyntax/parse/obsolete.rs
+++ b/src/libsyntax/parse/obsolete.rs
@@ -49,7 +49,7 @@ pub enum ObsoleteSyntax {
     ObsoleteTraitBoundSeparator,
     ObsoleteMutOwnedPointer,
     ObsoleteMutVector,
-    ObsoleteTraitImplVisibility,
+    ObsoleteImplVisibility,
     ObsoleteRecordType,
     ObsoleteRecordPattern,
     ObsoletePostFnTySigil,
@@ -158,11 +158,10 @@ impl Parser {
                  in a mutable location, like a mutable local variable or an \
                  `@mut` box"
             ),
-            ObsoleteTraitImplVisibility => (
-                "visibility-qualified trait implementation",
-                "`pub` or `priv` is meaningless for trait implementations, \
-                 because the `impl...for...` form defines overloads for \
-                 methods that already exist; remove the `pub` or `priv`"
+            ObsoleteImplVisibility => (
+                "visibility-qualified implementation",
+                "`pub` or `priv` goes on individual functions; remove the \
+                 `pub` or `priv`"
             ),
             ObsoleteRecordType => (
                 "structural record type",
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index f013dfaceba..dd966815ad2 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -76,7 +76,7 @@ use parse::obsolete::{ObsoleteMoveInit, ObsoleteBinaryMove, ObsoleteSwap};
 use parse::obsolete::{ObsoleteSyntax, ObsoleteLowerCaseKindBounds};
 use parse::obsolete::{ObsoleteUnsafeBlock, ObsoleteImplSyntax};
 use parse::obsolete::{ObsoleteTraitBoundSeparator, ObsoleteMutOwnedPointer};
-use parse::obsolete::{ObsoleteMutVector, ObsoleteTraitImplVisibility};
+use parse::obsolete::{ObsoleteMutVector, ObsoleteImplVisibility};
 use parse::obsolete::{ObsoleteRecordType, ObsoleteRecordPattern};
 use parse::obsolete::{ObsoletePostFnTySigil};
 use parse::obsolete::{ObsoleteBareFnType, ObsoleteNewtypeEnum};
@@ -3305,10 +3305,9 @@ impl Parser {
             None
         };
 
-        // Do not allow visibility to be specified in `impl...for...`. It is
-        // meaningless.
-        if opt_trait.is_some() && visibility != ast::inherited {
-            self.obsolete(*self.span, ObsoleteTraitImplVisibility);
+        // Do not allow visibility to be specified.
+        if visibility != ast::inherited {
+            self.obsolete(*self.span, ObsoleteImplVisibility);
         }
 
         let mut meths = ~[];