@@ -739,34 +739,6 @@ impl<'a> Parser<'a> {
739
739
}
740
740
}
741
741
742
- /// Parses a sequence, including the closing delimiter. The function
743
- /// `f` must consume tokens until reaching the next separator or
744
- /// closing bracket.
745
- fn parse_seq_to_end < T > (
746
- & mut self ,
747
- ket : & TokenKind ,
748
- sep : SeqSep ,
749
- f : impl FnMut ( & mut Parser < ' a > ) -> PResult < ' a , T > ,
750
- ) -> PResult < ' a , Vec < T > > {
751
- let ( val, _, recovered) = self . parse_seq_to_before_end ( ket, sep, f) ?;
752
- if !recovered {
753
- self . bump ( ) ;
754
- }
755
- Ok ( val)
756
- }
757
-
758
- /// Parses a sequence, not including the closing delimiter. The function
759
- /// `f` must consume tokens until reaching the next separator or
760
- /// closing bracket.
761
- fn parse_seq_to_before_end < T > (
762
- & mut self ,
763
- ket : & TokenKind ,
764
- sep : SeqSep ,
765
- f : impl FnMut ( & mut Parser < ' a > ) -> PResult < ' a , T > ,
766
- ) -> PResult < ' a , ( Vec < T > , bool , bool ) > {
767
- self . parse_seq_to_before_tokens ( & [ ket] , sep, TokenExpectType :: Expect , f)
768
- }
769
-
770
742
fn expect_any_with_type ( & mut self , kets : & [ & TokenKind ] , expect : TokenExpectType ) -> bool {
771
743
kets. iter ( ) . any ( |k| {
772
744
match expect {
@@ -854,6 +826,34 @@ impl<'a> Parser<'a> {
854
826
Ok ( ( v, trailing, recovered) )
855
827
}
856
828
829
+ /// Parses a sequence, not including the closing delimiter. The function
830
+ /// `f` must consume tokens until reaching the next separator or
831
+ /// closing bracket.
832
+ fn parse_seq_to_before_end < T > (
833
+ & mut self ,
834
+ ket : & TokenKind ,
835
+ sep : SeqSep ,
836
+ f : impl FnMut ( & mut Parser < ' a > ) -> PResult < ' a , T > ,
837
+ ) -> PResult < ' a , ( Vec < T > , bool , bool ) > {
838
+ self . parse_seq_to_before_tokens ( & [ ket] , sep, TokenExpectType :: Expect , f)
839
+ }
840
+
841
+ /// Parses a sequence, including the closing delimiter. The function
842
+ /// `f` must consume tokens until reaching the next separator or
843
+ /// closing bracket.
844
+ fn parse_seq_to_end < T > (
845
+ & mut self ,
846
+ ket : & TokenKind ,
847
+ sep : SeqSep ,
848
+ f : impl FnMut ( & mut Parser < ' a > ) -> PResult < ' a , T > ,
849
+ ) -> PResult < ' a , ( Vec < T > , bool /* trailing */ ) > {
850
+ let ( val, trailing, recovered) = self . parse_seq_to_before_end ( ket, sep, f) ?;
851
+ if !recovered {
852
+ self . eat ( ket) ;
853
+ }
854
+ Ok ( ( val, trailing) )
855
+ }
856
+
857
857
/// Parses a sequence, including the closing delimiter. The function
858
858
/// `f` must consume tokens until reaching the next separator or
859
859
/// closing bracket.
@@ -865,11 +865,7 @@ impl<'a> Parser<'a> {
865
865
f : impl FnMut ( & mut Parser < ' a > ) -> PResult < ' a , T > ,
866
866
) -> PResult < ' a , ( Vec < T > , bool ) > {
867
867
self . expect ( bra) ?;
868
- let ( result, trailing, recovered) = self . parse_seq_to_before_end ( ket, sep, f) ?;
869
- if !recovered {
870
- self . eat ( ket) ;
871
- }
872
- Ok ( ( result, trailing) )
868
+ self . parse_seq_to_end ( ket, sep, f)
873
869
}
874
870
875
871
fn parse_delim_comma_seq < T > (
0 commit comments