@@ -1098,22 +1098,35 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
10981098
10991099 fn error_scrutinee_inconsistent_length ( & self , span : Span , min_len : u64 , size : u64 ) {
11001100 struct_span_err ! (
1101- self . tcx. sess, span, E0527 ,
1102- "pattern requires {} elements but array has {}" ,
1103- min_len, size
1101+ self . tcx. sess,
1102+ span,
1103+ E0527 ,
1104+ "pattern requires {} element{} but array has {}" ,
1105+ min_len,
1106+ if min_len != 1 { "s" } else { "" } ,
1107+ size,
11041108 )
1105- . span_label ( span, format ! ( "expected {} elements " , size) )
1109+ . span_label ( span, format ! ( "expected {} element{} " , size, if size != 1 { "s" } else { "" } ) )
11061110 . emit ( ) ;
11071111 }
11081112
11091113 fn error_scrutinee_with_rest_inconsistent_length ( & self , span : Span , min_len : u64 , size : u64 ) {
11101114 struct_span_err ! (
1111- self . tcx. sess, span, E0528 ,
1112- "pattern requires at least {} elements but array has {}" ,
1113- min_len, size
1114- )
1115- . span_label ( span, format ! ( "pattern cannot match array of {} elements" , size) )
1116- . emit ( ) ;
1115+ self . tcx. sess,
1116+ span,
1117+ E0528 ,
1118+ "pattern requires at least {} element{} but array has {}" ,
1119+ min_len,
1120+ if min_len != 1 { "s" } else { "" } ,
1121+ size,
1122+ ) . span_label (
1123+ span,
1124+ format ! (
1125+ "pattern cannot match array of {} element{}" ,
1126+ size,
1127+ if size != 1 { "s" } else { "" } ,
1128+ ) ,
1129+ ) . emit ( ) ;
11171130 }
11181131
11191132 fn error_scrutinee_unfixed_length ( & self , span : Span ) {
0 commit comments