about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorLeSeulArtichaut <leseulartichaut@gmail.com>2021-02-09 00:20:44 +0100
committerLeSeulArtichaut <leseulartichaut@gmail.com>2021-02-10 16:41:48 +0100
commit089ee27dd0ef2a639647cddecb2ea332c8d02bac (patch)
tree716e4a07230f98f658a4b879e747c588e4a5d8cd /src
parent793e88ad168a7ca63e9cd95faf8e7833fb5c341b (diff)
downloadrust-089ee27dd0ef2a639647cddecb2ea332c8d02bac.tar.gz
rust-089ee27dd0ef2a639647cddecb2ea332c8d02bac.zip
Do not ICE on range patterns in function arguments
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/clean/utils.rs5
-rw-r--r--src/test/rustdoc/range-arg-pattern.rs2
2 files changed, 2 insertions, 5 deletions
diff --git a/src/librustdoc/clean/utils.rs b/src/librustdoc/clean/utils.rs
index ef59e13f8fb..5b82954536c 100644
--- a/src/librustdoc/clean/utils.rs
+++ b/src/librustdoc/clean/utils.rs
@@ -289,10 +289,7 @@ crate fn name_from_pat(p: &hir::Pat<'_>) -> Symbol {
             );
             return Symbol::intern("()");
         }
-        PatKind::Range(..) => panic!(
-            "tried to get argument name from PatKind::Range, \
-             which is not allowed in function arguments"
-        ),
+        PatKind::Range(..) => return kw::Underscore,
         PatKind::Slice(ref begin, ref mid, ref end) => {
             let begin = begin.iter().map(|p| name_from_pat(&**p).to_string());
             let mid = mid.as_ref().map(|p| format!("..{}", name_from_pat(&**p))).into_iter();
diff --git a/src/test/rustdoc/range-arg-pattern.rs b/src/test/rustdoc/range-arg-pattern.rs
index f4cc36b1055..c08faaad0ec 100644
--- a/src/test/rustdoc/range-arg-pattern.rs
+++ b/src/test/rustdoc/range-arg-pattern.rs
@@ -1,5 +1,5 @@
 #![crate_name = "foo"]
 
 // @has foo/fn.f.html
-// @has - '//*[@class="rust fn"]' 'pub fn f(0u8 ...255: u8)'
+// @has - '//*[@class="rust fn"]' 'pub fn f(_: u8)'
 pub fn f(0u8...255: u8) {}