From 77b409a674f62e3be13ec9339b5c8272c9b5c0a9 Mon Sep 17 00:00:00 2001 From: mitaa Date: Sun, 17 Apr 2016 08:54:48 +0200 Subject: Reachability check cross-crate links --- src/librustdoc/html/format.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/librustdoc/html/format.rs') diff --git a/src/librustdoc/html/format.rs b/src/librustdoc/html/format.rs index ce20ad05acb..39be00b61cd 100644 --- a/src/librustdoc/html/format.rs +++ b/src/librustdoc/html/format.rs @@ -24,6 +24,7 @@ use syntax::abi::Abi; use rustc::hir; use clean; +use core::DocAccessLevels; use html::item_type::ItemType; use html::render; use html::render::{cache, CURRENT_LOCATION_KEY}; @@ -298,6 +299,9 @@ pub fn href(did: DefId) -> Option<(String, ItemType, Vec)> { let mut url = if did.is_local() || cache.inlined.contains(&did) { repeat("../").take(loc.len()).collect::() } else { + if !cache.access_levels.is_doc_reachable(did) { + return None + } match cache.extern_locations[&did.krate] { (_, render::Remote(ref s)) => s.to_string(), (_, render::Local) => repeat("../").take(loc.len()).collect(), -- cgit 1.4.1-3-g733a5