Skip to content

Commit 0aa2844

Browse files
committed
rustdoc: Remove unnecessary StripItem wrapper
1 parent ae8b84b commit 0aa2844

File tree

3 files changed

+9
-16
lines changed

3 files changed

+9
-16
lines changed

src/librustdoc/fold.rs

+4-11
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,10 @@
11
use crate::clean::*;
22

3-
crate struct StripItem(pub Item);
4-
5-
impl StripItem {
6-
crate fn strip(self) -> Item {
7-
match self.0 {
8-
Item { kind: box StrippedItem(..), .. } => self.0,
9-
mut i => {
10-
i.kind = box StrippedItem(i.kind);
11-
i
12-
}
13-
}
3+
crate fn strip_item(mut item: Item) -> Item {
4+
if !matches!(*item.kind, StrippedItem(..)) {
5+
item.kind = box StrippedItem(item.kind);
146
}
7+
item
158
}
169

1710
crate trait DocFolder: Sized {

src/librustdoc/passes/strip_hidden.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use std::mem;
44
use crate::clean;
55
use crate::clean::{FakeDefIdSet, Item, NestedAttributesExt};
66
use crate::core::DocContext;
7-
use crate::fold::{DocFolder, StripItem};
7+
use crate::fold::{strip_item, DocFolder};
88
use crate::passes::{ImplStripper, Pass};
99

1010
crate const STRIP_HIDDEN: Pass = Pass {
@@ -44,7 +44,7 @@ impl<'a> DocFolder for Stripper<'a> {
4444
// strip things like impl methods but when doing so
4545
// we must not add any items to the `retained` set.
4646
let old = mem::replace(&mut self.update_retained, false);
47-
let ret = StripItem(self.fold_item_recur(i)).strip();
47+
let ret = strip_item(self.fold_item_recur(i));
4848
self.update_retained = old;
4949
return Some(ret);
5050
}

src/librustdoc/passes/stripper.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ use rustc_middle::middle::privacy::AccessLevels;
33
use std::mem;
44

55
use crate::clean::{self, FakeDefIdSet, GetDefId, Item};
6-
use crate::fold::{DocFolder, StripItem};
6+
use crate::fold::{strip_item, DocFolder};
77

88
crate struct Stripper<'a> {
99
crate retained: &'a mut FakeDefIdSet,
@@ -51,15 +51,15 @@ impl<'a> DocFolder for Stripper<'a> {
5151

5252
clean::StructFieldItem(..) => {
5353
if !i.visibility.is_public() {
54-
return Some(StripItem(i).strip());
54+
return Some(strip_item(i));
5555
}
5656
}
5757

5858
clean::ModuleItem(..) => {
5959
if i.def_id.is_local() && !i.visibility.is_public() {
6060
debug!("Stripper: stripping module {:?}", i.name);
6161
let old = mem::replace(&mut self.update_retained, false);
62-
let ret = StripItem(self.fold_item_recur(i)).strip();
62+
let ret = strip_item(self.fold_item_recur(i));
6363
self.update_retained = old;
6464
return Some(ret);
6565
}

0 commit comments

Comments
 (0)