1
Fork 0

Auto merge of #28442 - nagisa:remove-enum-vis-field, r=alexcrichton

Followup on #28440 

Do not merge before the referenced PR is merged. I will fix the PR once that is merged (or close if it is not)
This commit is contained in:
bors 2015-09-18 18:51:04 +00:00
commit 72a10fa1d3
16 changed files with 15 additions and 51 deletions

View file

@ -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> { 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_ { node: Variant_ {
id: fld.new_id(id), id: fld.new_id(id),
name: name, 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)), disr_expr: disr_expr.map(|e| fld.fold_expr(e)),
vis: vis,
}, },
span: fld.new_span(span), span: fld.new_span(span),
}) })

View file

@ -1052,7 +1052,6 @@ pub struct Variant_ {
pub id: NodeId, pub id: NodeId,
/// Explicit discriminant, eg `Foo = 1` /// Explicit discriminant, eg `Foo = 1`
pub disr_expr: Option<P<Expr>>, pub disr_expr: Option<P<Expr>>,
pub vis: Visibility,
} }
pub type Variant = Spanned<Variant_>; pub type Variant = Spanned<Variant_>;

View file

@ -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)), disr_expr: v.node.disr_expr.as_ref().map(|e| lower_expr(e)),
vis: lower_visibility(v.node.vis),
}, },
span: v.span, span: v.span,
}) })

View file

@ -944,7 +944,6 @@ impl<'a> State<'a> {
} }
pub fn print_variant(&mut self, v: &hir::Variant) -> io::Result<()> { pub fn print_variant(&mut self, v: &hir::Variant) -> io::Result<()> {
try!(self.print_visibility(v.node.vis));
match v.node.kind { match v.node.kind {
hir::TupleVariantKind(ref args) => { hir::TupleVariantKind(ref args) => {
try!(self.print_ident(v.node.name)); try!(self.print_ident(v.node.name));

View file

@ -1075,20 +1075,7 @@ impl<'a, 'tcx> SanePrivacyVisitor<'a, 'tcx> {
instead"); instead");
} }
hir::ItemEnum(ref def, _) => { hir::ItemEnum(..) |
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::ItemTrait(..) | hir::ItemDefaultImpl(..) | hir::ItemTrait(..) | hir::ItemDefaultImpl(..) |
hir::ItemConst(..) | hir::ItemStatic(..) | hir::ItemStruct(..) | hir::ItemConst(..) | hir::ItemStatic(..) | hir::ItemStruct(..) |
hir::ItemFn(..) | hir::ItemMod(..) | hir::ItemTy(..) | hir::ItemFn(..) | hir::ItemMod(..) | hir::ItemTy(..) |
@ -1131,14 +1118,10 @@ impl<'a, 'tcx> SanePrivacyVisitor<'a, 'tcx> {
check_inherited(tcx, i.span, i.vis); 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::ItemStruct(ref def, _) => check_struct(&**def),
hir::ItemEnum(..) |
hir::ItemExternCrate(_) | hir::ItemUse(_) | hir::ItemExternCrate(_) | hir::ItemUse(_) |
hir::ItemTrait(..) | hir::ItemDefaultImpl(..) | hir::ItemTrait(..) | hir::ItemDefaultImpl(..) |
hir::ItemStatic(..) | hir::ItemConst(..) | hir::ItemStatic(..) | hir::ItemConst(..) |

View file

@ -1850,7 +1850,7 @@ impl Clean<Item> for doctree::Variant {
name: Some(self.name.clean(cx)), name: Some(self.name.clean(cx)),
attrs: self.attrs.clean(cx), attrs: self.attrs.clean(cx),
source: self.whence.clean(cx), source: self.whence.clean(cx),
visibility: self.vis.clean(cx), visibility: None,
stability: self.stab.clean(cx), stability: self.stab.clean(cx),
def_id: DefId::local(self.id), def_id: DefId::local(self.id),
inner: VariantItem(Variant { inner: VariantItem(Variant {

View file

@ -121,7 +121,6 @@ pub struct Variant {
pub attrs: Vec<ast::Attribute>, pub attrs: Vec<ast::Attribute>,
pub kind: hir::VariantKind, pub kind: hir::VariantKind,
pub id: ast::NodeId, pub id: ast::NodeId,
pub vis: hir::Visibility,
pub stab: Option<attr::Stability>, pub stab: Option<attr::Stability>,
pub whence: Span, pub whence: Span,
} }

View file

@ -109,7 +109,6 @@ impl<'a, 'tcx> RustdocVisitor<'a, 'tcx> {
variants: def.variants.iter().map(|v| Variant { variants: def.variants.iter().map(|v| Variant {
name: v.node.name, name: v.node.name,
attrs: v.node.attrs.clone(), attrs: v.node.attrs.clone(),
vis: v.node.vis,
stab: self.stability(v.node.id), stab: self.stability(v.node.id),
id: v.node.id, id: v.node.id,
kind: v.node.kind.clone(), kind: v.node.kind.clone(),

View file

@ -1614,7 +1614,6 @@ pub struct Variant_ {
pub id: NodeId, pub id: NodeId,
/// Explicit discriminant, eg `Foo = 1` /// Explicit discriminant, eg `Foo = 1`
pub disr_expr: Option<P<Expr>>, pub disr_expr: Option<P<Expr>>,
pub vis: Visibility,
} }
pub type Variant = Spanned<Variant_>; pub type Variant = Spanned<Variant_>;

View file

@ -141,7 +141,7 @@ fn fold_item_underscore<F>(cx: &mut Context<F>, item: ast::Item_) -> ast::Item_
None None
} else { } else {
Some(v.map(|Spanned {node: ast::Variant_ {id, name, attrs, kind, Some(v.map(|Spanned {node: ast::Variant_ {id, name, attrs, kind,
disr_expr, vis}, span}| { disr_expr}, span}| {
Spanned { Spanned {
node: ast::Variant_ { node: ast::Variant_ {
id: id, id: id,
@ -154,7 +154,6 @@ fn fold_item_underscore<F>(cx: &mut Context<F>, item: ast::Item_) -> ast::Item_
} }
}, },
disr_expr: disr_expr, disr_expr: disr_expr,
vis: vis
}, },
span: span span: span
} }

View file

@ -1013,7 +1013,6 @@ impl<'a> AstBuilder for ExtCtxt<'a> {
kind: ast::TupleVariantKind(args), kind: ast::TupleVariantKind(args),
id: ast::DUMMY_NODE_ID, id: ast::DUMMY_NODE_ID,
disr_expr: None, disr_expr: None,
vis: ast::Public
}) })
} }

View file

@ -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> { 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_ { node: Variant_ {
id: fld.new_id(id), id: fld.new_id(id),
name: name, 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)), disr_expr: disr_expr.map(|e| fld.fold_expr(e)),
vis: vis,
}, },
span: fld.new_span(span), span: fld.new_span(span),
}) })

View file

@ -5185,13 +5185,10 @@ impl<'a> Parser<'a> {
let variant_attrs = self.parse_outer_attributes(); let variant_attrs = self.parse_outer_attributes();
let vlo = self.span.lo; let vlo = self.span.lo;
let vis = try!(self.parse_visibility());
let ident;
let kind; let kind;
let mut args = Vec::new(); let mut args = Vec::new();
let mut disr_expr = None; let mut disr_expr = None;
ident = try!(self.parse_ident()); let ident = try!(self.parse_ident());
if try!(self.eat(&token::OpenDelim(token::Brace)) ){ if try!(self.eat(&token::OpenDelim(token::Brace)) ){
// Parse a struct variant. // Parse a struct variant.
all_nullary = false; all_nullary = false;
@ -5233,7 +5230,6 @@ impl<'a> Parser<'a> {
kind: kind, kind: kind,
id: ast::DUMMY_NODE_ID, id: ast::DUMMY_NODE_ID,
disr_expr: disr_expr, disr_expr: disr_expr,
vis: vis,
}; };
variants.push(P(spanned(vlo, self.last_span.hi, vr))); variants.push(P(spanned(vlo, self.last_span.hi, vr)));

View file

@ -1507,7 +1507,6 @@ impl<'a> State<'a> {
} }
pub fn print_variant(&mut self, v: &ast::Variant) -> io::Result<()> { pub fn print_variant(&mut self, v: &ast::Variant) -> io::Result<()> {
try!(self.print_visibility(v.node.vis));
match v.node.kind { match v.node.kind {
ast::TupleVariantKind(ref args) => { ast::TupleVariantKind(ref args) => {
try!(self.print_ident(v.node.name)); try!(self.print_ident(v.node.name));
@ -3139,11 +3138,10 @@ mod tests {
kind: ast::TupleVariantKind(Vec::new()), kind: ast::TupleVariantKind(Vec::new()),
id: 0, id: 0,
disr_expr: None, disr_expr: None,
vis: ast::Public,
}); });
let varstr = variant_to_string(&var); let varstr = variant_to_string(&var);
assert_eq!(varstr, "pub principal_skinner"); assert_eq!(varstr, "principal_skinner");
} }
#[test] #[test]

View file

@ -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 // file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT. // http://rust-lang.org/COPYRIGHT.
// //
@ -8,16 +8,14 @@
// option. This file may not be copied, modified, or distributed // option. This file may not be copied, modified, or distributed
// except according to those terms. // except according to those terms.
use zoo::bird::{duck, goose}; enum bird {
pub duck,
mod zoo { //~^ ERROR: expected identifier, found keyword `pub`
pub enum bird { //~^^ ERROR: expected
pub duck, //~ ERROR: unnecessary `pub` visibility goose
goose
}
} }
fn main() { fn main() {
let y = goose; let y = bird::goose;
} }

View file

@ -9,7 +9,6 @@
// except according to those terms. // except according to those terms.
struct A { pub i: isize } struct A { pub i: isize }
pub enum C { pub Variant } //~ ERROR: unnecessary `pub`
pub trait E { pub trait E {
fn foo(&self); fn foo(&self);