diff options
| author | Brendan Zabarauskas <bjzaba@yahoo.com.au> | 2015-01-04 17:52:08 +1100 |
|---|---|---|
| committer | Brendan Zabarauskas <bjzaba@yahoo.com.au> | 2015-01-04 17:52:08 +1100 |
| commit | afdddefc1028625a9a180296ad28ac38df5146dc (patch) | |
| tree | 9ce9e04cab8e5cec22982e208ab57104d7a91ab4 | |
| parent | 496dc4eae7de9d14cd49511a9acfbf5f11ae6c3f (diff) | |
| download | rust-afdddefc1028625a9a180296ad28ac38df5146dc.tar.gz rust-afdddefc1028625a9a180296ad28ac38df5146dc.zip | |
Allow rustdoc to accept vector pattern arguments
| -rw-r--r-- | src/librustdoc/clean/mod.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs index 459d6409f67..fa7dd81d826 100644 --- a/src/librustdoc/clean/mod.rs +++ b/src/librustdoc/clean/mod.rs @@ -2243,8 +2243,12 @@ fn name_from_pat(p: &ast::Pat) -> String { }, PatRange(..) => panic!("tried to get argument name from PatRange, \ which is not allowed in function arguments"), - PatVec(..) => panic!("tried to get argument name from pat_vec, \ - which is not allowed in function arguments"), + PatVec(ref begin, ref mid, ref end) => { + let begin = begin.iter().map(|p| name_from_pat(&**p)); + let mid = mid.as_ref().map(|p| format!("..{}", name_from_pat(&**p))).into_iter(); + let end = end.iter().map(|p| name_from_pat(&**p)); + format!("[{}]", begin.chain(mid).chain(end).collect::<Vec<_>>().connect(", ")) + }, PatMac(..) => { warn!("can't document the name of a function argument \ produced by a pattern macro"); |
