@@ -49,6 +49,7 @@ impl<'a> Parser<'a> {
49
49
}
50
50
51
51
/// Parses the contents of a module (inner attributes followed by module items).
52
+ /// We exit once we hit `term`
52
53
pub fn parse_mod (
53
54
& mut self ,
54
55
term : & TokenKind ,
@@ -101,9 +102,9 @@ impl<'a> Parser<'a> {
101
102
fn_parse_mode : FnParseMode ,
102
103
force_collect : ForceCollect ,
103
104
) -> PResult < ' a , Option < Item > > {
104
- self . recover_diff_marker ( ) ;
105
+ self . recover_git_diff_marker ( ) ;
105
106
let attrs = self . parse_outer_attributes ( ) ?;
106
- self . recover_diff_marker ( ) ;
107
+ self . recover_git_diff_marker ( ) ;
107
108
self . parse_item_common ( attrs, true , false , fn_parse_mode, force_collect)
108
109
}
109
110
@@ -723,7 +724,7 @@ impl<'a> Parser<'a> {
723
724
if self . recover_doc_comment_before_brace ( ) {
724
725
continue ;
725
726
}
726
- self . recover_diff_marker ( ) ;
727
+ self . recover_git_diff_marker ( ) ;
727
728
match parse_item ( self ) {
728
729
Ok ( None ) => {
729
730
let mut is_unnecessary_semicolon = !items. is_empty ( )
@@ -1070,7 +1071,7 @@ impl<'a> Parser<'a> {
1070
1071
/// ```
1071
1072
fn parse_use_tree_list ( & mut self ) -> PResult < ' a , ThinVec < ( UseTree , ast:: NodeId ) > > {
1072
1073
self . parse_delim_comma_seq ( Delimiter :: Brace , |p| {
1073
- p. recover_diff_marker ( ) ;
1074
+ p. recover_git_diff_marker ( ) ;
1074
1075
Ok ( ( p. parse_use_tree ( ) ?, DUMMY_NODE_ID ) )
1075
1076
} )
1076
1077
. map ( |( r, _) | r)
@@ -1497,9 +1498,9 @@ impl<'a> Parser<'a> {
1497
1498
}
1498
1499
1499
1500
fn parse_enum_variant ( & mut self , span : Span ) -> PResult < ' a , Option < Variant > > {
1500
- self . recover_diff_marker ( ) ;
1501
+ self . recover_git_diff_marker ( ) ;
1501
1502
let variant_attrs = self . parse_outer_attributes ( ) ?;
1502
- self . recover_diff_marker ( ) ;
1503
+ self . recover_git_diff_marker ( ) ;
1503
1504
let help = "enum variants can be `Variant`, `Variant = <integer>`, \
1504
1505
`Variant(Type, ..., TypeN)` or `Variant { fields: Types }`";
1505
1506
self . collect_tokens_trailing_token (
@@ -1688,6 +1689,9 @@ impl<'a> Parser<'a> {
1688
1689
Ok ( ( class_name, ItemKind :: Union ( vdata, generics) ) )
1689
1690
}
1690
1691
1692
+ /// This function parses the fields of record structs:
1693
+ /// - struct S { ... }
1694
+ /// - enum E { variant { ... } }
1691
1695
pub ( crate ) fn parse_record_struct_body (
1692
1696
& mut self ,
1693
1697
adt_ty : & str ,
@@ -1714,19 +1718,10 @@ impl<'a> Parser<'a> {
1714
1718
self . eat ( & token:: CloseDelim ( Delimiter :: Brace ) ) ;
1715
1719
} else {
1716
1720
let token_str = super :: token_descr ( & self . token ) ;
1717
- let msg = format ! (
1718
- "expected {}`{{` after struct name, found {}" ,
1719
- if parsed_where { "" } else { "`where`, or " } ,
1720
- token_str
1721
- ) ;
1721
+ let where_str = if parsed_where { "" } else { "`where`, or " } ;
1722
+ let msg = format ! ( "expected {where_str}`{{` after struct name, found {token_str}" ) ;
1722
1723
let mut err = self . dcx ( ) . struct_span_err ( self . token . span , msg) ;
1723
- err. span_label (
1724
- self . token . span ,
1725
- format ! (
1726
- "expected {}`{{` after struct name" ,
1727
- if parsed_where { "" } else { "`where`, or " }
1728
- ) ,
1729
- ) ;
1724
+ err. span_label ( self . token . span , format ! ( "expected {where_str}`{{` after struct name" , ) ) ;
1730
1725
return Err ( err) ;
1731
1726
}
1732
1727
@@ -1740,7 +1735,7 @@ impl<'a> Parser<'a> {
1740
1735
let attrs = p. parse_outer_attributes ( ) ?;
1741
1736
p. collect_tokens_trailing_token ( attrs, ForceCollect :: No , |p, attrs| {
1742
1737
let mut snapshot = None ;
1743
- if p. is_diff_marker ( & TokenKind :: BinOp ( token:: Shl ) , & TokenKind :: Lt ) {
1738
+ if p. is_git_diff_marker ( & TokenKind :: BinOp ( token:: Shl ) , & TokenKind :: Lt ) {
1744
1739
// Account for `<<<<<<<` diff markers. We can't proactively error here because
1745
1740
// that can be a valid type start, so we snapshot and reparse only we've
1746
1741
// encountered another parse error.
@@ -1751,7 +1746,7 @@ impl<'a> Parser<'a> {
1751
1746
Ok ( vis) => vis,
1752
1747
Err ( err) => {
1753
1748
if let Some ( ref mut snapshot) = snapshot {
1754
- snapshot. recover_diff_marker ( ) ;
1749
+ snapshot. recover_git_diff_marker ( ) ;
1755
1750
}
1756
1751
return Err ( err) ;
1757
1752
}
@@ -1760,7 +1755,7 @@ impl<'a> Parser<'a> {
1760
1755
Ok ( ty) => ty,
1761
1756
Err ( err) => {
1762
1757
if let Some ( ref mut snapshot) = snapshot {
1763
- snapshot. recover_diff_marker ( ) ;
1758
+ snapshot. recover_git_diff_marker ( ) ;
1764
1759
}
1765
1760
return Err ( err) ;
1766
1761
}
@@ -1785,9 +1780,9 @@ impl<'a> Parser<'a> {
1785
1780
1786
1781
/// Parses an element of a struct declaration.
1787
1782
fn parse_field_def ( & mut self , adt_ty : & str ) -> PResult < ' a , FieldDef > {
1788
- self . recover_diff_marker ( ) ;
1783
+ self . recover_git_diff_marker ( ) ;
1789
1784
let attrs = self . parse_outer_attributes ( ) ?;
1790
- self . recover_diff_marker ( ) ;
1785
+ self . recover_git_diff_marker ( ) ;
1791
1786
self . collect_tokens_trailing_token ( attrs, ForceCollect :: No , |this, attrs| {
1792
1787
let lo = this. token . span ;
1793
1788
let vis = this. parse_visibility ( FollowedByType :: No ) ?;
@@ -2647,7 +2642,7 @@ impl<'a> Parser<'a> {
2647
2642
}
2648
2643
2649
2644
let ( mut params, _) = self . parse_paren_comma_seq ( |p| {
2650
- p. recover_diff_marker ( ) ;
2645
+ p. recover_git_diff_marker ( ) ;
2651
2646
let snapshot = p. create_snapshot_for_diagnostic ( ) ;
2652
2647
let param = p. parse_param_general ( req_name, first_param) . or_else ( |e| {
2653
2648
let guar = e. emit ( ) ;
0 commit comments