@@ -255,7 +255,7 @@ where
255255 }
256256
257257 fn parse_module ( & mut self ) -> Result < Parsed , ParseError > {
258- let definitions = Parser :: series_of ( self , & Parser :: parse_definition, None ) ;
258+ let definitions = self . series_of ( & Parser :: parse_definition, None ) ;
259259 let definitions = self . ensure_no_errors_or_remaining_input ( definitions) ?;
260260 let module = Module {
261261 name : "" . into ( ) ,
@@ -613,9 +613,8 @@ where
613613 self . advance ( ) ;
614614 let _ = self
615615 . expect_one ( & Token :: LeftParen )
616- . map_err ( |e| self . add_comment_style_hint ( e) ) ?;
617- let elements =
618- Parser :: series_of ( self , & Parser :: parse_expression, Some ( & Token :: Comma ) ) ?;
616+ . map_err ( |error| self . add_comment_style_hint ( error) ) ?;
617+ let elements = self . series_of ( & Parser :: parse_expression, Some ( & Token :: Comma ) ) ?;
619618 let ( _, end) =
620619 self . expect_one_following_series ( & Token :: RightParen , "an expression" ) ?;
621620 UntypedExpr :: Tuple {
@@ -732,11 +731,10 @@ where
732731 // BitArray
733732 Some ( ( start, Token :: LtLt , _) ) => {
734733 self . advance ( ) ;
735- let segments = Parser :: series_of (
736- self ,
737- & |s| {
734+ let segments = self . series_of (
735+ & |this| {
738736 Parser :: parse_bit_array_segment (
739- s ,
737+ this ,
740738 & ( |this| this. parse_expression_unit ( ExpressionUnitContext :: Other ) ) ,
741739 & Parser :: expect_expression,
742740 & bit_array_expr_int,
@@ -793,10 +791,9 @@ where
793791 // case
794792 Some ( ( start, Token :: Case , case_e) ) => {
795793 self . advance ( ) ;
796- let subjects =
797- Parser :: series_of ( self , & Parser :: parse_expression, Some ( & Token :: Comma ) ) ?;
794+ let subjects = self . series_of ( & Parser :: parse_expression, Some ( & Token :: Comma ) ) ?;
798795 if self . maybe_one ( & Token :: LeftBrace ) . is_some ( ) {
799- let clauses = Parser :: series_of ( self , & Parser :: parse_case_clause, None ) ?;
796+ let clauses = self . series_of ( & Parser :: parse_case_clause, None ) ?;
800797 let ( _, end) =
801798 self . expect_one_following_series ( & Token :: RightBrace , "a case clause" ) ?;
802799 if subjects. is_empty ( ) {
@@ -978,8 +975,7 @@ where
978975 } ;
979976 let mut arguments = vec ! [ ] ;
980977 if self . maybe_one ( & Token :: Comma ) . is_some ( ) {
981- arguments = Parser :: series_of (
982- self ,
978+ arguments = self . series_of (
983979 & Parser :: parse_record_update_arg,
984980 Some ( & Token :: Comma ) ,
985981 ) ?;
@@ -1033,7 +1029,7 @@ where
10331029 Some ( ( _, Token :: LArrow , _) ) => {
10341030 vec ! [ ]
10351031 }
1036- _ => Parser :: series_of ( self , & Parser :: parse_use_assignment, Some ( & Token :: Comma ) ) ?,
1032+ _ => self . series_of ( & Parser :: parse_use_assignment, Some ( & Token :: Comma ) ) ?,
10371033 } ;
10381034
10391035 _ = self . expect_one_following_series ( & Token :: LArrow , "a use variable assignment" ) ?;
@@ -1482,11 +1478,8 @@ where
14821478 Some ( ( start, Token :: Hash , _) ) => {
14831479 self . advance ( ) ;
14841480 let _ = self . expect_one ( & Token :: LeftParen ) ?;
1485- let elements = Parser :: series_of (
1486- self ,
1487- & |this| this. parse_pattern ( position) ,
1488- Some ( & Token :: Comma ) ,
1489- ) ?;
1481+ let elements =
1482+ self . series_of ( & |this| this. parse_pattern ( position) , Some ( & Token :: Comma ) ) ?;
14901483 let ( _, end) = self . expect_one_following_series ( & Token :: RightParen , "a pattern" ) ?;
14911484 Pattern :: Tuple {
14921485 location : SrcSpan { start, end } ,
@@ -1496,12 +1489,10 @@ where
14961489 // BitArray
14971490 Some ( ( start, Token :: LtLt , _) ) => {
14981491 self . advance ( ) ;
1499- let segments = Parser :: series_of (
1500- self ,
1501- & |s| {
1502- Parser :: parse_bit_array_segment (
1503- s,
1504- & |s| match s. parse_pattern ( position) {
1492+ let segments = self . series_of (
1493+ & |this| {
1494+ this. parse_bit_array_segment (
1495+ & |this| match this. parse_pattern ( position) {
15051496 Ok ( Some ( Pattern :: BitArray { location, .. } ) ) => {
15061497 parse_error ( ParseErrorType :: NestedBitArrayPattern , location)
15071498 }
@@ -1549,8 +1540,7 @@ where
15491540 if self . maybe_one ( & Token :: Comma ) . is_some ( ) {
15501541 // See if there's a list of items after the tail,
15511542 // like `[..wibble, wobble, wabble]`
1552- let elements = Parser :: series_of (
1553- self ,
1543+ let elements = self . series_of (
15541544 & |this| this. parse_pattern ( position) ,
15551545 Some ( & Token :: Comma ) ,
15561546 ) ;
@@ -1690,7 +1680,7 @@ where
16901680 let guard = self . parse_case_clause_guard ( ) ?;
16911681 let ( arr_s, arr_e) = self
16921682 . expect_one ( & Token :: RArrow )
1693- . map_err ( |e | self . add_multi_line_clause_hint ( e ) ) ?;
1683+ . map_err ( |error | self . add_multi_line_clause_hint ( error ) ) ?;
16941684 let then = self . parse_expression ( ) ?;
16951685 match then {
16961686 Some ( then) => Ok ( Some ( Clause {
@@ -1727,11 +1717,7 @@ where
17271717 & mut self ,
17281718 position : PatternPosition ,
17291719 ) -> Result < Vec < UntypedPattern > , ParseError > {
1730- Parser :: series_of (
1731- self ,
1732- & |this| this. parse_pattern ( position) ,
1733- Some ( & Token :: Comma ) ,
1734- )
1720+ self . series_of ( & |this| this. parse_pattern ( position) , Some ( & Token :: Comma ) )
17351721 }
17361722
17371723 // examples:
@@ -1829,7 +1815,7 @@ where
18291815 end : l_paren_end,
18301816 } ,
18311817 )
1832- . map_err ( |e | self . add_multi_line_clause_hint ( e ) ) ;
1818+ . map_err ( |error | self . add_multi_line_clause_hint ( error ) ) ;
18331819 }
18341820
18351821 Ok ( ( ) )
@@ -2217,12 +2203,9 @@ where
22172203 }
22182204 let _ = self
22192205 . expect_one ( & Token :: LeftParen )
2220- . map_err ( |e| self . add_anon_function_hint ( e) ) ?;
2221- let arguments = Parser :: series_of (
2222- self ,
2223- & |parser| Parser :: parse_fn_param ( parser, is_anon) ,
2224- Some ( & Token :: Comma ) ,
2225- ) ?;
2206+ . map_err ( |error| self . add_anon_function_hint ( error) ) ?;
2207+ let arguments =
2208+ self . series_of ( & |this| this. parse_fn_param ( is_anon) , Some ( & Token :: Comma ) ) ?;
22262209 let ( _, rpar_e) =
22272210 self . expect_one_following_series ( & Token :: RightParen , "a function parameter" ) ?;
22282211
@@ -2448,8 +2431,7 @@ where
24482431 // a: _, expr
24492432 // a: expr, _, b: _
24502433 fn parse_fn_arguments ( & mut self ) -> Result < Vec < ParserArg > , ParseError > {
2451- let arguments = Parser :: series_of ( self , & Parser :: parse_fn_argument, Some ( & Token :: Comma ) ) ?;
2452- Ok ( arguments)
2434+ self . series_of ( & Parser :: parse_fn_argument, Some ( & Token :: Comma ) )
24532435 }
24542436
24552437 // Parse a single function call arg
@@ -2587,7 +2569,7 @@ where
25872569 }
25882570
25892571 let constructors = self . series_of (
2590- & |parser| parser . parse_record_constructor ( ) ,
2572+ & |this| this . parse_record_constructor ( ) ,
25912573 // No separator
25922574 None ,
25932575 ) ?;
@@ -2717,7 +2699,7 @@ where
27172699 name_end : u32 ,
27182700 ) -> ParseError {
27192701 let fields = self . series_of (
2720- & |parser| parser . parse_record_constructor_field ( ) ,
2702+ & |this| this . parse_record_constructor_field ( ) ,
27212703 Some ( & Token :: Comma ) ,
27222704 ) ;
27232705
@@ -2770,9 +2752,8 @@ where
27702752 & mut self ,
27712753 ) -> Result < ( Vec < RecordConstructorArg < ( ) > > , u32 ) , ParseError > {
27722754 if self . maybe_one ( & Token :: LeftParen ) . is_some ( ) {
2773- let arguments = Parser :: series_of (
2774- self ,
2775- & |parser| parser. parse_record_constructor_field ( ) ,
2755+ let arguments = self . series_of (
2756+ & |this| this. parse_record_constructor_field ( ) ,
27762757 Some ( & Token :: Comma ) ,
27772758 ) ?;
27782759 let ( _, end) = self
@@ -2788,10 +2769,10 @@ where
27882769 ) -> Result < Option < RecordConstructorArg < ( ) > > , ParseError > {
27892770 match ( self . tok0 . take ( ) , self . tok1 . take ( ) ) {
27902771 ( Some ( ( start, Token :: Name { name } , name_end) ) , Some ( ( _, Token :: Colon , end) ) ) => {
2791- let _ = Parser :: next_tok ( self ) ;
2792- let _ = Parser :: next_tok ( self ) ;
2772+ let _ = self . next_tok ( ) ;
2773+ let _ = self . next_tok ( ) ;
27932774 let doc = self . take_documentation ( start) ;
2794- match Parser :: parse_type ( self ) ? {
2775+ match self . parse_type ( ) ? {
27952776 Some ( type_ast) => {
27962777 let end = type_ast. location ( ) . end ;
27972778 Ok ( Some ( RecordConstructorArg {
@@ -2808,7 +2789,7 @@ where
28082789 ( t0, t1) => {
28092790 self . tok0 = t0;
28102791 self . tok1 = t1;
2811- match Parser :: parse_type ( self ) ? {
2792+ match self . parse_type ( ) ? {
28122793 Some ( type_ast) => {
28132794 let doc = match & self . tok0 {
28142795 Some ( ( start, _, _) ) => self . take_documentation ( * start) ,
@@ -2837,8 +2818,7 @@ where
28372818 ) -> Result < ( u32 , EcoString , Vec < SpannedString > , u32 , u32 ) , ParseError > {
28382819 let ( start, upname, end) = self . expect_upname ( ) ?;
28392820 if let Some ( ( par_s, _) ) = self . maybe_one ( & Token :: LeftParen ) {
2840- let arguments =
2841- Parser :: series_of ( self , & |p| Ok ( Parser :: maybe_name ( p) ) , Some ( & Token :: Comma ) ) ?;
2821+ let arguments = self . series_of ( & |this| Ok ( this. maybe_name ( ) ) , Some ( & Token :: Comma ) ) ?;
28422822 let ( _, par_e) = self . expect_one_following_series ( & Token :: RightParen , "a name" ) ?;
28432823 if arguments. is_empty ( ) {
28442824 return parse_error (
@@ -2852,14 +2832,13 @@ where
28522832 . collect ( ) ;
28532833 Ok ( ( start, upname, arguments2, par_e, end) )
28542834 } else if let Some ( ( less_start, less_end) ) = self . maybe_one ( & Token :: Less ) {
2855- let mut arguments = Parser :: series_of (
2856- self ,
2857- & |p|
2835+ let mut arguments = self . series_of (
2836+ & |this|
28582837 // Permit either names (`a`) or upnames (`A`) in this error-handling mode,
28592838 // as upnames are common in other languages. Convert to lowercase so the
28602839 // example is correct whichever was used.
2861- Ok ( Parser :: maybe_name ( p )
2862- . or_else ( || Parser :: maybe_upname ( p ) )
2840+ Ok ( this . maybe_name ( )
2841+ . or_else ( || this . maybe_upname ( ) )
28632842 . map ( |( _, name, _) | name. to_lowercase ( ) ) ) ,
28642843 Some ( & Token :: Comma ) ,
28652844 ) ?;
@@ -2933,8 +2912,7 @@ where
29332912 Some ( ( start, Token :: Fn , _) ) => {
29342913 self . advance ( ) ;
29352914 let _ = self . expect_one ( & Token :: LeftParen ) ?;
2936- let arguments =
2937- Parser :: series_of ( self , & |x| Parser :: parse_type ( x) , Some ( & Token :: Comma ) ) ?;
2915+ let arguments = self . series_of ( & |this| this. parse_type ( ) , Some ( & Token :: Comma ) ) ?;
29382916 let _ = self . expect_one_following_series ( & Token :: RightParen , "a type" ) ?;
29392917 let ( arr_s, arr_e) = self . expect_one ( & Token :: RArrow ) ?;
29402918 let return_ = self . parse_type ( ) ?;
@@ -3082,7 +3060,7 @@ where
30823060
30833061 // For parsing a comma separated "list" of types, for tuple, constructor, and function
30843062 fn parse_types ( & mut self ) -> Result < Vec < TypeAst > , ParseError > {
3085- let elements = Parser :: series_of ( self , & |p| Parser :: parse_type ( p ) , Some ( & Token :: Comma ) ) ?;
3063+ let elements = self . series_of ( & |this| this . parse_type ( ) , Some ( & Token :: Comma ) ) ?;
30863064 Ok ( elements)
30873065 }
30883066
@@ -3395,8 +3373,7 @@ where
33953373 Some ( ( start, Token :: Hash , _) ) => {
33963374 self . advance ( ) ;
33973375 let _ = self . expect_one ( & Token :: LeftParen ) ?;
3398- let elements =
3399- Parser :: series_of ( self , & Parser :: parse_const_value, Some ( & Token :: Comma ) ) ?;
3376+ let elements = self . series_of ( & Parser :: parse_const_value, Some ( & Token :: Comma ) ) ?;
34003377 let ( _, end) =
34013378 self . expect_one_following_series ( & Token :: RightParen , "a constant value" ) ?;
34023379 Ok ( Some ( Constant :: Tuple {
@@ -3512,8 +3489,7 @@ where
35123489 // BitArray
35133490 Some ( ( start, Token :: LtLt , _) ) => {
35143491 self . advance ( ) ;
3515- let segments = Parser :: series_of (
3516- self ,
3492+ let segments = self . series_of (
35173493 & |this| {
35183494 this. parse_bit_array_segment (
35193495 & Parser :: parse_const_value,
@@ -3678,8 +3654,7 @@ where
36783654
36793655 let mut update_arguments = vec ! [ ] ;
36803656 if self . maybe_one ( & Token :: Comma ) . is_some ( ) {
3681- update_arguments = Parser :: series_of (
3682- self ,
3657+ update_arguments = self . series_of (
36833658 & Parser :: parse_const_record_update_arg,
36843659 Some ( & Token :: Comma ) ,
36853660 ) ?;
@@ -3703,11 +3678,8 @@ where
37033678 field_map : Inferred :: Unknown ,
37043679 } ) )
37053680 } else {
3706- let arguments = Parser :: series_of (
3707- self ,
3708- & Parser :: parse_const_record_arg,
3709- Some ( & Token :: Comma ) ,
3710- ) ?;
3681+ let arguments =
3682+ self . series_of ( & Parser :: parse_const_record_arg, Some ( & Token :: Comma ) ) ?;
37113683
37123684 let ( _, par_e) = self . expect_one_following_series (
37133685 & Token :: RightParen ,
@@ -3891,8 +3863,7 @@ where
38913863 match value_parser ( self ) ? {
38923864 Some ( value) => {
38933865 let options = if self . maybe_one ( & Token :: Colon ) . is_some ( ) {
3894- Parser :: series_of (
3895- self ,
3866+ self . series_of (
38963867 & |this| this. parse_bit_array_option ( & arg_parser, & to_int_segment) ,
38973868 Some ( & Token :: Minus ) ,
38983869 ) ?
0 commit comments