@@ -1582,21 +1582,21 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1582
1582
}
1583
1583
match ( inexistent_fields_err, unmentioned_err) {
1584
1584
( Some ( i) , Some ( u) ) => {
1585
- if let Some ( e) = self . error_tuple_variant_as_struct_pat ( pat, fields, variant) {
1585
+ if let Err ( e) = self . error_tuple_variant_as_struct_pat ( pat, fields, variant) {
1586
1586
// We don't want to show the nonexistent fields error when this was
1587
1587
// `Foo { a, b }` when it should have been `Foo(a, b)`.
1588
1588
i. delay_as_bug ( ) ;
1589
1589
u. delay_as_bug ( ) ;
1590
- Err ( e. emit ( ) )
1590
+ Err ( e)
1591
1591
} else {
1592
1592
i. emit ( ) ;
1593
1593
Err ( u. emit ( ) )
1594
1594
}
1595
1595
}
1596
1596
( None , Some ( u) ) => {
1597
- if let Some ( e) = self . error_tuple_variant_as_struct_pat ( pat, fields, variant) {
1597
+ if let Err ( e) = self . error_tuple_variant_as_struct_pat ( pat, fields, variant) {
1598
1598
u. delay_as_bug ( ) ;
1599
- Err ( e. emit ( ) )
1599
+ Err ( e)
1600
1600
} else {
1601
1601
Err ( u. emit ( ) )
1602
1602
}
@@ -1795,14 +1795,14 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1795
1795
pat : & Pat < ' _ > ,
1796
1796
fields : & ' tcx [ hir:: PatField < ' tcx > ] ,
1797
1797
variant : & ty:: VariantDef ,
1798
- ) -> Option < Diag < ' tcx > > {
1798
+ ) -> Result < ( ) , ErrorGuaranteed > {
1799
1799
if let ( Some ( CtorKind :: Fn ) , PatKind :: Struct ( qpath, pattern_fields, ..) ) =
1800
1800
( variant. ctor_kind ( ) , & pat. kind )
1801
1801
{
1802
1802
let is_tuple_struct_match = !pattern_fields. is_empty ( )
1803
1803
&& pattern_fields. iter ( ) . map ( |field| field. ident . name . as_str ( ) ) . all ( is_number) ;
1804
1804
if is_tuple_struct_match {
1805
- return None ;
1805
+ return Ok ( ( ) ) ;
1806
1806
}
1807
1807
1808
1808
let path = rustc_hir_pretty:: qpath_to_string ( & self . tcx , qpath) ;
@@ -1830,9 +1830,9 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
1830
1830
format ! ( "({sugg})" ) ,
1831
1831
appl,
1832
1832
) ;
1833
- return Some ( err) ;
1833
+ return Err ( err. emit ( ) ) ;
1834
1834
}
1835
- None
1835
+ Ok ( ( ) )
1836
1836
}
1837
1837
1838
1838
fn get_suggested_tuple_struct_pattern (
0 commit comments