about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authormitaa <mitaa.ceb@gmail.com>2016-03-22 06:59:43 +0100
committermitaa <mitaa.ceb@gmail.com>2016-03-22 06:59:43 +0100
commit00a32b288442efdf219230147ddcb834827ce65d (patch)
tree931e6fb9668d4ea3309f4f7e6a9eb4c5ddfda713 /src
parent0215681744bb1156ef686ab265ed71e4d5705b64 (diff)
downloadrust-00a32b288442efdf219230147ddcb834827ce65d.tar.gz
rust-00a32b288442efdf219230147ddcb834827ce65d.zip
Omit `pub` for inlined variant-struct fields
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/clean/mod.rs2
-rw-r--r--src/test/auxiliary/variant-struct.rs15
-rw-r--r--src/test/rustdoc/issue-32395.rs21
3 files changed, 37 insertions, 1 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs
index 54821bd1161..2d3961ee6f4 100644
--- a/src/librustdoc/clean/mod.rs
+++ b/src/librustdoc/clean/mod.rs
@@ -1885,7 +1885,7 @@ impl<'tcx> Clean<Item> for ty::VariantDefData<'tcx, 'static> {
                             source: Span::empty(),
                             name: Some(field.name.clean(cx)),
                             attrs: Vec::new(),
-                            visibility: Some(hir::Public),
+                            visibility: Some(field.vis),
                             // FIXME: this is not accurate, we need an id for
                             //        the specific field but we're using the id
                             //        for the whole variant. Thus we read the
diff --git a/src/test/auxiliary/variant-struct.rs b/src/test/auxiliary/variant-struct.rs
new file mode 100644
index 00000000000..d846c0adf61
--- /dev/null
+++ b/src/test/auxiliary/variant-struct.rs
@@ -0,0 +1,15 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub enum Foo {
+    Bar {
+        qux: (),
+    }
+}
diff --git a/src/test/rustdoc/issue-32395.rs b/src/test/rustdoc/issue-32395.rs
new file mode 100644
index 00000000000..fba2a6ad487
--- /dev/null
+++ b/src/test/rustdoc/issue-32395.rs
@@ -0,0 +1,21 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+// aux-build:variant-struct.rs
+// build-aux-docs
+// ignore-cross-compile
+
+// @has variant_struct/enum.Foo.html
+// @!has - 'pub qux'
+extern crate variant_struct;
+
+// @has issue_32395/enum.Foo.html
+// @!has - 'pub qux'
+pub use variant_struct::Foo;