]> git.lizzy.rs Git - rust.git/blobdiff - src/librustdoc/passes/stripper.rs
Auto merge of #78068 - RalfJung:union-safe-assign, r=nikomatsakis
[rust.git] / src / librustdoc / passes / stripper.rs
index 3a10142adcfcd943bae0a6e42323935026da3023..444fd593ec9c9856bef17f84fca3cfe3fdbb4f7d 100644 (file)
@@ -22,7 +22,7 @@ fn fold_item(&mut self, i: Item) -> Option<Item> {
                 let old = mem::replace(&mut self.update_retained, false);
                 let ret = self.fold_item_recur(i);
                 self.update_retained = old;
-                return ret;
+                return Some(ret);
             }
             // These items can all get re-exported
             clean::OpaqueTyItem(..)
@@ -50,16 +50,16 @@ fn fold_item(&mut self, i: Item) -> Option<Item> {
             }
 
             clean::StructFieldItem(..) => {
-                if i.visibility != clean::Public {
+                if !i.visibility.is_public() {
                     return StripItem(i).strip();
                 }
             }
 
             clean::ModuleItem(..) => {
-                if i.def_id.is_local() && i.visibility != clean::Public {
+                if i.def_id.is_local() && !i.visibility.is_public() {
                     debug!("Stripper: stripping module {:?}", i.name);
                     let old = mem::replace(&mut self.update_retained, false);
-                    let ret = StripItem(self.fold_item_recur(i).unwrap()).strip();
+                    let ret = StripItem(self.fold_item_recur(i)).strip();
                     self.update_retained = old;
                     return ret;
                 }
@@ -107,12 +107,10 @@ fn fold_item(&mut self, i: Item) -> Option<Item> {
             self.fold_item_recur(i)
         };
 
-        if let Some(ref i) = i {
-            if self.update_retained {
-                self.retained.insert(i.def_id);
-            }
+        if self.update_retained {
+            self.retained.insert(i.def_id);
         }
-        i
+        Some(i)
     }
 }
 
@@ -153,7 +151,7 @@ fn fold_item(&mut self, i: Item) -> Option<Item> {
                 }
             }
         }
-        self.fold_item_recur(i)
+        Some(self.fold_item_recur(i))
     }
 }
 
@@ -163,10 +161,8 @@ fn fold_item(&mut self, i: Item) -> Option<Item> {
 impl DocFolder for ImportStripper {
     fn fold_item(&mut self, i: Item) -> Option<Item> {
         match i.kind {
-            clean::ExternCrateItem(..) | clean::ImportItem(..) if i.visibility != clean::Public => {
-                None
-            }
-            _ => self.fold_item_recur(i),
+            clean::ExternCrateItem(..) | clean::ImportItem(..) if !i.visibility.is_public() => None,
+            _ => Some(self.fold_item_recur(i)),
         }
     }
 }