about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustdoc/html/format.rs6
-rw-r--r--src/test/rustdoc/decl_macro_priv.rs2
-rw-r--r--src/test/rustdoc/pub-restricted.rs8
3 files changed, 8 insertions, 8 deletions
diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs
index a8eae52fc56..90f4aaefc9b 100644
--- a/src/librustdoc/html/format.rs
+++ b/src/librustdoc/html/format.rs
@@ -1099,12 +1099,12 @@ impl clean::Visibility {
             clean::Visibility::Restricted(vis_did) => {
                 let parent_module = find_closest_parent_module(tcx, item_did);
 
-                if parent_module == Some(vis_did) {
+                if vis_did.index == CRATE_DEF_INDEX {
+                    write!(f, "pub(crate) ")
+                } else if parent_module == Some(vis_did) {
                     // `pub(in foo)` where `foo` is the parent module
                     // is the same as no visibility modifier
                     Ok(())
-                } else if vis_did.index == CRATE_DEF_INDEX {
-                    write!(f, "pub(crate) ")
                 } else if parent_module
                     .map(|parent| find_closest_parent_module(tcx, parent))
                     .flatten()
diff --git a/src/test/rustdoc/decl_macro_priv.rs b/src/test/rustdoc/decl_macro_priv.rs
index cb71bca9cf2..4e1279e34d9 100644
--- a/src/test/rustdoc/decl_macro_priv.rs
+++ b/src/test/rustdoc/decl_macro_priv.rs
@@ -2,7 +2,7 @@
 
 #![feature(decl_macro)]
 
-// @has decl_macro_priv/macro.crate_macro.html //pre 'macro crate_macro() {'
+// @has decl_macro_priv/macro.crate_macro.html //pre 'pub(crate) macro crate_macro() {'
 // @has - //pre '...'
 // @has - //pre '}'
 pub(crate) macro crate_macro() {}
diff --git a/src/test/rustdoc/pub-restricted.rs b/src/test/rustdoc/pub-restricted.rs
index 9ff3cad070d..f828e642abd 100644
--- a/src/test/rustdoc/pub-restricted.rs
+++ b/src/test/rustdoc/pub-restricted.rs
@@ -6,13 +6,13 @@
 
 // @has 'foo/struct.FooPublic.html' '//pre' 'pub struct FooPublic'
 pub struct FooPublic;
-// @has 'foo/struct.FooJustCrate.html' '//pre' 'struct FooJustCrate'
+// @has 'foo/struct.FooJustCrate.html' '//pre' 'pub(crate) struct FooJustCrate'
 crate struct FooJustCrate;
-// @has 'foo/struct.FooPubCrate.html' '//pre' 'struct FooPubCrate'
+// @has 'foo/struct.FooPubCrate.html' '//pre' 'pub(crate) struct FooPubCrate'
 pub(crate) struct FooPubCrate;
-// @has 'foo/struct.FooSelf.html' '//pre' 'struct FooSelf'
+// @has 'foo/struct.FooSelf.html' '//pre' 'pub(crate) struct FooSelf'
 pub(self) struct FooSelf;
-// @has 'foo/struct.FooInSelf.html' '//pre' 'struct FooInSelf'
+// @has 'foo/struct.FooInSelf.html' '//pre' 'pub(crate) struct FooInSelf'
 pub(in self) struct FooInSelf;
 mod a {
     // @has 'foo/a/struct.FooASuper.html' '//pre' 'pub(crate) struct FooASuper'