]> git.lizzy.rs Git - rust.git/commitdiff
rustdoc: Remove broken src links from reexported items from macros
authorOliver Middleton <olliemail27@gmail.com>
Fri, 9 Dec 2016 14:56:55 +0000 (14:56 +0000)
committerOliver Middleton <olliemail27@gmail.com>
Fri, 9 Dec 2016 14:56:55 +0000 (14:56 +0000)
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.

src/librustdoc/html/render.rs

index e721b66779fffb0facfe3ef02b1085ab35ad354e..ac336fe45e54a2621a46ef8b2044b845c3369a4f 100644 (file)
@@ -1468,6 +1468,13 @@ fn src_href(&self) -> Option<String> {
                 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))) => {