diff options
| author | Oliver Middleton <olliemail27@gmail.com> | 2016-12-09 14:56:55 +0000 |
|---|---|---|
| committer | Oliver Middleton <olliemail27@gmail.com> | 2016-12-09 14:56:55 +0000 |
| commit | c6c3a2763bce61bd0adcd75a78f1bdcbb37d30a5 (patch) | |
| tree | e0cfbb5bba16639a1741dde7475cd4eefe497048 | |
| parent | d9aae6362d566497d55a94da060ec163cd874a41 (diff) | |
| download | rust-c6c3a2763bce61bd0adcd75a78f1bdcbb37d30a5.tar.gz rust-c6c3a2763bce61bd0adcd75a78f1bdcbb37d30a5.zip | |
rustdoc: Remove broken src links from reexported items from macros
When an item is defined in an external macro it doesn't get a real filename so we need to filter out these when generating src links for reexported items.
| -rw-r--r-- | src/librustdoc/html/render.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/librustdoc/html/render.rs b/src/librustdoc/html/render.rs index e721b66779f..ac336fe45e5 100644 --- a/src/librustdoc/html/render.rs +++ b/src/librustdoc/html/render.rs @@ -1468,6 +1468,13 @@ impl<'a> Item<'a> { return None; } } else { + // Macros from other libraries get special filenames which we can + // safely ignore. + if self.item.source.filename.starts_with("<") && + self.item.source.filename.ends_with("macros>") { + return None; + } + let (krate, src_root) = match cache.extern_locations.get(&self.item.def_id.krate) { Some(&(ref name, ref src, Local)) => (name, src), Some(&(ref name, ref src, Remote(ref s))) => { |
