@@ -777,10 +777,9 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
777777                prior_arm_span, 
778778                prior_arm_ty, 
779779                source, 
780-                 ref  prior_arms , 
780+                 ref  prior_non_diverging_arms , 
781781                opt_suggest_box_span, 
782782                scrut_span, 
783-                 scrut_hir_id, 
784783                ..
785784            } )  => match  source { 
786785                hir:: MatchSource :: TryDesugar ( scrut_hir_id)  => { 
@@ -817,12 +816,12 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
817816                    } ) ; 
818817                    let  source_map = self . tcx . sess . source_map ( ) ; 
819818                    let  mut  any_multiline_arm = source_map. is_multiline ( arm_span) ; 
820-                     if  prior_arms . len ( )  <= 4  { 
821-                         for  sp in  prior_arms  { 
819+                     if  prior_non_diverging_arms . len ( )  <= 4  { 
820+                         for  sp in  prior_non_diverging_arms  { 
822821                            any_multiline_arm |= source_map. is_multiline ( * sp) ; 
823822                            err. span_label ( * sp,  format ! ( "this is found to be of type `{t}`" ) ) ; 
824823                        } 
825-                     }  else  if  let  Some ( sp)  = prior_arms . last ( )  { 
824+                     }  else  if  let  Some ( sp)  = prior_non_diverging_arms . last ( )  { 
826825                        any_multiline_arm |= source_map. is_multiline ( * sp) ; 
827826                        err. span_label ( 
828827                            * sp, 
@@ -848,24 +847,15 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
848847                    )  { 
849848                        err. subdiagnostic ( subdiag) ; 
850849                    } 
851-                     if  let  hir:: Node :: Expr ( m)  = self . tcx . parent_hir_node ( scrut_hir_id) 
852-                         && let  hir:: Node :: Stmt ( stmt)  = self . tcx . parent_hir_node ( m. hir_id ) 
853-                         && let  hir:: StmtKind :: Expr ( _)  = stmt. kind 
854-                     { 
855-                         err. span_suggestion_verbose ( 
856-                             stmt. span . shrink_to_hi ( ) , 
857-                             "consider using a semicolon here, but this will discard any values \  
858-                               in the match arms", 
859-                             ";" , 
860-                             Applicability :: MaybeIncorrect , 
861-                         ) ; 
862-                     } 
863850                    if  let  Some ( ret_sp)  = opt_suggest_box_span { 
864851                        // Get return type span and point to it. 
865852                        self . suggest_boxing_for_return_impl_trait ( 
866853                            err, 
867854                            ret_sp, 
868-                             prior_arms. iter ( ) . chain ( std:: iter:: once ( & arm_span) ) . copied ( ) , 
855+                             prior_non_diverging_arms
856+                                 . iter ( ) 
857+                                 . chain ( std:: iter:: once ( & arm_span) ) 
858+                                 . copied ( ) , 
869859                        ) ; 
870860                    } 
871861                } 
0 commit comments