diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs
index bed4bae2492c..08499cef33ef 100644
--- a/src/librustdoc/html/format.rs
+++ b/src/librustdoc/html/format.rs
@@ -474,11 +474,12 @@ impl clean::GenericArgs {
// Possible errors when computing href link source for a `DefId`
crate enum HrefError {
- // `DefId` is in an unknown location. This seems to happen when building without dependencies
- // but a trait from a dependency is still visible
- UnknownLocation,
- // Unavailable because private
- Unavailable,
+ /// This item is known to rustdoc, but from a crate that does not have documentation generated.
+ ///
+ /// This can only happen for non-local items.
+ DocumentationNotBuilt,
+ /// This can only happen for non-local items when `--document-private-items` is not passed.
+ Private,
// Not in external cache, href link should be in same page
NotInExternalCache,
}
@@ -491,7 +492,7 @@ crate fn href(did: DefId, cx: &Context<'_>) -> Result<(String, ItemType, Vec) -> Result<(String, ItemType, Vec href_relative_parts(module_fqp, relative_to),
- ExternalLocation::Unknown => return Err(HrefError::UnknownLocation),
+ ExternalLocation::Unknown => return Err(HrefError::DocumentationNotBuilt),
},
)
} else {
diff --git a/src/librustdoc/html/render/mod.rs b/src/librustdoc/html/render/mod.rs
index c814ff3075d0..e6a10c47497b 100644
--- a/src/librustdoc/html/render/mod.rs
+++ b/src/librustdoc/html/render/mod.rs
@@ -869,7 +869,7 @@ fn render_assoc_item(
match href(did.expect_def_id(), cx) {
Ok(p) => Some(format!("{}#{}.{}", p.0, ty, name)),
- Err(HrefError::UnknownLocation) => None,
+ Err(HrefError::DocumentationNotBuilt) => None,
Err(_) => Some(format!("#{}.{}", ty, name)),
}
}