]> git.lizzy.rs Git - rust.git/blobdiff - src/librustdoc/visit.rs
Rollup merge of #92383 - lancethepants:armv7-unknown-linux-uclibceabi, r=nagisa
[rust.git] / src / librustdoc / visit.rs
index 9edf6e11bec90191acabcdc88dc2354b3c422ab0..df4d1558ebdf42f31cb9bfd15cf13fcffc4d7147 100644 (file)
@@ -23,8 +23,26 @@ fn visit_inner_recur(&mut self, kind: &ItemKind) {
                 Variant::Tuple(fields) => fields.iter().for_each(|x| self.visit_item(x)),
                 Variant::CLike => {}
             },
-            // FIXME: list all cases explicitly
-            _ => return,
+            ExternCrateItem { src: _ }
+            | ImportItem(_)
+            | FunctionItem(_)
+            | TypedefItem(_, _)
+            | OpaqueTyItem(_)
+            | StaticItem(_)
+            | ConstantItem(_)
+            | TraitAliasItem(_)
+            | TyMethodItem(_)
+            | MethodItem(_, _)
+            | StructFieldItem(_)
+            | ForeignFunctionItem(_)
+            | ForeignStaticItem(_)
+            | ForeignTypeItem
+            | MacroItem(_)
+            | ProcMacroItem(_)
+            | PrimitiveItem(_)
+            | AssocConstItem(_, _)
+            | AssocTypeItem(_, _)
+            | KeywordItem(_) => {}
         }
     }
 
@@ -43,9 +61,11 @@ fn visit_mod(&mut self, m: &Module) {
     fn visit_crate(&mut self, c: &Crate) {
         self.visit_item(&c.module);
 
-        let external_traits = c.external_traits.borrow();
-        for v in external_traits.values() {
-            v.trait_.items.iter().for_each(|i| self.visit_item(i))
+        // FIXME: make this a simple by-ref for loop once external_traits is cleaned up
+        let external_traits = { std::mem::take(&mut *c.external_traits.borrow_mut()) };
+        for (k, v) in external_traits {
+            v.trait_.items.iter().for_each(|i| self.visit_item(i));
+            c.external_traits.borrow_mut().insert(k, v);
         }
     }
 }