@@ -777,10 +777,9 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
777
777
prior_arm_span,
778
778
prior_arm_ty,
779
779
source,
780
- ref prior_arms ,
780
+ ref prior_non_diverging_arms ,
781
781
opt_suggest_box_span,
782
782
scrut_span,
783
- scrut_hir_id,
784
783
..
785
784
} ) => match source {
786
785
hir:: MatchSource :: TryDesugar ( scrut_hir_id) => {
@@ -817,12 +816,12 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
817
816
} ) ;
818
817
let source_map = self . tcx . sess . source_map ( ) ;
819
818
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 {
822
821
any_multiline_arm |= source_map. is_multiline ( * sp) ;
823
822
err. span_label ( * sp, format ! ( "this is found to be of type `{t}`" ) ) ;
824
823
}
825
- } else if let Some ( sp) = prior_arms . last ( ) {
824
+ } else if let Some ( sp) = prior_non_diverging_arms . last ( ) {
826
825
any_multiline_arm |= source_map. is_multiline ( * sp) ;
827
826
err. span_label (
828
827
* sp,
@@ -848,24 +847,15 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
848
847
) {
849
848
err. subdiagnostic ( subdiag) ;
850
849
}
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
- }
863
850
if let Some ( ret_sp) = opt_suggest_box_span {
864
851
// Get return type span and point to it.
865
852
self . suggest_boxing_for_return_impl_trait (
866
853
err,
867
854
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 ( ) ,
869
859
) ;
870
860
}
871
861
}
0 commit comments