Skip to content

Commit 04cbe28

Browse files
authored
Rollup merge of rust-lang#138917 - nnethercote:rustdoc-remove-useless, r=GuillaumeGomez
rustdoc: remove useless `Symbol::is_empty` checks. There are a number of `is_empty` checks that can never fail. This commit removes them, in support of rust-lang#137978. r? `@GuillaumeGomez`
2 parents 5bd69d9 + 6bea9c7 commit 04cbe28

File tree

3 files changed

+38
-38
lines changed

3 files changed

+38
-38
lines changed

Diff for: src/librustdoc/clean/inline.rs

+1-11
Original file line numberDiff line numberDiff line change
@@ -211,17 +211,7 @@ pub(crate) fn load_attrs<'hir>(cx: &DocContext<'hir>, did: DefId) -> &'hir [hir:
211211
}
212212

213213
pub(crate) fn item_relative_path(tcx: TyCtxt<'_>, def_id: DefId) -> Vec<Symbol> {
214-
tcx.def_path(def_id)
215-
.data
216-
.into_iter()
217-
.filter_map(|elem| {
218-
// extern blocks (and a few others things) have an empty name.
219-
match elem.data.get_opt_name() {
220-
Some(s) if !s.is_empty() => Some(s),
221-
_ => None,
222-
}
223-
})
224-
.collect()
214+
tcx.def_path(def_id).data.into_iter().filter_map(|elem| elem.data.get_opt_name()).collect()
225215
}
226216

227217
/// Record an external fully qualified name in the external_paths cache.

Diff for: src/librustdoc/formats/cache.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ impl DocFolder for CacheBuilder<'_, '_> {
288288

289289
// Keep track of the fully qualified path for this item.
290290
let pushed = match item.name {
291-
Some(n) if !n.is_empty() => {
291+
Some(n) => {
292292
self.cache.stack.push(n);
293293
true
294294
}

Diff for: src/librustdoc/html/render/sidebar.rs

+36-26
Original file line numberDiff line numberDiff line change
@@ -734,20 +734,20 @@ fn get_methods<'a>(
734734
) -> Vec<Link<'a>> {
735735
i.items
736736
.iter()
737-
.filter_map(|item| match item.name {
738-
Some(ref name) if !name.is_empty() && item.is_method() => {
739-
if !for_deref || super::should_render_item(item, deref_mut, tcx) {
740-
Some(Link::new(
741-
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::Method)),
742-
name.as_str(),
743-
))
744-
} else {
745-
None
746-
}
737+
.filter_map(|item| {
738+
if let Some(ref name) = item.name
739+
&& item.is_method()
740+
&& (!for_deref || super::should_render_item(item, deref_mut, tcx))
741+
{
742+
Some(Link::new(
743+
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::Method)),
744+
name.as_str(),
745+
))
746+
} else {
747+
None
747748
}
748-
_ => None,
749749
})
750-
.collect::<Vec<_>>()
750+
.collect()
751751
}
752752

753753
fn get_associated_constants<'a>(
@@ -756,14 +756,19 @@ fn get_associated_constants<'a>(
756756
) -> Vec<Link<'a>> {
757757
i.items
758758
.iter()
759-
.filter_map(|item| match item.name {
760-
Some(ref name) if !name.is_empty() && item.is_associated_const() => Some(Link::new(
761-
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::AssocConst)),
762-
name.as_str(),
763-
)),
764-
_ => None,
759+
.filter_map(|item| {
760+
if let Some(ref name) = item.name
761+
&& item.is_associated_const()
762+
{
763+
Some(Link::new(
764+
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::AssocConst)),
765+
name.as_str(),
766+
))
767+
} else {
768+
None
769+
}
765770
})
766-
.collect::<Vec<_>>()
771+
.collect()
767772
}
768773

769774
fn get_associated_types<'a>(
@@ -772,12 +777,17 @@ fn get_associated_types<'a>(
772777
) -> Vec<Link<'a>> {
773778
i.items
774779
.iter()
775-
.filter_map(|item| match item.name {
776-
Some(ref name) if !name.is_empty() && item.is_associated_type() => Some(Link::new(
777-
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::AssocType)),
778-
name.as_str(),
779-
)),
780-
_ => None,
780+
.filter_map(|item| {
781+
if let Some(ref name) = item.name
782+
&& item.is_associated_type()
783+
{
784+
Some(Link::new(
785+
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::AssocType)),
786+
name.as_str(),
787+
))
788+
} else {
789+
None
790+
}
781791
})
782-
.collect::<Vec<_>>()
792+
.collect()
783793
}

0 commit comments

Comments
 (0)