@@ -1098,22 +1098,35 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1098
1098
1099
1099
fn error_scrutinee_inconsistent_length ( & self , span : Span , min_len : u64 , size : u64 ) {
1100
1100
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,
1104
1108
)
1105
- . span_label ( span, format ! ( "expected {} elements " , size) )
1109
+ . span_label ( span, format ! ( "expected {} element{} " , size, if size != 1 { "s" } else { "" } ) )
1106
1110
. emit ( ) ;
1107
1111
}
1108
1112
1109
1113
fn error_scrutinee_with_rest_inconsistent_length ( & self , span : Span , min_len : u64 , size : u64 ) {
1110
1114
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 ( ) ;
1117
1130
}
1118
1131
1119
1132
fn error_scrutinee_unfixed_length ( & self , span : Span ) {
0 commit comments