@@ -1256,7 +1256,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1256
1256
subpats,
1257
1257
& variant. fields . raw ,
1258
1258
expected,
1259
- had_err. is_err ( ) ,
1259
+ had_err,
1260
1260
) ;
1261
1261
on_error ( e) ;
1262
1262
return Ty :: new_error ( tcx, e) ;
@@ -1272,7 +1272,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1272
1272
subpats : & ' tcx [ Pat < ' tcx > ] ,
1273
1273
fields : & ' tcx [ ty:: FieldDef ] ,
1274
1274
expected : Ty < ' tcx > ,
1275
- had_err : bool ,
1275
+ had_err : Result < ( ) , ErrorGuaranteed > ,
1276
1276
) -> ErrorGuaranteed {
1277
1277
let subpats_ending = pluralize ! ( subpats. len( ) ) ;
1278
1278
let fields_ending = pluralize ! ( fields. len( ) ) ;
@@ -1329,7 +1329,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1329
1329
// #67037: only do this if we could successfully type-check the expected type against
1330
1330
// the tuple struct pattern. Otherwise the args could get out of range on e.g.,
1331
1331
// `let P() = U;` where `P != U` with `struct P<T>(T);`.
1332
- ( ty:: Adt ( _, args) , [ field] , false ) => {
1332
+ ( ty:: Adt ( _, args) , [ field] , Ok ( ( ) ) ) => {
1333
1333
let field_ty = self . field_ty ( pat_span, field, args) ;
1334
1334
match field_ty. kind ( ) {
1335
1335
ty:: Tuple ( fields) => fields. len ( ) == subpats. len ( ) ,
0 commit comments