Skip to content

Commit 4a76615

Browse files
committed
coalesce match patterns with identical bodies
1 parent a7a43cd commit 4a76615

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

src/librustdoc/clean/utils.rs

+6-5
Original file line numberDiff line numberDiff line change
@@ -299,10 +299,15 @@ pub(crate) fn name_from_pat(p: &hir::Pat<'_>) -> Symbol {
299299

300300
Symbol::intern(&match p.kind {
301301
// FIXME(never_patterns): does this make sense?
302-
PatKind::Wild | PatKind::Err(_) | PatKind::Never | PatKind::Struct(..) => {
302+
PatKind::Wild
303+
| PatKind::Err(_)
304+
| PatKind::Never
305+
| PatKind::Struct(..)
306+
| PatKind::Range(..) => {
303307
return kw::Underscore;
304308
}
305309
PatKind::Binding(_, _, ident, _) => return ident.name,
310+
PatKind::Box(p) | PatKind::Ref(p, _) | PatKind::Guard(p, _) => return name_from_pat(p),
306311
PatKind::TupleStruct(ref p, ..)
307312
| PatKind::Expr(PatExpr { kind: PatExprKind::Path(ref p), .. }) => qpath_to_string(p),
308313
PatKind::Or(pats) => {
@@ -312,17 +317,13 @@ pub(crate) fn name_from_pat(p: &hir::Pat<'_>) -> Symbol {
312317
"({})",
313318
elts.iter().map(|p| name_from_pat(p).to_string()).collect::<Vec<String>>().join(", ")
314319
),
315-
PatKind::Box(p) => return name_from_pat(p),
316320
PatKind::Deref(p) => format!("deref!({})", name_from_pat(p)),
317-
PatKind::Ref(p, _) => return name_from_pat(p),
318321
PatKind::Expr(..) => {
319322
warn!(
320323
"tried to get argument name from PatKind::Expr, which is silly in function arguments"
321324
);
322325
return Symbol::intern("()");
323326
}
324-
PatKind::Guard(p, _) => return name_from_pat(p),
325-
PatKind::Range(..) => return kw::Underscore,
326327
PatKind::Slice(begin, ref mid, end) => {
327328
let begin = begin.iter().map(|p| name_from_pat(p).to_string());
328329
let mid = mid.as_ref().map(|p| format!("..{}", name_from_pat(p))).into_iter();

0 commit comments

Comments
 (0)