Skip to content

Commit

Permalink
Rollup merge of rust-lang#83863 - eggyal:issue-83852, r=jyn514
Browse files Browse the repository at this point in the history
Render destructured struct function param names as underscore

Fixes rust-lang#83852

r? ````@GuillaumeGomez````
  • Loading branch information
Dylan-DPC committed Apr 5, 2021
2 parents 445aa40 + 14fac68 commit 98e7a4e
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 11 deletions.
12 changes: 1 addition & 11 deletions src/librustdoc/clean/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -251,19 +251,9 @@ crate fn name_from_pat(p: &hir::Pat<'_>) -> Symbol {
debug!("trying to get a name from pattern: {:?}", p);

Symbol::intern(&match p.kind {
PatKind::Wild => return kw::Underscore,
PatKind::Wild | PatKind::Struct(..) => return kw::Underscore,
PatKind::Binding(_, _, ident, _) => return ident.name,
PatKind::TupleStruct(ref p, ..) | PatKind::Path(ref p) => qpath_to_string(p),
PatKind::Struct(ref name, ref fields, etc) => format!(
"{} {{ {}{} }}",
qpath_to_string(name),
fields
.iter()
.map(|fp| format!("{}: {}", fp.ident, name_from_pat(&fp.pat)))
.collect::<Vec<String>>()
.join(", "),
if etc { ", .." } else { "" }
),
PatKind::Or(ref pats) => pats
.iter()
.map(|p| name_from_pat(&**p).to_string())
Expand Down
10 changes: 10 additions & 0 deletions src/test/rustdoc/struct-arg-pattern.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#![crate_name = "foo"]

struct BodyId {
hir_id: usize,
}

// @has 'foo/fn.body_owner.html' '//*[@class="rust fn"]' 'pub fn body_owner(_: BodyId)'
pub fn body_owner(BodyId { hir_id }: BodyId) {
// ...
}

0 comments on commit 98e7a4e

Please sign in to comment.