about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_front/fold.rs3
-rw-r--r--src/librustc_front/hir.rs1
-rw-r--r--src/librustc_front/lowering.rs1
-rw-r--r--src/librustc_front/print/pprust.rs1
-rw-r--r--src/librustc_privacy/lib.rs21
-rw-r--r--src/librustdoc/clean/mod.rs2
-rw-r--r--src/librustdoc/doctree.rs1
-rw-r--r--src/librustdoc/visit_ast.rs1
-rw-r--r--src/libsyntax/ast.rs1
-rw-r--r--src/libsyntax/config.rs3
-rw-r--r--src/libsyntax/ext/build.rs1
-rw-r--r--src/libsyntax/fold.rs3
-rw-r--r--src/libsyntax/parse/parser.rs6
-rw-r--r--src/libsyntax/print/pprust.rs4
-rw-r--r--src/test/compile-fail/issue-28433.rs (renamed from src/test/compile-fail/issue-3993-2.rs)16
-rw-r--r--src/test/compile-fail/useless-pub.rs (renamed from src/test/compile-fail/useless-priv.rs)1
16 files changed, 15 insertions, 51 deletions
diff --git a/src/librustc_front/fold.rs b/src/librustc_front/fold.rs
index 0693092c04a..1371799a051 100644
--- a/src/librustc_front/fold.rs
+++ b/src/librustc_front/fold.rs
@@ -415,7 +415,7 @@ pub fn noop_fold_foreign_mod<T: Folder>(ForeignMod {abi, items}: ForeignMod,
 }
 
 pub fn noop_fold_variant<T: Folder>(v: P<Variant>, fld: &mut T) -> P<Variant> {
-    v.map(|Spanned {node: Variant_ {id, name, attrs, kind, disr_expr, vis}, span}| Spanned {
+    v.map(|Spanned {node: Variant_ {id, name, attrs, kind, disr_expr}, span}| Spanned {
         node: Variant_ {
             id: fld.new_id(id),
             name: name,
@@ -430,7 +430,6 @@ pub fn noop_fold_variant<T: Folder>(v: P<Variant>, fld: &mut T) -> P<Variant> {
                 }
             },
             disr_expr: disr_expr.map(|e| fld.fold_expr(e)),
-            vis: vis,
         },
         span: fld.new_span(span),
     })
diff --git a/src/librustc_front/hir.rs b/src/librustc_front/hir.rs
index 8bc8bda9e06..c6426807db4 100644
--- a/src/librustc_front/hir.rs
+++ b/src/librustc_front/hir.rs
@@ -1052,7 +1052,6 @@ pub struct Variant_ {
     pub id: NodeId,
     /// Explicit discriminant, eg `Foo = 1`
     pub disr_expr: Option<P<Expr>>,
-    pub vis: Visibility,
 }
 
 pub type Variant = Spanned<Variant_>;
diff --git a/src/librustc_front/lowering.rs b/src/librustc_front/lowering.rs
index 4f5f892043b..f7f938eb924 100644
--- a/src/librustc_front/lowering.rs
+++ b/src/librustc_front/lowering.rs
@@ -147,7 +147,6 @@ pub fn lower_variant(v: &Variant) -> P<hir::Variant> {
                 }
             },
             disr_expr: v.node.disr_expr.as_ref().map(|e| lower_expr(e)),
-            vis: lower_visibility(v.node.vis),
         },
         span: v.span,
     })
diff --git a/src/librustc_front/print/pprust.rs b/src/librustc_front/print/pprust.rs
index 940145aa417..3930eec7561 100644
--- a/src/librustc_front/print/pprust.rs
+++ b/src/librustc_front/print/pprust.rs
@@ -944,7 +944,6 @@ impl<'a> State<'a> {
     }
 
     pub fn print_variant(&mut self, v: &hir::Variant) -> io::Result<()> {
-        try!(self.print_visibility(v.node.vis));
         match v.node.kind {
             hir::TupleVariantKind(ref args) => {
                 try!(self.print_ident(v.node.name));
diff --git a/src/librustc_privacy/lib.rs b/src/librustc_privacy/lib.rs
index 48efd34e212..0384e7b6932 100644
--- a/src/librustc_privacy/lib.rs
+++ b/src/librustc_privacy/lib.rs
@@ -1075,20 +1075,7 @@ impl<'a, 'tcx> SanePrivacyVisitor<'a, 'tcx> {
                                  instead");
             }
 
-            hir::ItemEnum(ref def, _) => {
-                for v in &def.variants {
-                    match v.node.vis {
-                        hir::Public => {
-                            if item.vis == hir::Public {
-                                span_err!(tcx.sess, v.span, E0448,
-                                          "unnecessary `pub` visibility");
-                            }
-                        }
-                        hir::Inherited => {}
-                    }
-                }
-            }
-
+            hir::ItemEnum(..) |
             hir::ItemTrait(..) | hir::ItemDefaultImpl(..) |
             hir::ItemConst(..) | hir::ItemStatic(..) | hir::ItemStruct(..) |
             hir::ItemFn(..) | hir::ItemMod(..) | hir::ItemTy(..) |
@@ -1131,14 +1118,10 @@ impl<'a, 'tcx> SanePrivacyVisitor<'a, 'tcx> {
                     check_inherited(tcx, i.span, i.vis);
                 }
             }
-            hir::ItemEnum(ref def, _) => {
-                for v in &def.variants {
-                    check_inherited(tcx, v.span, v.node.vis);
-                }
-            }
 
             hir::ItemStruct(ref def, _) => check_struct(&**def),
 
+            hir::ItemEnum(..) |
             hir::ItemExternCrate(_) | hir::ItemUse(_) |
             hir::ItemTrait(..) | hir::ItemDefaultImpl(..) |
             hir::ItemStatic(..) | hir::ItemConst(..) |
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs
index 8737957c065..7ed572d7caa 100644
--- a/src/librustdoc/clean/mod.rs
+++ b/src/librustdoc/clean/mod.rs
@@ -1850,7 +1850,7 @@ impl Clean<Item> for doctree::Variant {
             name: Some(self.name.clean(cx)),
             attrs: self.attrs.clean(cx),
             source: self.whence.clean(cx),
-            visibility: self.vis.clean(cx),
+            visibility: None,
             stability: self.stab.clean(cx),
             def_id: DefId::local(self.id),
             inner: VariantItem(Variant {
diff --git a/src/librustdoc/doctree.rs b/src/librustdoc/doctree.rs
index 1a027a3d146..e2286ca819a 100644
--- a/src/librustdoc/doctree.rs
+++ b/src/librustdoc/doctree.rs
@@ -121,7 +121,6 @@ pub struct Variant {
     pub attrs: Vec<ast::Attribute>,
     pub kind: hir::VariantKind,
     pub id: ast::NodeId,
-    pub vis: hir::Visibility,
     pub stab: Option<attr::Stability>,
     pub whence: Span,
 }
diff --git a/src/librustdoc/visit_ast.rs b/src/librustdoc/visit_ast.rs
index e3fb13d1390..1a20a31560b 100644
--- a/src/librustdoc/visit_ast.rs
+++ b/src/librustdoc/visit_ast.rs
@@ -109,7 +109,6 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
             variants: def.variants.iter().map(|v| Variant {
                 name: v.node.name,
                 attrs: v.node.attrs.clone(),
-                vis: v.node.vis,
                 stab: self.stability(v.node.id),
                 id: v.node.id,
                 kind: v.node.kind.clone(),
diff --git a/src/libsyntax/ast.rs b/src/libsyntax/ast.rs
index bf8c67c7ae1..58d92f5001a 100644
--- a/src/libsyntax/ast.rs
+++ b/src/libsyntax/ast.rs
@@ -1614,7 +1614,6 @@ pub struct Variant_ {
     pub id: NodeId,
     /// Explicit discriminant, eg `Foo = 1`
     pub disr_expr: Option<P<Expr>>,
-    pub vis: Visibility,
 }
 
 pub type Variant = Spanned<Variant_>;
diff --git a/src/libsyntax/config.rs b/src/libsyntax/config.rs
index faf0b51c8de..889a0d7e440 100644
--- a/src/libsyntax/config.rs
+++ b/src/libsyntax/config.rs
@@ -141,7 +141,7 @@ fn fold_item_underscore<F>(cx: &mut Context<F>, item: ast::Item_) -> ast::Item_
                     None
                 } else {
                     Some(v.map(|Spanned {node: ast::Variant_ {id, name, attrs, kind,
-                                                              disr_expr, vis}, span}| {
+                                                              disr_expr}, span}| {
                         Spanned {
                             node: ast::Variant_ {
                                 id: id,
@@ -154,7 +154,6 @@ fn fold_item_underscore<F>(cx: &mut Context<F>, item: ast::Item_) -> ast::Item_
                                     }
                                 },
                                 disr_expr: disr_expr,
-                                vis: vis
                             },
                             span: span
                         }
diff --git a/src/libsyntax/ext/build.rs b/src/libsyntax/ext/build.rs
index 771ac85ef19..f8beb0e36e2 100644
--- a/src/libsyntax/ext/build.rs
+++ b/src/libsyntax/ext/build.rs
@@ -1013,7 +1013,6 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
                    kind: ast::TupleVariantKind(args),
                    id: ast::DUMMY_NODE_ID,
                    disr_expr: None,
-                   vis: ast::Public
                })
     }
 
diff --git a/src/libsyntax/fold.rs b/src/libsyntax/fold.rs
index 0cfddc9857c..a73cc420eeb 100644
--- a/src/libsyntax/fold.rs
+++ b/src/libsyntax/fold.rs
@@ -450,7 +450,7 @@ pub fn noop_fold_foreign_mod<T: Folder>(ForeignMod {abi, items}: ForeignMod,
 }
 
 pub fn noop_fold_variant<T: Folder>(v: P<Variant>, fld: &mut T) -> P<Variant> {
-    v.map(|Spanned {node: Variant_ {id, name, attrs, kind, disr_expr, vis}, span}| Spanned {
+    v.map(|Spanned {node: Variant_ {id, name, attrs, kind, disr_expr}, span}| Spanned {
         node: Variant_ {
             id: fld.new_id(id),
             name: name,
@@ -465,7 +465,6 @@ pub fn noop_fold_variant<T: Folder>(v: P<Variant>, fld: &mut T) -> P<Variant> {
                 }
             },
             disr_expr: disr_expr.map(|e| fld.fold_expr(e)),
-            vis: vis,
         },
         span: fld.new_span(span),
     })
diff --git a/src/libsyntax/parse/parser.rs b/src/libsyntax/parse/parser.rs
index a7978babcb7..87500142ccd 100644
--- a/src/libsyntax/parse/parser.rs
+++ b/src/libsyntax/parse/parser.rs
@@ -5185,13 +5185,10 @@ impl<'a> Parser<'a> {
             let variant_attrs = self.parse_outer_attributes();
             let vlo = self.span.lo;
 
-            let vis = try!(self.parse_visibility());
-
-            let ident;
             let kind;
             let mut args = Vec::new();
             let mut disr_expr = None;
-            ident = try!(self.parse_ident());
+            let ident = try!(self.parse_ident());
             if try!(self.eat(&token::OpenDelim(token::Brace)) ){
                 // Parse a struct variant.
                 all_nullary = false;
@@ -5233,7 +5230,6 @@ impl<'a> Parser<'a> {
                 kind: kind,
                 id: ast::DUMMY_NODE_ID,
                 disr_expr: disr_expr,
-                vis: vis,
             };
             variants.push(P(spanned(vlo, self.last_span.hi, vr)));
 
diff --git a/src/libsyntax/print/pprust.rs b/src/libsyntax/print/pprust.rs
index 1d22c83122e..6de6d32dfb3 100644
--- a/src/libsyntax/print/pprust.rs
+++ b/src/libsyntax/print/pprust.rs
@@ -1507,7 +1507,6 @@ impl<'a> State<'a> {
     }
 
     pub fn print_variant(&mut self, v: &ast::Variant) -> io::Result<()> {
-        try!(self.print_visibility(v.node.vis));
         match v.node.kind {
             ast::TupleVariantKind(ref args) => {
                 try!(self.print_ident(v.node.name));
@@ -3139,11 +3138,10 @@ mod tests {
             kind: ast::TupleVariantKind(Vec::new()),
             id: 0,
             disr_expr: None,
-            vis: ast::Public,
         });
 
         let varstr = variant_to_string(&var);
-        assert_eq!(varstr, "pub principal_skinner");
+        assert_eq!(varstr, "principal_skinner");
     }
 
     #[test]
diff --git a/src/test/compile-fail/issue-3993-2.rs b/src/test/compile-fail/issue-28433.rs
index 9d9e91a141b..3ca2213087d 100644
--- a/src/test/compile-fail/issue-3993-2.rs
+++ b/src/test/compile-fail/issue-28433.rs
@@ -1,4 +1,4 @@
-// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
+// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
 // file at the top-level directory of this distribution and at
 // http://rust-lang.org/COPYRIGHT.
 //
@@ -8,16 +8,14 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use zoo::bird::{duck, goose};
-
-mod zoo {
-    pub enum bird {
-        pub duck, //~ ERROR: unnecessary `pub` visibility
-        goose
-    }
+enum bird {
+    pub duck,
+    //~^ ERROR: expected identifier, found keyword `pub`
+    //~^^ ERROR: expected
+    goose
 }
 
 
 fn main() {
-    let y = goose;
+    let y = bird::goose;
 }
diff --git a/src/test/compile-fail/useless-priv.rs b/src/test/compile-fail/useless-pub.rs
index 59964d0df95..fb6cdf7fa59 100644
--- a/src/test/compile-fail/useless-priv.rs
+++ b/src/test/compile-fail/useless-pub.rs
@@ -9,7 +9,6 @@
 // except according to those terms.
 
 struct A { pub i: isize }
-pub enum C { pub Variant }      //~ ERROR: unnecessary `pub`
 
 pub trait E {
     fn foo(&self);