@@ -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