@@ -299,10 +299,15 @@ pub(crate) fn name_from_pat(p: &hir::Pat<'_>) -> Symbol {
299
299
300
300
Symbol :: intern ( & match p. kind {
301
301
// 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 ( ..) => {
303
307
return kw:: Underscore ;
304
308
}
305
309
PatKind :: Binding ( _, _, ident, _) => return ident. name ,
310
+ PatKind :: Box ( p) | PatKind :: Ref ( p, _) | PatKind :: Guard ( p, _) => return name_from_pat ( p) ,
306
311
PatKind :: TupleStruct ( ref p, ..)
307
312
| PatKind :: Expr ( PatExpr { kind : PatExprKind :: Path ( ref p) , .. } ) => qpath_to_string ( p) ,
308
313
PatKind :: Or ( pats) => {
@@ -312,17 +317,13 @@ pub(crate) fn name_from_pat(p: &hir::Pat<'_>) -> Symbol {
312
317
"({})" ,
313
318
elts. iter( ) . map( |p| name_from_pat( p) . to_string( ) ) . collect:: <Vec <String >>( ) . join( ", " )
314
319
) ,
315
- PatKind :: Box ( p) => return name_from_pat ( p) ,
316
320
PatKind :: Deref ( p) => format ! ( "deref!({})" , name_from_pat( p) ) ,
317
- PatKind :: Ref ( p, _) => return name_from_pat ( p) ,
318
321
PatKind :: Expr ( ..) => {
319
322
warn ! (
320
323
"tried to get argument name from PatKind::Expr, which is silly in function arguments"
321
324
) ;
322
325
return Symbol :: intern ( "()" ) ;
323
326
}
324
- PatKind :: Guard ( p, _) => return name_from_pat ( p) ,
325
- PatKind :: Range ( ..) => return kw:: Underscore ,
326
327
PatKind :: Slice ( begin, ref mid, end) => {
327
328
let begin = begin. iter ( ) . map ( |p| name_from_pat ( p) . to_string ( ) ) ;
328
329
let mid = mid. as_ref ( ) . map ( |p| format ! ( "..{}" , name_from_pat( p) ) ) . into_iter ( ) ;
0 commit comments