Skip to content

Commit 6bea9c7

Browse files
committed
rustdoc: remove useless Symbol::is_empty checks.
There are a number of `is_empty` checks that can never fail. This commit removes them.
1 parent aa8f0fd commit 6bea9c7

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
@@ -731,20 +731,20 @@ fn get_methods<'a>(
731731
) -> Vec<Link<'a>> {
732732
i.items
733733
.iter()
734-
.filter_map(|item| match item.name {
735-
Some(ref name) if !name.is_empty() && item.is_method() => {
736-
if !for_deref || super::should_render_item(item, deref_mut, tcx) {
737-
Some(Link::new(
738-
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::Method)),
739-
name.as_str(),
740-
))
741-
} else {
742-
None
743-
}
734+
.filter_map(|item| {
735+
if let Some(ref name) = item.name
736+
&& item.is_method()
737+
&& (!for_deref || super::should_render_item(item, deref_mut, tcx))
738+
{
739+
Some(Link::new(
740+
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::Method)),
741+
name.as_str(),
742+
))
743+
} else {
744+
None
744745
}
745-
_ => None,
746746
})
747-
.collect::<Vec<_>>()
747+
.collect()
748748
}
749749

750750
fn get_associated_constants<'a>(
@@ -753,14 +753,19 @@ fn get_associated_constants<'a>(
753753
) -> Vec<Link<'a>> {
754754
i.items
755755
.iter()
756-
.filter_map(|item| match item.name {
757-
Some(ref name) if !name.is_empty() && item.is_associated_const() => Some(Link::new(
758-
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::AssocConst)),
759-
name.as_str(),
760-
)),
761-
_ => None,
756+
.filter_map(|item| {
757+
if let Some(ref name) = item.name
758+
&& item.is_associated_const()
759+
{
760+
Some(Link::new(
761+
get_next_url(used_links, format!("{typ}.{name}", typ = ItemType::AssocConst)),
762+
name.as_str(),
763+
))
764+
} else {
765+
None
766+
}
762767
})
763-
.collect::<Vec<_>>()
768+
.collect()
764769
}
765770

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

0 commit comments

Comments
 (0)