diff --git a/attribute/attribute.mbt b/attribute/attribute.mbt index 228cdab1..766905a0 100644 --- a/attribute/attribute.mbt +++ b/attribute/attribute.mbt @@ -55,10 +55,10 @@ pub fn Attribute::new( ) -> Attribute { //TODO: report better syntax error for attribute let (id, dot_id, raw_payload) = content - let raw_payload = raw_payload.trim(char_set=" ").to_string() let (raw, attr_id) = match dot_id { None => ("#\{id}\{raw_payload}", { qual: None, name: id }) - Some(dot_id) => ("#\{id}.\{dot_id}", { qual: Some(id), name: dot_id }) + Some(dot_id) => + ("#\{id}.\{dot_id}\{raw_payload}", { qual: Some(id), name: dot_id }) } let { errors, docstrings: _, tokens } = @lexer.tokens_from_string( raw_payload, diff --git a/attribute/attribute_test.mbt b/attribute/attribute_test.mbt index f672111d..0a8c7087 100644 --- a/attribute/attribute_test.mbt +++ b/attribute/attribute_test.mbt @@ -10,7 +10,7 @@ test "attribute" { inspect( attr, content=( - #|{loc: -0:1-0:1, raw: "#qual.name", parsed: Some(Apply(qual.name, @list.from_array([Expr(Ident(a)), Expr(Ident(b)), Expr(Ident(c))])))} + #|{loc: -0:1-0:1, raw: "#qual.name(a,b,c)", parsed: Some(Apply(qual.name, @list.from_array([Expr(Ident(a)), Expr(Ident(b)), Expr(Ident(c))])))} ), ) let attr = Attribute::new( @@ -20,7 +20,7 @@ test "attribute" { inspect( attr, content=( - #|{loc: -0:1-0:1, raw: "#qual.name", parsed: Some(Apply(qual.name, @list.from_array([Labeled("label1", Ident(abc)), Labeled("label2", Ident(cde))])))} + #|{loc: -0:1-0:1, raw: "#qual.name(label1=abc, label2=cde)", parsed: Some(Apply(qual.name, @list.from_array([Labeled("label1", Ident(abc)), Labeled("label2", Ident(cde))])))} ), ) let attr = Attribute::new( @@ -30,7 +30,7 @@ test "attribute" { inspect( attr, content=( - #|{loc: -0:1-0:1, raw: "#qual.name", parsed: Some(Apply(qual.name, @list.from_array([Expr(Apply(f, @list.from_array([Expr(Bool(false))]))), Expr(Apply(g, @list.from_array([Expr(Bool(true))])))])))} + #|{loc: -0:1-0:1, raw: "#qual.name(f(false), g(true))", parsed: Some(Apply(qual.name, @list.from_array([Expr(Apply(f, @list.from_array([Expr(Bool(false))]))), Expr(Apply(g, @list.from_array([Expr(Bool(true))])))])))} ), ) let attr = Attribute::new( @@ -40,7 +40,7 @@ test "attribute" { inspect( attr, content=( - #|{loc: -0:1-0:1, raw: "#qual.name", parsed: Some(Apply(qual.name, @list.from_array([Expr(String("abcdef")), Expr(Apply(g, @list.from_array([Expr(Bool(true))])))])))} + #|{loc: -0:1-0:1, raw: "#qual.name(\"abcdef\", g(true))", parsed: Some(Apply(qual.name, @list.from_array([Expr(String("abcdef")), Expr(Apply(g, @list.from_array([Expr(Bool(true))])))])))} ), ) let attr = Attribute::new(loc=dummy_loc, ("qual", Some("name"), "")) diff --git a/attribute/parser.mbt b/attribute/parser.mbt index 4a62fbe5..e86ec17f 100644 --- a/attribute/parser.mbt +++ b/attribute/parser.mbt @@ -190,11 +190,13 @@ priv enum YYSymbol { T_ENUMVIEW T_DECLARE T_NORAISE + T_NOBREAK T_WHERE T_TRY_QUESTION T_TRY_EXCLAMATION T_LEXMATCH T_LEXMATCH_QUESTION + T_PACKAGE NT_payloads NT_property NT_expr @@ -214,7 +216,7 @@ fn init { } // file:///./parser.mbty -// 150| EOF { @list.empty() } +// 153| EOF { @list.empty() } ///| fn yy_action_0( @@ -230,7 +232,7 @@ fn yy_action_0( } // file:///./parser.mbty -// 151| properties { $1 } +// 154| properties { $1 } ///| fn yy_action_1( @@ -247,7 +249,7 @@ fn yy_action_1( } // file:///./parser.mbty -// 167| "(" ")" { @list.empty() } +// 170| "(" ")" { @list.empty() } ///| fn yy_action_2( @@ -263,7 +265,7 @@ fn yy_action_2( } // file:///./parser.mbty -// 168| "(" non_empty_properties ")" { $2 } +// 171| "(" non_empty_properties ")" { $2 } ///| fn yy_action_3( @@ -280,7 +282,7 @@ fn yy_action_3( } // file:///./parser.mbty -// 154| name=LIDENT "=" expr { Labeled(name, $3) } +// 157| name=LIDENT "=" expr { Labeled(name, $3) } ///| fn yy_action_4( @@ -298,7 +300,7 @@ fn yy_action_4( } // file:///./parser.mbty -// 161| qual=LIDENT name=DOT_LIDENT props=properties { Apply({qual: Some(qual), name}, props) } +// 164| qual=LIDENT name=DOT_LIDENT props=properties { Apply({qual: Some(qual), name}, props) } ///| fn yy_action_5( @@ -317,7 +319,7 @@ fn yy_action_5( } // file:///./parser.mbty -// 159| qual=LIDENT name=DOT_LIDENT { Ident({qual: Some(qual), name}) } +// 162| qual=LIDENT name=DOT_LIDENT { Ident({qual: Some(qual), name}) } ///| fn yy_action_6( @@ -335,7 +337,7 @@ fn yy_action_6( } // file:///./parser.mbty -// 160| name=LIDENT props=properties { Apply({qual: None, name}, props) } +// 163| name=LIDENT props=properties { Apply({qual: None, name}, props) } ///| fn yy_action_7( @@ -353,7 +355,7 @@ fn yy_action_7( } // file:///./parser.mbty -// 158| name=LIDENT { Ident({qual: None, name}) } +// 161| name=LIDENT { Ident({qual: None, name}) } ///| fn yy_action_8( @@ -370,7 +372,7 @@ fn yy_action_8( } // file:///./parser.mbty -// 155| expr { Expr($1) } +// 158| expr { Expr($1) } ///| fn yy_action_9( @@ -387,7 +389,7 @@ fn yy_action_9( } // file:///./parser.mbty -// 162| STRING { String($1) } +// 165| STRING { String($1) } ///| fn yy_action_10( @@ -404,7 +406,7 @@ fn yy_action_10( } // file:///./parser.mbty -// 163| TRUE { Bool(true) } +// 166| TRUE { Bool(true) } ///| fn yy_action_11( @@ -420,7 +422,7 @@ fn yy_action_11( } // file:///./parser.mbty -// 164| FALSE { Bool(false) } +// 167| FALSE { Bool(false) } ///| fn yy_action_12( @@ -436,7 +438,7 @@ fn yy_action_12( } // file:///./parser.mbty -// 172| x=property "," xs=non_empty_properties{ xs.add(x) } +// 175| x=property "," xs=non_empty_properties{ xs.add(x) } ///| fn yy_action_13( @@ -454,7 +456,7 @@ fn yy_action_13( } // file:///./parser.mbty -// 171| property { @list.from_array([$1]) } +// 174| property { @list.from_array([$1]) } ///| fn yy_action_14( @@ -585,11 +587,13 @@ fn yy_input( ENUMVIEW => (T_ENUMVIEW, YYObj_Void) DECLARE => (T_DECLARE, YYObj_Void) NORAISE => (T_NORAISE, YYObj_Void) + NOBREAK => (T_NOBREAK, YYObj_Void) WHERE => (T_WHERE, YYObj_Void) TRY_QUESTION => (T_TRY_QUESTION, YYObj_Void) TRY_EXCLAMATION => (T_TRY_EXCLAMATION, YYObj_Void) LEXMATCH => (T_LEXMATCH, YYObj_Void) LEXMATCH_QUESTION => (T_LEXMATCH_QUESTION, YYObj_Void) + PACKAGE => (T_PACKAGE, YYObj_Void) } } @@ -1083,11 +1087,13 @@ fn error( (T_ENUMVIEW, TK_ENUMVIEW), (T_DECLARE, TK_DECLARE), (T_NORAISE, TK_NORAISE), + (T_NOBREAK, TK_NOBREAK), (T_WHERE, TK_WHERE), (T_TRY_QUESTION, TK_TRY_QUESTION), (T_TRY_EXCLAMATION, TK_TRY_EXCLAMATION), (T_LEXMATCH, TK_LEXMATCH), (T_LEXMATCH_QUESTION, TK_LEXMATCH_QUESTION), + (T_PACKAGE, TK_PACKAGE), ] : Array[(YYSymbol, TokenKind)]) { try_add(term.0, term.1) } diff --git a/attribute/parser.mbt.map.json b/attribute/parser.mbt.map.json index 687b1adb..7a2682d0 100644 --- a/attribute/parser.mbt.map.json +++ b/attribute/parser.mbt.map.json @@ -2,128 +2,128 @@ "mappings": [ { "source": "parser.mbty", - "original_offset": 3113, - "generated_offset": 2923, + "original_offset": 3180, + "generated_offset": 2947, "length": 15 }, { "source": "parser.mbty", - "original_offset": 3146, - "generated_offset": 3167, + "original_offset": 3213, + "generated_offset": 3191, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3149, - "generated_offset": 3176, + "original_offset": 3216, + "generated_offset": 3200, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3871, - "generated_offset": 3386, + "original_offset": 3938, + "generated_offset": 3410, "length": 15 }, { "source": "parser.mbty", - "original_offset": 3922, - "generated_offset": 3648, + "original_offset": 3989, + "generated_offset": 3672, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3925, - "generated_offset": 3657, + "original_offset": 3992, + "generated_offset": 3681, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3199, - "generated_offset": 3943, + "original_offset": 3266, + "generated_offset": 3967, "length": 15 }, { "source": "parser.mbty", - "original_offset": 3216, - "generated_offset": 3966, + "original_offset": 3283, + "generated_offset": 3990, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3575, - "generated_offset": 4340, + "original_offset": 3642, + "generated_offset": 4364, "length": 40 }, { "source": "parser.mbty", - "original_offset": 3404, - "generated_offset": 4699, + "original_offset": 3471, + "generated_offset": 4723, "length": 33 }, { "source": "parser.mbty", - "original_offset": 3489, - "generated_offset": 5057, + "original_offset": 3556, + "generated_offset": 5081, "length": 34 }, { "source": "parser.mbty", - "original_offset": 3325, - "generated_offset": 5363, + "original_offset": 3392, + "generated_offset": 5387, "length": 27 }, { "source": "parser.mbty", - "original_offset": 3248, - "generated_offset": 5625, + "original_offset": 3315, + "generated_offset": 5649, "length": 6 }, { "source": "parser.mbty", - "original_offset": 3256, - "generated_offset": 5639, + "original_offset": 3323, + "generated_offset": 5663, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3667, - "generated_offset": 5910, + "original_offset": 3734, + "generated_offset": 5934, "length": 8 }, { "source": "parser.mbty", - "original_offset": 3677, - "generated_offset": 5926, + "original_offset": 3744, + "generated_offset": 5950, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3731, - "generated_offset": 6145, + "original_offset": 3798, + "generated_offset": 6169, "length": 12 }, { "source": "parser.mbty", - "original_offset": 3795, - "generated_offset": 6375, + "original_offset": 3862, + "generated_offset": 6399, "length": 13 }, { "source": "parser.mbty", - "original_offset": 4048, - "generated_offset": 6682, + "original_offset": 4115, + "generated_offset": 6706, "length": 11 }, { "source": "parser.mbty", - "original_offset": 3979, - "generated_offset": 6935, + "original_offset": 4046, + "generated_offset": 6959, "length": 19 }, { "source": "parser.mbty", - "original_offset": 4000, - "generated_offset": 6962, + "original_offset": 4067, + "generated_offset": 6986, "length": 3 } ] diff --git a/attribute/parser.mbty b/attribute/parser.mbty index 720e026d..230e6249 100644 --- a/attribute/parser.mbty +++ b/attribute/parser.mbty @@ -115,11 +115,14 @@ %token ENUMVIEW "enumview" %token DECLARE "declare" %token NORAISE "noraise" +%token NOBREAK "nobreak" %token WHERE "where" %token TRY_QUESTION "try?" %token TRY_EXCLAMATION "try!" %token LEXMATCH "lexmatch" %token LEXMATCH_QUESTION "lexmatch?" +%token PACKAGE "package" + %right BARBAR %right AMPERAMPER diff --git a/handrolled_parser/parser.mbt b/handrolled_parser/parser.mbt index 1d3b4f93..900b11db 100644 --- a/handrolled_parser/parser.mbt +++ b/handrolled_parser/parser.mbt @@ -361,16 +361,7 @@ fn State::parse_local_type_decl(self : Self) -> @syntax.LocalTypeDecl { self.expect_token(TK_RPAREN) TupleStruct(@list.from_array(ts)) } - _ => { - let fields = self.surround_series( - invalid_delims=[TK_COMMA], - left=TK_LBRACE, - right=TK_RBRACE, - delim=TK_SEMI, - State::parse_field_decl, - ) - Record(@list.from_array(fields)) - } + _ => self.parse_struct_body(allow_constr=false) } let deriving = self.parse_deriving_directive_list() { tycon, tycon_loc, components, deriving } @@ -431,8 +422,10 @@ fn State::parse_fun_decl( vis: Default, doc: @syntax.DocString::empty(), attrs, + loc, } } + let spos = self.peek_spos() let is_async = if self.peek_token() is ASYNC { let loc = self.peek_location() self.skip() @@ -460,6 +453,7 @@ fn State::parse_fun_decl( }) let params_loc = self.loc_start_with(param_loc_start) let (return_type, error_type) = self.parse_func_return_type() + let loc = self.loc_start_with(spos) { name, has_error, @@ -473,6 +467,7 @@ fn State::parse_fun_decl( vis: Default, doc: @syntax.DocString::empty(), attrs, + loc, } } @@ -506,57 +501,7 @@ fn State::parse_trait_method_decl(self : Self) -> @syntax.TraitMethodDecl { let has_error = self.parse_optional_bang() let quantifiers = self.parse_opt_typ_params() self.pop_sync(TK_LPAREN) - self.expect_token(TK_LPAREN) - let (params, _) = self.series_with_follow( - delim=TK_COMMA, - follow_set=[TK_RPAREN], - fn(state) -> @syntax.Parameter { - match state.peek_token() { - // `label~ : Type` - POST_LABEL(binder_name) => { - let binder_loc = Location::trim_last_char(state.peek_location()) - state.skip() - let binder : @syntax.Binder = { name: binder_name, loc: binder_loc } - state.expect_token(TK_COLON) - let typ = state.parse_type() - Labelled(binder~, ty=Some(typ)) - } - LIDENT(_) => { - let binder_loc = state.peek_location() - let binder_name = state.expect_lident(context="parameter name") - let binder : @syntax.Binder = { name: binder_name, loc: binder_loc } - let has_question = state.peek_token() is QUESTION - if has_question { - state.skip() - } - state.expect_token(TK_COLON) - let typ = state.parse_type() - if has_question { - QuestionOptional(binder~, ty=Some(typ)) - } else { - Positional(binder~, ty=Some(typ)) - } - } - tok if first_type_.contains(tok.kind()) => { - let typ = state.parse_type() - let loc = typ.loc() - DiscardPositional(ty=Some(typ), loc~) - } - other => { - let other_loc = state.peek_location() - state.report_unexpected( - other, - [TK_POST_LABEL, ..first_type_], - other_loc, - ) - let loc = state.panic() - DiscardPositional(ty=None, loc~) - } - } - }, - ) - let params = params |> @list.from_array - self.expect_token(TK_RPAREN) + let params = self.parse_trait_method_params() let (return_type, error_type) = self.parse_func_return_type() let has_default = if self.peek_token() is EQUAL { self.skip() @@ -1068,16 +1013,7 @@ fn State::parse_top(self : Self) -> @syntax.Impl { self.expect_token(TK_RPAREN) TupleStruct(@list.from_array(ts)) } - _ => { - let fields = self.surround_series( - invalid_delims=[TK_COMMA], - left=TK_LBRACE, - right=TK_RBRACE, - delim=TK_SEMI, - State::parse_field_decl, - ) - Record(@list.from_array(fields)) - } + _ => self.parse_struct_body(allow_constr=true) } let deriving = self.parse_deriving_directive_list() let loc = self.loc_start_with(spos) @@ -1801,6 +1737,53 @@ fn State::parse_top(self : Self) -> @syntax.Impl { } } +///| +fn State::parse_struct_body( + self : State, + allow_constr~ : Bool, +) -> @syntax.TypeDesc { + let foc_list = self.surround_series( + invalid_delims=[TK_COMMA], + left=TK_LBRACE, + right=TK_RBRACE, + delim=TK_SEMI, + State::parse_field_decl_or_constr_decl, + ) + let mut fields = @list.empty() + fn check_fields(field_or_constr_list : ArrayView[FieldOrConstr]) -> Unit { + match field_or_constr_list { + [] => () + [.. rest, Constr(constr_decl)] => { + self.report_error({ + loc: constr_decl.loc, + msg: "Constructor function declaration can only occur at the end of `struct` declaration.", + }) + check_fields(rest) + } + [.. rest, Field(field)] => { + fields = fields.add(field) + check_fields(rest) + } + } + } + let constr_decl = if foc_list is [.. fields, Constr(constr_decl)] { + check_fields(fields) + if allow_constr { + Some(constr_decl) + } else { + self.report_error({ + loc: constr_decl.loc, + msg: "Constructor function declaration is not allowed in local type declaration.", + }) + None + } + } else { + check_fields(foc_list) + None + } + Record(fields~, constr_decl~) +} + ///| fn State::parse_deriving_directive_list( self : Self, @@ -1849,9 +1832,69 @@ fn State::parse_deriving_directive(self : Self) -> @syntax.DerivingDirective { } ///| -fn State::parse_field_decl(self : Self) -> @syntax.FieldDecl { +priv enum FieldOrConstr { + Field(@syntax.FieldDecl) + Constr(@syntax.FunDecl) +} + +///| +fn State::parse_trait_method_params(self : State) -> @syntax.Parameters { + let params = self.surround_series( + delim=TK_COMMA, + left=TK_LPAREN, + right=TK_RPAREN, + fn(state) -> @syntax.Parameter { + match state.peek_token() { + // `label~ : Type` + POST_LABEL(binder_name) => { + let binder_loc = Location::trim_last_char(state.peek_location()) + state.skip() + let binder : @syntax.Binder = { name: binder_name, loc: binder_loc } + state.expect_token(TK_COLON) + let typ = state.parse_type() + Labelled(binder~, ty=Some(typ)) + } + LIDENT(_) => { + let binder_loc = state.peek_location() + let binder_name = state.expect_lident(context="parameter name") + let binder : @syntax.Binder = { name: binder_name, loc: binder_loc } + let has_question = state.peek_token() is QUESTION + if has_question { + state.skip() + } + state.expect_token(TK_COLON) + let typ = state.parse_type() + if has_question { + QuestionOptional(binder~, ty=Some(typ)) + } else { + Positional(binder~, ty=Some(typ)) + } + } + tok if first_type_.contains(tok.kind()) => { + let typ = state.parse_type() + let loc = typ.loc() + DiscardPositional(ty=Some(typ), loc~) + } + other => { + let other_loc = state.peek_location() + state.report_unexpected( + other, + [TK_POST_LABEL, ..first_type_], + other_loc, + ) + let loc = state.panic() + DiscardPositional(ty=None, loc~) + } + } + }, + ) + params |> @list.from_array +} + +///| +fn State::parse_field_decl_or_constr_decl(self : Self) -> FieldOrConstr { if self.mode is Panic(loc~, ..) { - return { + return Field({ name: { label: "?field_name", loc }, ty: Any(loc~), mut_: false, @@ -1859,30 +1902,65 @@ fn State::parse_field_decl(self : Self) -> @syntax.FieldDecl { doc: DocString::empty(), attrs: @list.empty(), loc, - } + }) } let spos = self.peek_spos() let attrs = self.parse_attributes() - let vis = self.parse_visibility() - let mut_ = if self.peek_token() is MUTABLE { - self.expect_token(TK_MUTABLE) - true - } else { - false - } - let name_loc = self.peek_location() - let name = self.expect_lident(context="struct field name") - self.expect_token(TK_COLON) - let ty = self.parse_type() - let loc = self.loc_start_with(spos) - { - name: { label: name, loc: name_loc }, - ty, - mut_, - vis, - loc, - attrs, - doc: DocString::empty(), + match self.peek_token() { + ASYNC | FN => { + let is_async = if self.peek_token() is ASYNC { + let loc = self.peek_location() + self.skip() + Some(loc) + } else { + None + } + self.expect_token(TK_FN) + let quantifiers = self.parse_opt_typ_params() + let name = self.parse_binder(context="name of `fn`") + let param_loc_start = self.peek_spos() + let params = self.parse_trait_method_params() + let params_loc = self.loc_start_with(param_loc_start) + let (return_type, error_type) = self.parse_func_return_type() + Constr({ + name, + has_error: None, + is_async, + type_name: None, + quantifiers, + params_loc, + decl_params: Some(params), + return_type, + error_type, + vis: Default, + doc: DocString::empty(), + attrs, + loc: self.loc_start_with(spos), + }) + } + _ => { + let vis = self.parse_visibility() + let mut_ = if self.peek_token() is MUTABLE { + self.expect_token(TK_MUTABLE) + true + } else { + false + } + let name_loc = self.peek_location() + let name = self.expect_lident(context="struct field name") + self.expect_token(TK_COLON) + let ty = self.parse_type() + let loc = self.loc_start_with(spos) + Field({ + name: { label: name, loc: name_loc }, + ty, + mut_, + vis, + loc, + attrs, + doc: DocString::empty(), + }) + } } } @@ -2985,11 +3063,11 @@ fn State::parse_try_expr(self : Self) -> @syntax.Expr { State::parse_case, ) |> @list.from_array - let (try_else, else_loc) = if self.peek_token() is (ELSE | NORAISE) { + let (try_else, else_loc) = if self.peek_token() is NORAISE { let else_spos = self.peek_spos() self.skip() let lbrace_epos = self.peek_epos() - // the else_loc is the location of `else {` or `noraise {` + // the else_loc is the location of `noraise {` let else_loc : Location = { start: else_spos, end: lbrace_epos } let try_else_cases = self.surround_series( invalid_delims=[TK_COMMA], @@ -3197,6 +3275,7 @@ fn State::parse_lexmatch_case(self : State) -> @syntax.LexCase { @syntax.LexCase::{ pat: @list.singleton(Wildcard(loc~)), pat_loc: loc, + guard_: None, body: Hole(loc~, kind=Todo), } } @@ -3205,12 +3284,43 @@ fn State::parse_lexmatch_case(self : State) -> @syntax.LexCase { [TK_FAT_ARROW, TK_COMMA], State::parse_lex_pattern, ) + let guard_ = self.parse_lex_case_guard() let act = self.parse_fat_arrow_action() - { pat, pat_loc, body: act } + { pat, pat_loc, guard_, body: act } } } } +///| +fn State::parse_lex_case_guard(self : State) -> @syntax.Expr? { + match self.peek_token() { + IF => { + self.skip() + // an error production to handle `lex pattern if invalid-infix-expr => action` + let expr = match self.peek_token() { + IF + | MATCH + | LOOP + | WHILE + | FOR + | TRY + | TRY_QUESTION + | TRY_EXCLAMATION + | LET + | LETREC + | GUARD + | BREAK + | RETURN + | CONTINUE => + self.handle_unexpected_expr_or_statement(context="lex case guard") + _ => self.parse_infix_expr(parsed=None) + } + Some(expr) + } + _ => None + } +} + ///| fn State::parse_lex_pattern( self : State, @@ -3626,16 +3736,34 @@ fn State::parse_simple_try_expr( State::parse_case, ) |> @list.from_array + let (try_else, else_loc) = if self.peek_token() is NORAISE { + let else_spos = self.peek_spos() + self.skip() + let lbrace_epos = self.peek_epos() + // the else_loc is the location of `else {` or `noraise {` + let else_loc : Location = { start: else_spos, end: lbrace_epos } + let try_else_cases = self.surround_series( + invalid_delims=[TK_COMMA], + left=TK_LBRACE, + right=TK_RBRACE, + delim=TK_SEMI, + State::parse_case, + ) + |> @list.from_array + (Some(try_else_cases), else_loc) + } else { + (None, @syntax.no_location) + } let loc = self.loc_start_with(spos) Try( body=e, catch_=catch_cases, catch_all~, - try_else=None, + try_else~, has_try=false, try_loc=catch_loc, catch_loc~, - else_loc=@syntax.no_location, + else_loc~, loc~, ) } diff --git a/lexer/asi.mbt b/lexer/asi.mbt index 562e5b9f..138d8558 100644 --- a/lexer/asi.mbt +++ b/lexer/asi.mbt @@ -48,6 +48,7 @@ fn can_occur_before_semicolon(token : Token) -> Bool { | SEMI(_) | PLUS | PACKAGE_NAME(_) + | PACKAGE | NEWLINE | MUTABLE | MINUS @@ -115,7 +116,8 @@ fn can_occur_before_semicolon(token : Token) -> Bool { | USING | LEXMATCH | LEXMATCH_QUESTION - | WHERE => false + | WHERE + | NOBREAK => false } } @@ -154,6 +156,7 @@ fn can_occur_after_semicolon(token : Token) -> Bool { | TRAIT | TRAITALIAS | PACKAGE_NAME(_) + | PACKAGE | MUTABLE | MATCH | TRY @@ -268,7 +271,8 @@ fn can_occur_after_semicolon(token : Token) -> Bool { | RANGE_EXCLUSIVE_REV | AND | LEXMATCH_QUESTION - | WHERE => false + | WHERE + | NOBREAK => false } } diff --git a/lexer/keywords.mbt b/lexer/keywords.mbt index c0505771..ef33f2eb 100644 --- a/lexer/keywords.mbt +++ b/lexer/keywords.mbt @@ -51,6 +51,7 @@ let keyword_table : @hashmap.HashMap[String, Token] = [ ("lexmatch", LEXMATCH), ("where", WHERE), ("declare", DECLARE), + ("nobreak", NOBREAK), ] |> @hashmap.from_array() diff --git a/mbti_ast/imports.mbt b/mbti_ast/imports.mbt index ed0df5b9..445aab17 100644 --- a/mbti_ast/imports.mbt +++ b/mbti_ast/imports.mbt @@ -15,7 +15,11 @@ pub using @syntax { type ConstrName, type ConstrParam, type Label, + type Parameter, } ///| pub type QualifiedIdent = @syntax.LongIdent + +///| +pub type Attributes = @list.List[@attribute.Attribute] diff --git a/mbti_ast/mbti_ast.mbt b/mbti_ast/mbti_ast.mbt index 31100838..99c639b5 100644 --- a/mbti_ast/mbti_ast.mbt +++ b/mbti_ast/mbti_ast.mbt @@ -23,36 +23,41 @@ pub(all) enum TypeParamNoConstraints { } ///| -pub(all) enum Parameter { - Positional(Type) - Labelled(Label, Type) - Autofill(Label, Type) - OptionalDefault(Label, Type) - OptionalOption(Label, Type) -} - -///| -pub(all) enum TraitMethodParameter { - Positional(Type) - Labelled(Label, Type) +pub(all) struct MethodSelfType { + name : String + is_object : Bool + loc : Location } ///| pub(all) struct FuncSig { - attr : @list.List[(String, String?, String)] - type_name : Name? + attrs : Attributes + type_name : MethodSelfType? name : Name params : @list.List[Parameter] return_ : (Type, ErrorType) type_params : @list.List[TypeParamWithConstraints] + is_async : Location? +} + +///| +pub(all) enum TypeDefinition { + Abstract + Newtype(Type) + TupleStruct(@list.List[Type]) + Error(@syntax.ExceptionDecl) + Variant(@list.List[ConstrDecl]) + Record(fields~ : @list.List[FieldDecl], constr~ : FuncSig?) + Alias(Type) } ///| pub(all) struct TypeSig { name : Name type_params : @list.List[TypeParamNoConstraints] - components : TypeDesc + components : TypeDefinition vis : Visibility + attrs : Attributes } ///| @@ -61,18 +66,26 @@ pub(all) enum AliasSig { name~ : Name, type_params~ : @list.List[TypeParamNoConstraints], type_~ : Type, - vis~ : Visibility + vis~ : Visibility, + attrs~ : Attributes + ) + Using( + pkg~ : Name, + target~ : Name, + name~ : Name?, + kind~ : @syntax.UsingKind, + attrs~ : Attributes ) - TraitAlias(name~ : Name, trait_name~ : QualifiedName, vis~ : Visibility) - FnAlias(name~ : Name, type_name~ : QualifiedName, loc~ : Location) + FuncAlias(name~ : Name, type_name~ : Name, attrs~ : Attributes) } ///| pub(all) struct TraitMethodSig { name : Name - params : @list.List[TraitMethodParameter] + params : @list.List[Parameter] has_default : Bool return_ : (Type, ErrorType) + attrs : Attributes } ///| @@ -81,16 +94,15 @@ pub(all) struct TraitSig { super_traits : @list.List[QualifiedName] methods : @list.List[TraitMethodSig] vis : Visibility + attrs : Attributes } ///| -pub(all) enum ImplSig { - Trait( - type_params~ : @list.List[TypeParamWithConstraints], - type_~ : Type, - trait_name~ : QualifiedName - ) - DefaultImpl(trait_name~ : Name, method_name~ : Name) +pub(all) struct ImplSig { + type_params : @list.List[TypeParamWithConstraints] + type_ : Type + trait_name : QualifiedName + attrs : Attributes } ///| @@ -98,12 +110,14 @@ pub(all) struct ConstSig { name : Name type_ : Type value : Constant + attrs : Attributes } ///| pub(all) struct ValueSig { name : Name type_ : Type + attrs : Attributes } ///| @@ -123,9 +137,25 @@ pub(all) enum Sig { Value(ValueSig) } +///| +pub fn Sig::attrs(self : Sig) -> Attributes { + match self { + Const({ attrs, .. }) + | Impl({ attrs, .. }) + | Trait({ attrs, .. }) + | Alias(Using(attrs~, ..)) + | Alias(TypeAlias(attrs~, ..)) + | Alias(FuncAlias(attrs~, ..)) + | Type({ attrs, .. }) + | Func({ attrs, .. }) + | Value({ attrs, .. }) => attrs + } +} + ///| pub(all) struct Mbti { package_name : String imports : @list.List[PackageImport] sigs : @list.List[(Sig, Location)] + loc : Location } diff --git a/mbti_ast/moon.pkg b/mbti_ast/moon.pkg index 98a70539..04313913 100644 --- a/mbti_ast/moon.pkg +++ b/mbti_ast/moon.pkg @@ -1,4 +1,5 @@ import { + "moonbitlang/parser/attribute", "moonbitlang/parser/basic", "moonbitlang/parser/syntax", "moonbitlang/core/list", diff --git a/mbti_ast/pkg.generated.mbti b/mbti_ast/pkg.generated.mbti index 336511e3..78151ef1 100644 --- a/mbti_ast/pkg.generated.mbti +++ b/mbti_ast/pkg.generated.mbti @@ -3,6 +3,7 @@ package "moonbitlang/parser/mbti_ast" import { "moonbitlang/core/list", + "moonbitlang/parser/attribute", "moonbitlang/parser/basic", "moonbitlang/parser/syntax", } @@ -13,35 +14,46 @@ import { // Types and methods pub(all) enum AliasSig { - TypeAlias(name~ : Name, type_params~ : @list.List[TypeParamNoConstraints], type_~ : @syntax.Type, vis~ : @syntax.Visibility) - TraitAlias(name~ : Name, trait_name~ : QualifiedName, vis~ : @syntax.Visibility) - FnAlias(name~ : Name, type_name~ : QualifiedName, loc~ : @basic.Location) + TypeAlias(name~ : Name, type_params~ : @list.List[TypeParamNoConstraints], type_~ : @syntax.Type, vis~ : @syntax.Visibility, attrs~ : @list.List[@attribute.Attribute]) + Using(pkg~ : Name, target~ : Name, name~ : Name?, kind~ : @syntax.UsingKind, attrs~ : @list.List[@attribute.Attribute]) + FuncAlias(name~ : Name, type_name~ : Name, attrs~ : @list.List[@attribute.Attribute]) } pub(all) struct ConstSig { name : Name type_ : @syntax.Type value : @syntax.Constant + attrs : @list.List[@attribute.Attribute] } pub(all) struct FuncSig { - attr : @list.List[(String, String?, String)] - type_name : Name? + attrs : @list.List[@attribute.Attribute] + type_name : MethodSelfType? name : Name - params : @list.List[Parameter] + params : @list.List[@syntax.Parameter] return_ : (@syntax.Type, @syntax.ErrorType) type_params : @list.List[TypeParamWithConstraints] + is_async : @basic.Location? } -pub(all) enum ImplSig { - Trait(type_params~ : @list.List[TypeParamWithConstraints], type_~ : @syntax.Type, trait_name~ : QualifiedName) - DefaultImpl(trait_name~ : Name, method_name~ : Name) +pub(all) struct ImplSig { + type_params : @list.List[TypeParamWithConstraints] + type_ : @syntax.Type + trait_name : QualifiedName + attrs : @list.List[@attribute.Attribute] } pub(all) struct Mbti { package_name : String imports : @list.List[PackageImport] sigs : @list.List[(Sig, @basic.Location)] + loc : @basic.Location +} + +pub(all) struct MethodSelfType { + name : String + is_object : Bool + loc : @basic.Location } pub(all) struct Name { @@ -55,14 +67,6 @@ pub(all) struct PackageImport { alias_ : String? } -pub(all) enum Parameter { - Positional(@syntax.Type) - Labelled(@syntax.Label, @syntax.Type) - Autofill(@syntax.Label, @syntax.Type) - OptionalDefault(@syntax.Label, @syntax.Type) - OptionalOption(@syntax.Label, @syntax.Type) -} - pub(all) struct QualifiedName { name : @syntax.LongIdent loc : @basic.Location @@ -77,17 +81,14 @@ pub(all) enum Sig { Const(ConstSig) Value(ValueSig) } - -pub(all) enum TraitMethodParameter { - Positional(@syntax.Type) - Labelled(@syntax.Label, @syntax.Type) -} +pub fn Sig::attrs(Self) -> @list.List[@attribute.Attribute] pub(all) struct TraitMethodSig { name : Name - params : @list.List[TraitMethodParameter] + params : @list.List[@syntax.Parameter] has_default : Bool return_ : (@syntax.Type, @syntax.ErrorType) + attrs : @list.List[@attribute.Attribute] } pub(all) struct TraitSig { @@ -95,6 +96,17 @@ pub(all) struct TraitSig { super_traits : @list.List[QualifiedName] methods : @list.List[TraitMethodSig] vis : @syntax.Visibility + attrs : @list.List[@attribute.Attribute] +} + +pub(all) enum TypeDefinition { + Abstract + Newtype(@syntax.Type) + TupleStruct(@list.List[@syntax.Type]) + Error(@syntax.ExceptionDecl) + Variant(@list.List[@syntax.ConstrDecl]) + Record(fields~ : @list.List[@syntax.FieldDecl], constr~ : FuncSig?) + Alias(@syntax.Type) } pub(all) enum TypeParamNoConstraints { @@ -110,16 +122,20 @@ pub(all) struct TypeParamWithConstraints { pub(all) struct TypeSig { name : Name type_params : @list.List[TypeParamNoConstraints] - components : @syntax.TypeDesc + components : TypeDefinition vis : @syntax.Visibility + attrs : @list.List[@attribute.Attribute] } pub(all) struct ValueSig { name : Name type_ : @syntax.Type + attrs : @list.List[@attribute.Attribute] } // Type aliases +pub type Attributes = @list.List[@attribute.Attribute] + pub using @syntax {type Constant} pub using @syntax {type ConstrDecl} @@ -138,6 +154,8 @@ pub using @syntax {type FieldName} pub using @syntax {type Label} +pub using @syntax {type Parameter} + pub using @syntax {type LongIdent as QualifiedIdent} pub using @syntax {type Type} diff --git a/mbti_parser/imports.mbt b/mbti_parser/imports.mbt index dd096f16..3bdbc9bf 100644 --- a/mbti_parser/imports.mbt +++ b/mbti_parser/imports.mbt @@ -31,7 +31,6 @@ using @mbti_ast { type Parameter, type TypeParamNoConstraints, type TypeParamWithConstraints, - type TraitMethodParameter, type FieldDecl, type FieldName, type ConstrDecl, @@ -49,4 +48,6 @@ using @mbti_ast { type Sig, type PackageImport, type Mbti, + type MethodSelfType, + type TypeDefinition, } diff --git a/mbti_parser/mbti_parser.mbt b/mbti_parser/mbti_parser.mbt index aaec0f09..46a234d0 100644 --- a/mbti_parser/mbti_parser.mbt +++ b/mbti_parser/mbti_parser.mbt @@ -56,8 +56,13 @@ priv suberror YYObj_Option_Bool_ { } ///| -priv suberror YYObj_Option_Name_ { - YYObj_Option_Name_(Name?) +priv suberror YYObj_Option_Type_ { + YYObj_Option_Type_(Type?) +} + +///| +priv suberror YYObj_Option_MethodSelfType_ { + YYObj_Option_MethodSelfType_(MethodSelfType?) } ///| @@ -185,14 +190,19 @@ priv suberror YYObj_StringLiteral { YYObj_StringLiteral(StringLiteral) } +///| +priv suberror YYObj_MethodSelfType { + YYObj_MethodSelfType(MethodSelfType) +} + ///| priv suberror YYObj_TraitMethodSig { YYObj_TraitMethodSig(TraitMethodSig) } ///| -priv suberror YYObj_TraitMethodParameter { - YYObj_TraitMethodParameter(TraitMethodParameter) +priv suberror YYObj_TypeDefinition { + YYObj_TypeDefinition(TypeDefinition) } ///| @@ -215,11 +225,6 @@ priv suberror YYObj__list_List_Attribute_ { YYObj__list_List_Attribute_(@list.List[Attribute]) } -///| -priv suberror YYObj__list_List_FieldDecl_ { - YYObj__list_List_FieldDecl_(@list.List[FieldDecl]) -} - ///| priv suberror YYObj__list_List_Parameter_ { YYObj__list_List_Parameter_(@list.List[Parameter]) @@ -250,11 +255,6 @@ priv suberror YYObj__list_List_TraitMethodSig_ { YYObj__list_List_TraitMethodSig_(@list.List[TraitMethodSig]) } -///| -priv suberror YYObj__list_List_TraitMethodParameter_ { - YYObj__list_List_TraitMethodParameter_(@list.List[TraitMethodParameter]) -} - ///| priv suberror YYObj__list_List_TypeParamNoConstraints_ { YYObj__list_List_TypeParamNoConstraints_(@list.List[TypeParamNoConstraints]) @@ -273,10 +273,8 @@ priv suberror YYObj__list_List__Sig__Location__ { } ///| -priv suberror YYObj__list_List__String__Option_String___String__ { - YYObj__list_List__String__Option_String___String__( - @list.List[(String, String?, String)] - ) +priv suberror YYObj_Name_ { + YYObj_Name_(Name?) } ///| @@ -306,6 +304,11 @@ priv suberror YYObj__String__Location_ { YYObj__String__Location_((String, Location)) } +///| +priv suberror YYObj___list_List_FieldDecl___FuncSig__ { + YYObj___list_List_FieldDecl___FuncSig__((@list.List[FieldDecl], FuncSig?)) +} + ///| priv suberror YYObj__String__Option_String___String_ { YYObj__String__Option_String___String_((String, String?, String)) @@ -438,12 +441,14 @@ priv enum YYSymbol { T_USING T_DECLARE T_NORAISE + T_NOBREAK T_WHERE T_ENUMVIEW T_TRY_QUESTION T_TRY_EXCLAMATION T_LEXMATCH T_LEXMATCH_QUESTION + T_PACKAGE NT_mbti NT_imports NT_package_import @@ -451,17 +456,21 @@ priv enum YYSymbol { NT_sig_ NT_const_sig NT_value_sig + NT_method_self_type_coloncolon NT_method_prefix - NT_func_sig_no_attr NT_func_sig NT_trait_method_sig NT_type_sig NT_impl_sig NT_trait_sig + NT_using_binder NT_alias_sig NT_enum_constructor NT_constructor_param NT_record_decl_field + NT_record_decl_constr + NT_record_decl_body + NT_record_decl_body_nonempty NT_type_param_with_constraints NT_type_params_with_constraints NT_type_param_no_constraints @@ -475,7 +484,6 @@ priv enum YYSymbol { NT_error_type NT_optional_type_arguments NT_parameter - NT_trait_method_parameter NT_constant NT_pub_attr NT_qualified_uident @@ -484,14 +492,13 @@ priv enum YYSymbol { NT_lident NT_label NT_post_label - NT_separated_nonempty_list_SEMI_package_import_ + NT_separated_nonempty_list_COMMA_package_import_ NT_loption_type_params_with_constraints_ + NT_option_method_self_type_coloncolon_ NT_separated_list_COMMA_parameter_ - NT_nonempty_list_ATTRIBUTE_ - NT_separated_list_COMMA_trait_method_parameter_ NT_boption_eq_underscore_ + NT_option_type__ NT_separated_list_SEMI_enum_constructor_ - NT_separated_list_SEMI_record_decl_field_ NT_separated_list_COMMA_type__ NT_separated_nonempty_list_PLUS_qualified_uident_ NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ @@ -506,9 +513,7 @@ priv enum YYSymbol { NT_separated_nonempty_list_COMMA_type__ NT_nonempty_list_attribute_ NT_separated_nonempty_list_COMMA_parameter_ - NT_separated_nonempty_list_COMMA_trait_method_parameter_ NT_separated_nonempty_list_SEMI_enum_constructor_ - NT_separated_nonempty_list_SEMI_record_decl_field_ NT_separated_nonempty_list_COMMA_type_param_with_constraints_ NT_separated_nonempty_list_COMMA_type_param_no_constraints_ EOI @@ -525,7 +530,7 @@ fn init { } // file:///./mbti_parser.mbty -// 122| LIDENT STRING ioption(";") imports sigs EOF { Mbti::{package_name: $2, imports: $4, sigs: $5} } +// 124| PACKAGE STRING ioption(";") imports sigs EOF { Mbti::{package_name: $2, imports: $4, sigs: $5, loc : mk_loc($sloc)} } ///| fn yy_action_0( @@ -536,10 +541,21 @@ fn yy_action_0( guard _args[1].0 is YYObj_StringLiteral(_dollar2) guard _args[2].0 is YYObj__list_List_PackageImport_(_dollar4) guard _args[3].0 is YYObj__list_List__Sig__Location__(_dollar5) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_Mbti( { () - Mbti::{ package_name: _dollar2, imports: _dollar4, sigs: _dollar5 } + Mbti::{ + package_name: _dollar2, + imports: _dollar4, + sigs: _dollar5, + loc: mk_loc((_symbol_start_pos, _end_pos)), + } }, ) } @@ -561,7 +577,7 @@ fn yy_action_1( } // file:///./mbti_parser.mbty -// 122| LIDENT STRING ioption(";") imports sigs EOF { Mbti::{package_name: $2, imports: $4, sigs: $5} } +// 124| PACKAGE STRING ioption(";") imports sigs EOF { Mbti::{package_name: $2, imports: $4, sigs: $5, loc : mk_loc($sloc)} } ///| fn yy_action_2( @@ -572,10 +588,21 @@ fn yy_action_2( guard _args[1].0 is YYObj_StringLiteral(_dollar2) guard _args[3].0 is YYObj__list_List_PackageImport_(_dollar4) guard _args[4].0 is YYObj__list_List__Sig__Location__(_dollar5) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_Mbti( { () - Mbti::{ package_name: _dollar2, imports: _dollar4, sigs: _dollar5 } + Mbti::{ + package_name: _dollar2, + imports: _dollar4, + sigs: _dollar5, + loc: mk_loc((_symbol_start_pos, _end_pos)), + } }, ) } @@ -598,7 +625,7 @@ fn yy_action_3( } // file:///./mbti_parser.mbty -// 138| sig_ ";" sigs { $3.add(($1, mk_loc($loc($1)))) } +// 140| sig_ ";" sigs { $3.add(($1, mk_loc($loc($1)))) } ///| fn yy_action_4( @@ -618,7 +645,7 @@ fn yy_action_4( } // file:///./mbti_parser.mbty -// 137| sig_ { @list.singleton(($1, mk_loc($sloc))) } +// 139| sig_ { @list.singleton(($1, mk_loc($sloc))) } ///| fn yy_action_5( @@ -641,7 +668,7 @@ fn yy_action_5( } // file:///./mbti_parser.mbty -// 142| func_sig { Func($1) } +// 144| func_sig { Func($1) } ///| fn yy_action_6( @@ -658,7 +685,7 @@ fn yy_action_6( } // file:///./mbti_parser.mbty -// 143| type_sig { Type($1) } +// 145| type_sig { Type($1) } ///| fn yy_action_7( @@ -675,7 +702,7 @@ fn yy_action_7( } // file:///./mbti_parser.mbty -// 144| alias_sig { Alias($1) } +// 146| alias_sig { Alias($1) } ///| fn yy_action_8( @@ -692,7 +719,7 @@ fn yy_action_8( } // file:///./mbti_parser.mbty -// 145| trait_sig { Trait($1) } +// 147| trait_sig { Trait($1) } ///| fn yy_action_9( @@ -709,7 +736,7 @@ fn yy_action_9( } // file:///./mbti_parser.mbty -// 146| impl_sig { Impl($1) } +// 148| impl_sig { Impl($1) } ///| fn yy_action_10( @@ -726,7 +753,7 @@ fn yy_action_10( } // file:///./mbti_parser.mbty -// 147| const_sig { Const($1) } +// 149| const_sig { Const($1) } ///| fn yy_action_11( @@ -743,7 +770,7 @@ fn yy_action_11( } // file:///./mbti_parser.mbty -// 148| value_sig { Value($1) } +// 150| value_sig { Value($1) } ///| fn yy_action_12( @@ -760,1475 +787,1903 @@ fn yy_action_12( } // file:///./mbti_parser.mbty -// 152| "const" uident ":" type_ "=" constant { ConstSig::{name: $2, type_: $4, value: $6} } +// 154| attributes vis "const" uident ":" type_ "=" constant { ConstSig::{name: $4, type_: $6, value: $8, attrs: $1} } ///| fn yy_action_13( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_Name(_dollar2) - guard _args[3].0 is YYObj_Type(_dollar4) - guard _args[5].0 is YYObj_Constant(_dollar6) + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _args[1].0 is YYObj_Name(_dollar4) + guard _args[3].0 is YYObj_Type(_dollar6) + guard _args[5].0 is YYObj_Constant(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) YYObj_ConstSig( { () - ConstSig::{ name: _dollar2, type_: _dollar4, value: _dollar6 } + ConstSig::{ + name: _dollar4, + type_: _dollar6, + value: _dollar8, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 311| TRUE { Bool(true) } +// 154| attributes vis "const" uident ":" type_ "=" constant { ConstSig::{name: $4, type_: $6, value: $8, attrs: $1} } ///| -fn yy_action_14( +fn yy_action_16( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + guard _args[6].0 is YYObj_Constant(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ConstSig( { () - Bool(true) + ConstSig::{ + name: _dollar4, + type_: _dollar6, + value: _dollar8, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 312| FALSE { Bool(false) } +// 158| attributes vis "let" lident ":" type_ { ValueSig::{ attrs: $1, name: $4, type_: $6 } } ///| -fn yy_action_15( +fn yy_action_18( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + YYObj_ValueSig( { () - Bool(false) + ValueSig::{ attrs: _dollar1, name: _dollar4, type_: _dollar6 } }, ) } // file:///./mbti_parser.mbty -// 313| BYTE { Byte($1) } +// 239| attributes vis "type" type_decl_name_with_params "=" type_ { +// 240| TypeAlias(attrs = $1, vis=$2, name=$4.0, type_params=$4.1, type_=$6) +// 241| } ///| -fn yy_action_16( +fn yy_action_19( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_CharLiteral(_dollar1) - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + YYObj_AliasSig( { () - Byte(_dollar1) + TypeAlias( + attrs=_dollar1, + vis=_dollar2, + name=_dollar4.0, + type_params=_dollar4.1, + type_=_dollar6, + ) }, ) } // file:///./mbti_parser.mbty -// 314| BYTES { Bytes($1) } +// 192| attributes vis "type" type_decl_name_with_params { +// 193| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Abstract} +// 194| } ///| -fn yy_action_17( +fn yy_action_20( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_StringLiteral(_dollar1) - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + YYObj_TypeSig( { () - Bytes(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Abstract, + } }, ) } // file:///./mbti_parser.mbty -// 315| CHAR { Char($1) } +// 195| attributes vis "suberror" uident option(type_) { +// 196| let exception_decl : @syntax.ExceptionDecl = match $5 { +// 197| None => NoPayload +// 198| Some(ty) => SinglePayload(ty) +// 199| } +// 200| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(exception_decl)} +// 201| } ///| -fn yy_action_18( +fn yy_action_21( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_CharLiteral(_dollar1) - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _args[3].0 is YYObj_Option_Type_(_dollar5) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + YYObj_TypeSig( { () - Char(_dollar1) + let exception_decl : @syntax.ExceptionDecl = match _dollar5 { + None => NoPayload + Some(ty) => SinglePayload(ty) + } + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(exception_decl), + } }, ) } // file:///./mbti_parser.mbty -// 316| INT { -// 317| match $1 { -// 318| [.. lit, .. "UL"] => UInt64(lit.to_string()) -// 319| [.. lit, 'L'] => Int64(lit.to_string()) -// 320| [.. lit, 'U'] => UInt(lit.to_string()) -// 321| [.. lit, 'N'] => BigInt(lit.to_string()) -// 322| lit => Int(lit) -// 323| } -// 324| } +// 202| attributes vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { +// 203| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(EnumPayload($6))} +// 204| } ///| -fn yy_action_19( +fn yy_action_22( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - match _dollar1 { - [.. lit, .. "UL"] => UInt64(lit.to_string()) - [.. lit, 'L'] => Int64(lit.to_string()) - [.. lit, 'U'] => UInt(lit.to_string()) - [.. lit, 'N'] => BigInt(lit.to_string()) - lit => Int(lit) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(EnumPayload(_dollar6)), } }, ) } // file:///./mbti_parser.mbty -// 325| FLOAT { Float($1) } +// 205| attributes vis "struct" type_decl_name_with_params "{" record_decl_body "}" { +// 206| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: $6 } +// 207| } ///| -fn yy_action_20( +fn yy_action_23( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj_TypeDefinition(_dollar6) + YYObj_TypeSig( { () - Float(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: _dollar6, + } }, ) } // file:///./mbti_parser.mbty -// 326| DOUBLE { Double($1) } +// 208| attributes vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { +// 209| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: TupleStruct($6)} +// 210| } ///| -fn yy_action_21( +fn yy_action_24( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj__list_List_Type_(_dollar6) + YYObj_TypeSig( { () - Double(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: TupleStruct(_dollar6), + } }, ) } // file:///./mbti_parser.mbty -// 327| STRING { String($1) } +// 211| attributes vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { +// 212| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Variant($6)} +// 213| } ///| -fn yy_action_22( +fn yy_action_25( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_StringLiteral(_dollar1) - YYObj_Constant( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - String(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Variant(_dollar6), + } }, ) } // file:///./mbti_parser.mbty -// 156| attributes "let" lident ":" type_ { ValueSig::{name: $3, type_: $5} } +// 217| attributes vis "impl" type_params_with_constraints qualified_uident "for" type_ { +// 218| ImplSig::{type_params : $4, trait_name : $5, type_ : $7, attrs : $1} +// 219| } ///| -fn yy_action_23( +fn yy_action_26( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_24(_last_pos, _args[0:0]) - guard _args[1].0 is YYObj_Name(_dollar3) - guard _args[3].0 is YYObj_Type(_dollar5) - YYObj_ValueSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _args[3].0 is YYObj_QualifiedName(_dollar5) + guard _args[5].0 is YYObj_Type(_dollar7) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - ValueSig::{ name: _dollar3, type_: _dollar5 } + ImplSig::{ + type_params: _dollar4, + trait_name: _dollar5, + type_: _dollar7, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 156| attributes "let" lident ":" type_ { ValueSig::{name: $3, type_: $5} } +// 220| attributes vis "impl" qualified_uident "for" type_ { +// 221| ImplSig::{type_params : @list.empty(), trait_name : $4, type_ : $6, attrs : $1} +// 222| } ///| -fn yy_action_25( +fn yy_action_27( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_26(_last_pos, _args[0:1]) - guard _args[2].0 is YYObj_Name(_dollar3) - guard _args[4].0 is YYObj_Type(_dollar5) - YYObj_ValueSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _args[2].0 is YYObj_QualifiedName(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - ValueSig::{ name: _dollar3, type_: _dollar5 } + ImplSig::{ + type_params: @list.empty(), + trait_name: _dollar4, + type_: _dollar6, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 169| func_sig_no_attr { $1 } +// 226| attributes vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { +// 227| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: $5, methods: $7} +// 228| } ///| -fn yy_action_27( +fn yy_action_28( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_FuncSig(_dollar1) - YYObj_FuncSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[3].0 is YYObj__list_List_QualifiedName_(_dollar5) + guard _args[5].0 is YYObj__list_List_TraitMethodSig_(_dollar7) + YYObj_TraitSig( { () - _dollar1 + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: _dollar5, + methods: _dollar7, + } }, ) } // file:///./mbti_parser.mbty -// 161| uident "::" { Some($1) } +// 229| attributes vis "trait" uident { +// 230| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: @list.empty(), methods: @list.empty() } +// 231| } ///| -fn yy_action_28( +fn yy_action_29( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Name(_dollar1) - YYObj_Option_Name_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + YYObj_TraitSig( { () - Some(_dollar1) + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: @list.empty(), + methods: @list.empty(), + } }, ) } // file:///./mbti_parser.mbty -// 165| FN loption(type_params_with_constraints) method_prefix lident delimited("(", separated_list(",", parameter), ")") "->" return_type { FuncSig::{ attr: @list.empty(), type_name: $3, name: $4, type_params: $2, params: $5, return_: $7} } +// 245| attributes vis "using" PACKAGE_NAME "{" "type" uident using_binder "}" { +// 246| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 247| Using(pkg~, target = $7, name = $8, kind = Type, attrs = $1) +// 248| } ///| -fn yy_action_29( +fn yy_action_30( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_30(_args[3].2, _args[4:7]) - guard _args[2].0 is YYObj_Option_Name_(_dollar3) - guard _args[3].0 is YYObj_Name(_dollar4) - guard _args[1].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar2) - guard _sub_action_0_result is YYObj__list_List_Parameter_(_dollar5) - guard _args[8].0 is YYObj__Type__ErrorType_(_dollar7) - YYObj_FuncSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _args[2].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[2].1 + let _end_pos_of_item3 = _args[2].2 + guard _args[5].0 is YYObj_Name(_dollar7) + guard _args[6].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - FuncSig::{ - attr: @list.empty(), - type_name: _dollar3, + let pkg = Name::{ name: _dollar4, - type_params: _dollar2, - params: _dollar5, - return_: _dollar7, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Type, attrs=_dollar1) }, ) } -// file:///./stdlib.mbty -// 40| L X R { $2 } +// file:///./mbti_parser.mbty +// 249| attributes vis "using" PACKAGE_NAME "{" "trait" uident using_binder "}" { +// 250| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 251| Using(pkg~, target = $7, name = $8, kind = Trait, attrs = $1) +// 252| } ///| -fn yy_action_30( +fn yy_action_31( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj__list_List_Parameter_(_dollar2) - YYObj__list_List_Parameter_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_17(_last_pos, _args[0:1]) + guard _args[2].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[2].1 + let _end_pos_of_item3 = _args[2].2 + guard _args[5].0 is YYObj_Name(_dollar7) + guard _args[6].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - _dollar2 + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), + } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Trait, attrs=_dollar1) }, ) } -// file:///./stdlib.mbty -// 55| separated_nonempty_list(SEP, X) { $1 } +// file:///./mbti_parser.mbty +// 154| attributes vis "const" uident ":" type_ "=" constant { ConstSig::{name: $4, type_: $6, value: $8, attrs: $1} } ///| -fn yy_action_31( +fn yy_action_32( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_Parameter_(_dollar1) - YYObj__list_List_Parameter_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + guard _args[7].0 is YYObj_Constant(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ConstSig( { () - _dollar1 + ConstSig::{ + name: _dollar4, + type_: _dollar6, + value: _dollar8, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 298| type_ { Positional($1) } +// 158| attributes vis "let" lident ":" type_ { ValueSig::{ attrs: $1, name: $4, type_: $6 } } ///| -fn yy_action_32( +fn yy_action_34( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - YYObj_Parameter( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + YYObj_ValueSig( { () - Positional(_dollar1) + ValueSig::{ attrs: _dollar1, name: _dollar4, type_: _dollar6 } }, ) } // file:///./mbti_parser.mbty -// 300| post_label ":" type_ "=" ".." { OptionalDefault($1, $3) } +// 239| attributes vis "type" type_decl_name_with_params "=" type_ { +// 240| TypeAlias(attrs = $1, vis=$2, name=$4.0, type_params=$4.1, type_=$6) +// 241| } ///| -fn yy_action_33( +fn yy_action_35( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Label(_dollar1) - guard _args[2].0 is YYObj_Type(_dollar3) - YYObj_Parameter( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + YYObj_AliasSig( { () - OptionalDefault(_dollar1, _dollar3) + TypeAlias( + attrs=_dollar1, + vis=_dollar2, + name=_dollar4.0, + type_params=_dollar4.1, + type_=_dollar6, + ) }, ) } // file:///./mbti_parser.mbty -// 301| post_label ":" type_ "=" "_" { Autofill($1, $3) } +// 192| attributes vis "type" type_decl_name_with_params { +// 193| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Abstract} +// 194| } ///| -fn yy_action_34( +fn yy_action_36( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Label(_dollar1) - guard _args[2].0 is YYObj_Type(_dollar3) - YYObj_Parameter( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + YYObj_TypeSig( { () - Autofill(_dollar1, _dollar3) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Abstract, + } }, ) } // file:///./mbti_parser.mbty -// 299| post_label ":" type_ { Labelled($1, $3) } +// 195| attributes vis "suberror" uident option(type_) { +// 196| let exception_decl : @syntax.ExceptionDecl = match $5 { +// 197| None => NoPayload +// 198| Some(ty) => SinglePayload(ty) +// 199| } +// 200| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(exception_decl)} +// 201| } ///| -fn yy_action_35( +fn yy_action_37( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Label(_dollar1) - guard _args[2].0 is YYObj_Type(_dollar3) - YYObj_Parameter( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _args[4].0 is YYObj_Option_Type_(_dollar5) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) + YYObj_TypeSig( { () - Labelled(_dollar1, _dollar3) + let exception_decl : @syntax.ExceptionDecl = match _dollar5 { + None => NoPayload + Some(ty) => SinglePayload(ty) + } + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(exception_decl), + } }, ) } // file:///./mbti_parser.mbty -// 302| label "?" ":" type_ { OptionalOption($1, $4) } +// 202| attributes vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { +// 203| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(EnumPayload($6))} +// 204| } ///| -fn yy_action_36( +fn yy_action_38( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Label(_dollar1) - guard _args[3].0 is YYObj_Type(_dollar4) - YYObj_Parameter( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[5].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - OptionalOption(_dollar1, _dollar4) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(EnumPayload(_dollar6)), + } }, ) } // file:///./mbti_parser.mbty -// 366| LIDENT { Label::{name: $1, loc: mk_loc($sloc)} } - -///| -fn yy_action_37( - _last_pos : @basic.Position, - _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], -) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Label( - { - () - Label::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } - }, - ) -} - -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// 205| attributes vis "struct" type_decl_name_with_params "{" record_decl_body "}" { +// 206| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: $6 } +// 207| } ///| -fn yy_action_38( +fn yy_action_39( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_Parameter_(_dollar3) - guard _args[0].0 is YYObj_Parameter(_dollar1) - YYObj__list_List_Parameter_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj_TypeDefinition(_dollar6) + YYObj_TypeSig( { () - _dollar3.add(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: _dollar6, + } }, ) } -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 208| attributes vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { +// 209| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: TupleStruct($6)} +// 210| } ///| -fn yy_action_39( +fn yy_action_40( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Parameter(_dollar1) - YYObj__list_List_Parameter_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj__list_List_Type_(_dollar6) + YYObj_TypeSig( { () - @list.singleton(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: TupleStruct(_dollar6), + } }, ) } -// file:///./stdlib.mbty -// 54| { @list.empty() } +// file:///./mbti_parser.mbty +// 211| attributes vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { +// 212| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Variant($6)} +// 213| } ///| -fn yy_action_40( +fn yy_action_41( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_Parameter_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - @list.empty() + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Variant(_dollar6), + } }, ) } // file:///./mbti_parser.mbty -// 160| { None } +// 217| attributes vis "impl" type_params_with_constraints qualified_uident "for" type_ { +// 218| ImplSig::{type_params : $4, trait_name : $5, type_ : $7, attrs : $1} +// 219| } ///| -fn yy_action_41( +fn yy_action_42( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Option_Name_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _args[3].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _args[4].0 is YYObj_QualifiedName(_dollar5) + guard _args[6].0 is YYObj_Type(_dollar7) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - None + ImplSig::{ + type_params: _dollar4, + trait_name: _dollar5, + type_: _dollar7, + attrs: _dollar1, + } }, ) } -// file:///./stdlib.mbty -// 15| X { $1 } +// file:///./mbti_parser.mbty +// 220| attributes vis "impl" qualified_uident "for" type_ { +// 221| ImplSig::{type_params : @list.empty(), trait_name : $4, type_ : $6, attrs : $1} +// 222| } ///| -fn yy_action_42( +fn yy_action_43( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar1) - YYObj__list_List_TypeParamWithConstraints_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _args[3].0 is YYObj_QualifiedName(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - _dollar1 + ImplSig::{ + type_params: @list.empty(), + trait_name: _dollar4, + type_: _dollar6, + attrs: _dollar1, + } }, ) } -// file:///./stdlib.mbty -// 14| { @list.empty() } +// file:///./mbti_parser.mbty +// 226| attributes vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { +// 227| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: $5, methods: $7} +// 228| } ///| -fn yy_action_43( +fn yy_action_44( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_TypeParamWithConstraints_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj__list_List_QualifiedName_(_dollar5) + guard _args[6].0 is YYObj__list_List_TraitMethodSig_(_dollar7) + YYObj_TraitSig( { () - @list.empty() + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: _dollar5, + methods: _dollar7, + } }, ) } // file:///./mbti_parser.mbty -// 170| nonempty_list(ATTRIBUTE) func_sig_no_attr { { ..$2, attr : $1 } } +// 229| attributes vis "trait" uident { +// 230| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: @list.empty(), methods: @list.empty() } +// 231| } ///| -fn yy_action_44( +fn yy_action_45( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_FuncSig(_dollar2) - guard _args[0].0 - is YYObj__list_List__String__Option_String___String__(_dollar1) - YYObj_FuncSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) + YYObj_TraitSig( { () - { .._dollar2, attr: _dollar1 } + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: @list.empty(), + methods: @list.empty(), + } }, ) } // file:///./mbti_parser.mbty -// 182| vis "extern" "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $4.0, type_params: $4.1, components: Extern} } +// 245| attributes vis "using" PACKAGE_NAME "{" "type" uident using_binder "}" { +// 246| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 247| Using(pkg~, target = $7, name = $8, kind = Type, attrs = $1) +// 248| } ///| -fn yy_action_45( +fn yy_action_46( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _args[3].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[3].1 + let _end_pos_of_item3 = _args[3].2 + guard _args[6].0 is YYObj_Name(_dollar7) + guard _args[7].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar4.0, - type_params: _dollar4.1, - components: Extern, + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Type, attrs=_dollar1) }, ) } // file:///./mbti_parser.mbty -// 182| vis "extern" "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $4.0, type_params: $4.1, components: Extern} } +// 249| attributes vis "using" PACKAGE_NAME "{" "trait" uident using_binder "}" { +// 250| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 251| Using(pkg~, target = $7, name = $8, kind = Trait, attrs = $1) +// 252| } ///| fn yy_action_47( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_33(_last_pos, _args[0:2]) + guard _args[3].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[3].1 + let _end_pos_of_item3 = _args[3].2 + guard _args[6].0 is YYObj_Name(_dollar7) + guard _args[7].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar4.0, - type_params: _dollar4.1, - components: Extern, + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Trait, attrs=_dollar1) }, ) } // file:///./mbti_parser.mbty -// 184| vis "type" type_decl_name_with_params type_ { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Newtype($4)} } +// 154| attributes vis "const" uident ":" type_ "=" constant { ConstSig::{name: $4, type_: $6, value: $8, attrs: $1} } ///| -fn yy_action_49( +fn yy_action_48( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[3].0 is YYObj_Type(_dollar4) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + guard _args[6].0 is YYObj_Constant(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ConstSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Newtype(_dollar4), + ConstSig::{ + name: _dollar4, + type_: _dollar6, + value: _dollar8, + attrs: _dollar1, } }, ) } // file:///./mbti_parser.mbty -// 183| vis "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Abstract} } +// 154| attributes vis "const" uident ":" type_ "=" constant { ConstSig::{name: $4, type_: $6, value: $8, attrs: $1} } ///| fn yy_action_50( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + guard _args[7].0 is YYObj_Constant(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ConstSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Abstract, + ConstSig::{ + name: _dollar4, + type_: _dollar6, + value: _dollar8, + attrs: _dollar1, } }, ) } // file:///./mbti_parser.mbty -// 186| vis "suberror" uident type_ { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(SinglePayload($4))} } +// 158| attributes vis "let" lident ":" type_ { ValueSig::{ attrs: $1, name: $4, type_: $6 } } ///| fn yy_action_51( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj_Name(_dollar3) - guard _args[3].0 is YYObj_Type(_dollar4) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + YYObj_ValueSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(SinglePayload(_dollar4)), - } + ValueSig::{ attrs: _dollar1, name: _dollar4, type_: _dollar6 } }, ) } // file:///./mbti_parser.mbty -// 187| vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(EnumPayload($5))} } +// 239| attributes vis "type" type_decl_name_with_params "=" type_ { +// 240| TypeAlias(attrs = $1, vis=$2, name=$4.0, type_params=$4.1, type_=$6) +// 241| } ///| fn yy_action_52( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj_Name(_dollar3) - guard _args[4].0 is YYObj__list_List_ConstrDecl_(_dollar5) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + YYObj_AliasSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(EnumPayload(_dollar5)), - } + TypeAlias( + attrs=_dollar1, + vis=_dollar2, + name=_dollar4.0, + type_params=_dollar4.1, + type_=_dollar6, + ) }, ) } // file:///./mbti_parser.mbty -// 185| vis "suberror" uident { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(NoPayload)} } +// 192| attributes vis "type" type_decl_name_with_params { +// 193| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Abstract} +// 194| } ///| fn yy_action_53( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj_Name(_dollar3) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) YYObj_TypeSig( { () TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(NoPayload), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Abstract, } }, ) } // file:///./mbti_parser.mbty -// 188| vis "struct" type_decl_name_with_params "{" separated_list(";", record_decl_field) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Record($5)} } +// 195| attributes vis "suberror" uident option(type_) { +// 196| let exception_decl : @syntax.ExceptionDecl = match $5 { +// 197| None => NoPayload +// 198| Some(ty) => SinglePayload(ty) +// 199| } +// 200| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(exception_decl)} +// 201| } ///| fn yy_action_54( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[4].0 is YYObj__list_List_FieldDecl_(_dollar5) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _args[4].0 is YYObj_Option_Type_(_dollar5) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) YYObj_TypeSig( { () + let exception_decl : @syntax.ExceptionDecl = match _dollar5 { + None => NoPayload + Some(ty) => SinglePayload(ty) + } TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Record(_dollar5), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(exception_decl), } }, ) } // file:///./mbti_parser.mbty -// 189| vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: TupleStruct($5)} } +// 202| attributes vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { +// 203| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(EnumPayload($6))} +// 204| } ///| fn yy_action_55( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[4].0 is YYObj__list_List_Type_(_dollar5) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[5].0 is YYObj__list_List_ConstrDecl_(_dollar6) YYObj_TypeSig( { () TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: TupleStruct(_dollar5), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(EnumPayload(_dollar6)), } }, ) } // file:///./mbti_parser.mbty -// 190| vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Variant($5)} } +// 205| attributes vis "struct" type_decl_name_with_params "{" record_decl_body "}" { +// 206| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: $6 } +// 207| } ///| fn yy_action_56( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[4].0 is YYObj__list_List_ConstrDecl_(_dollar5) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj_TypeDefinition(_dollar6) YYObj_TypeSig( { () TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Variant(_dollar5), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: _dollar6, } }, ) } // file:///./mbti_parser.mbty -// 200| vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { TraitSig::{vis: $1, name: $3, super_traits: $4, methods: $6} } +// 208| attributes vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { +// 209| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: TupleStruct($6)} +// 210| } ///| fn yy_action_57( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj_Name(_dollar3) - guard _args[3].0 is YYObj__list_List_QualifiedName_(_dollar4) - guard _args[5].0 is YYObj__list_List_TraitMethodSig_(_dollar6) - YYObj_TraitSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj__list_List_Type_(_dollar6) + YYObj_TypeSig( { () - TraitSig::{ - vis: _dollar1, - name: _dollar3, - super_traits: _dollar4, - methods: _dollar6, + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: TupleStruct(_dollar6), } }, ) } // file:///./mbti_parser.mbty -// 201| vis "trait" uident { TraitSig::{vis: $1, name: $3, super_traits: @list.empty(), methods: @list.empty()} } +// 211| attributes vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { +// 212| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Variant($6)} +// 213| } ///| fn yy_action_58( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[2].0 is YYObj_Name(_dollar3) - YYObj_TraitSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[5].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - TraitSig::{ - vis: _dollar1, - name: _dollar3, - super_traits: @list.empty(), - methods: @list.empty(), + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Variant(_dollar6), } }, ) } // file:///./mbti_parser.mbty -// 205| vis "typealias" type_ "as" type_decl_name_with_params { TypeAlias(vis=$1, name=$5.0, type_params=$5.1, type_=$3) } +// 217| attributes vis "impl" type_params_with_constraints qualified_uident "for" type_ { +// 218| ImplSig::{type_params : $4, trait_name : $5, type_ : $7, attrs : $1} +// 219| } ///| fn yy_action_59( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[4].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar5) - guard _args[2].0 is YYObj_Type(_dollar3) - YYObj_AliasSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _args[3].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _args[4].0 is YYObj_QualifiedName(_dollar5) + guard _args[6].0 is YYObj_Type(_dollar7) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - TypeAlias( - vis=_dollar1, - name=_dollar5.0, - type_params=_dollar5.1, - type_=_dollar3, - ) + ImplSig::{ + type_params: _dollar4, + trait_name: _dollar5, + type_: _dollar7, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 206| vis "traitalias" qualified_uident "as" uident { TraitAlias(vis=$1, name=$5, trait_name=$3) } +// 220| attributes vis "impl" qualified_uident "for" type_ { +// 221| ImplSig::{type_params : @list.empty(), trait_name : $4, type_ : $6, attrs : $1} +// 222| } ///| fn yy_action_60( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_48(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[4].0 is YYObj_Name(_dollar5) - guard _args[2].0 is YYObj_QualifiedName(_dollar3) - YYObj_AliasSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _args[3].0 is YYObj_QualifiedName(_dollar4) + guard _args[5].0 is YYObj_Type(_dollar6) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - TraitAlias(vis=_dollar1, name=_dollar5, trait_name=_dollar3) - }, - ) + ImplSig::{ + type_params: @list.empty(), + trait_name: _dollar4, + type_: _dollar6, + attrs: _dollar1, + } + }, + ) } // file:///./mbti_parser.mbty -// 332| "priv" { Priv(loc=mk_loc($sloc)) } +// 226| attributes vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { +// 227| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: $5, methods: $7} +// 228| } ///| -fn yy_action_48( +fn yy_action_61( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Visibility( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj__list_List_QualifiedName_(_dollar5) + guard _args[6].0 is YYObj__list_List_TraitMethodSig_(_dollar7) + YYObj_TraitSig( { () - Priv(loc=mk_loc((_symbol_start_pos, _end_pos))) + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: _dollar5, + methods: _dollar7, + } }, ) } // file:///./mbti_parser.mbty -// 182| vis "extern" "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $4.0, type_params: $4.1, components: Extern} } +// 229| attributes vis "trait" uident { +// 230| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: @list.empty(), methods: @list.empty() } +// 231| } ///| -fn yy_action_61( +fn yy_action_62( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[4].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[3].0 is YYObj_Name(_dollar4) + YYObj_TraitSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar4.0, - type_params: _dollar4.1, - components: Extern, + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: @list.empty(), + methods: @list.empty(), } }, ) } // file:///./mbti_parser.mbty -// 184| vis "type" type_decl_name_with_params type_ { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Newtype($4)} } +// 245| attributes vis "using" PACKAGE_NAME "{" "type" uident using_binder "}" { +// 246| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 247| Using(pkg~, target = $7, name = $8, kind = Type, attrs = $1) +// 248| } ///| fn yy_action_63( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[4].0 is YYObj_Type(_dollar4) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _args[3].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[3].1 + let _end_pos_of_item3 = _args[3].2 + guard _args[6].0 is YYObj_Name(_dollar7) + guard _args[7].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Newtype(_dollar4), + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Type, attrs=_dollar1) }, ) } // file:///./mbti_parser.mbty -// 183| vis "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Abstract} } +// 249| attributes vis "using" PACKAGE_NAME "{" "trait" uident using_binder "}" { +// 250| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 251| Using(pkg~, target = $7, name = $8, kind = Trait, attrs = $1) +// 252| } ///| fn yy_action_64( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_17(_args[0].2, _args[1:2]) + guard _args[3].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[3].1 + let _end_pos_of_item3 = _args[3].2 + guard _args[6].0 is YYObj_Name(_dollar7) + guard _args[7].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Abstract, + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Trait, attrs=_dollar1) }, ) } // file:///./mbti_parser.mbty -// 186| vis "suberror" uident type_ { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(SinglePayload($4))} } +// 401| "priv" { Priv(loc=mk_loc($sloc)) } ///| -fn yy_action_65( +fn yy_action_17( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj_Name(_dollar3) - guard _args[4].0 is YYObj_Type(_dollar4) - YYObj_TypeSig( + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Visibility( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(SinglePayload(_dollar4)), - } + Priv(loc=mk_loc((_symbol_start_pos, _end_pos))) }, ) } // file:///./mbti_parser.mbty -// 187| vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(EnumPayload($5))} } +// 154| attributes vis "const" uident ":" type_ "=" constant { ConstSig::{name: $4, type_: $6, value: $8, attrs: $1} } ///| -fn yy_action_66( +fn yy_action_65( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj_Name(_dollar3) - guard _args[5].0 is YYObj__list_List_ConstrDecl_(_dollar5) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _args[4].0 is YYObj_Name(_dollar4) + guard _args[6].0 is YYObj_Type(_dollar6) + guard _args[8].0 is YYObj_Constant(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ConstSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(EnumPayload(_dollar5)), + ConstSig::{ + name: _dollar4, + type_: _dollar6, + value: _dollar8, + attrs: _dollar1, } }, ) } // file:///./mbti_parser.mbty -// 185| vis "suberror" uident { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(NoPayload)} } +// 380| TRUE { Bool(true) } ///| -fn yy_action_67( +fn yy_action_66( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj_Name(_dollar3) - YYObj_TypeSig( + YYObj_Constant( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(NoPayload), - } + Bool(true) }, ) } // file:///./mbti_parser.mbty -// 188| vis "struct" type_decl_name_with_params "{" separated_list(";", record_decl_field) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Record($5)} } +// 381| FALSE { Bool(false) } ///| -fn yy_action_68( +fn yy_action_67( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[5].0 is YYObj__list_List_FieldDecl_(_dollar5) - YYObj_TypeSig( + YYObj_Constant( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Record(_dollar5), - } + Bool(false) }, ) } // file:///./mbti_parser.mbty -// 189| vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: TupleStruct($5)} } +// 382| BYTE { Byte($1) } ///| -fn yy_action_69( +fn yy_action_68( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[5].0 is YYObj__list_List_Type_(_dollar5) - YYObj_TypeSig( + guard _args[0].0 is YYObj_CharLiteral(_dollar1) + YYObj_Constant( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: TupleStruct(_dollar5), - } + Byte(_dollar1) }, ) } // file:///./mbti_parser.mbty -// 190| vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Variant($5)} } +// 383| BYTES { Bytes($1) } ///| -fn yy_action_70( +fn yy_action_69( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[5].0 is YYObj__list_List_ConstrDecl_(_dollar5) - YYObj_TypeSig( + guard _args[0].0 is YYObj_StringLiteral(_dollar1) + YYObj_Constant( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Variant(_dollar5), - } + Bytes(_dollar1) }, ) } // file:///./mbti_parser.mbty -// 200| vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { TraitSig::{vis: $1, name: $3, super_traits: $4, methods: $6} } +// 384| CHAR { Char($1) } ///| -fn yy_action_71( +fn yy_action_70( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj_Name(_dollar3) - guard _args[4].0 is YYObj__list_List_QualifiedName_(_dollar4) - guard _args[6].0 is YYObj__list_List_TraitMethodSig_(_dollar6) - YYObj_TraitSig( + guard _args[0].0 is YYObj_CharLiteral(_dollar1) + YYObj_Constant( { () - TraitSig::{ - vis: _dollar1, - name: _dollar3, - super_traits: _dollar4, - methods: _dollar6, - } + Char(_dollar1) }, ) } // file:///./mbti_parser.mbty -// 201| vis "trait" uident { TraitSig::{vis: $1, name: $3, super_traits: @list.empty(), methods: @list.empty()} } +// 385| INT { +// 386| match $1 { +// 387| [.. lit, .. "UL"] => UInt64(lit.to_string()) +// 388| [.. lit, 'L'] => Int64(lit.to_string()) +// 389| [.. lit, 'U'] => UInt(lit.to_string()) +// 390| [.. lit, 'N'] => BigInt(lit.to_string()) +// 391| lit => Int(lit) +// 392| } +// 393| } ///| -fn yy_action_72( +fn yy_action_71( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj_Name(_dollar3) - YYObj_TraitSig( + guard _args[0].0 is YYObj_String(_dollar1) + YYObj_Constant( { () - TraitSig::{ - vis: _dollar1, - name: _dollar3, - super_traits: @list.empty(), - methods: @list.empty(), + match _dollar1 { + [.. lit, .. "UL"] => UInt64(lit.to_string()) + [.. lit, 'L'] => Int64(lit.to_string()) + [.. lit, 'U'] => UInt(lit.to_string()) + [.. lit, 'N'] => BigInt(lit.to_string()) + lit => Int(lit) } }, ) } // file:///./mbti_parser.mbty -// 205| vis "typealias" type_ "as" type_decl_name_with_params { TypeAlias(vis=$1, name=$5.0, type_params=$5.1, type_=$3) } +// 394| FLOAT { Float($1) } ///| -fn yy_action_73( +fn yy_action_72( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[5].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar5) - guard _args[3].0 is YYObj_Type(_dollar3) - YYObj_AliasSig( + guard _args[0].0 is YYObj_String(_dollar1) + YYObj_Constant( { () - TypeAlias( - vis=_dollar1, - name=_dollar5.0, - type_params=_dollar5.1, - type_=_dollar3, - ) + Float(_dollar1) }, ) } // file:///./mbti_parser.mbty -// 206| vis "traitalias" qualified_uident "as" uident { TraitAlias(vis=$1, name=$5, trait_name=$3) } +// 395| DOUBLE { Double($1) } ///| -fn yy_action_74( +fn yy_action_73( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_62(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[5].0 is YYObj_Name(_dollar5) - guard _args[3].0 is YYObj_QualifiedName(_dollar3) - YYObj_AliasSig( + guard _args[0].0 is YYObj_String(_dollar1) + YYObj_Constant( { () - TraitAlias(vis=_dollar1, name=_dollar5, trait_name=_dollar3) + Double(_dollar1) }, ) } // file:///./mbti_parser.mbty -// 333| "pub" pub_attr { Pub(attr=$2, loc=mk_loc($sloc)) } +// 396| STRING { String($1) } ///| -fn yy_action_62( +fn yy_action_74( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_String_(_dollar2) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Visibility( + guard _args[0].0 is YYObj_StringLiteral(_dollar1) + YYObj_Constant( { () - Pub(attr=_dollar2, loc=mk_loc((_symbol_start_pos, _end_pos))) + String(_dollar1) }, ) } // file:///./mbti_parser.mbty -// 338| "(" "readonly" ")" { Some("readonly") } +// 158| attributes vis "let" lident ":" type_ { ValueSig::{ attrs: $1, name: $4, type_: $6 } } ///| fn yy_action_75( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_String_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[4].0 is YYObj_Name(_dollar4) + guard _args[6].0 is YYObj_Type(_dollar6) + YYObj_ValueSig( { () - Some("readonly") + ValueSig::{ attrs: _dollar1, name: _dollar4, type_: _dollar6 } }, ) } // file:///./mbti_parser.mbty -// 339| "(" LIDENT ")" { Some($2) } +// 239| attributes vis "type" type_decl_name_with_params "=" type_ { +// 240| TypeAlias(attrs = $1, vis=$2, name=$4.0, type_params=$4.1, type_=$6) +// 241| } ///| fn yy_action_76( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_String(_dollar2) - YYObj_String_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[6].0 is YYObj_Type(_dollar6) + YYObj_AliasSig( { () - Some(_dollar2) + TypeAlias( + attrs=_dollar1, + vis=_dollar2, + name=_dollar4.0, + type_params=_dollar4.1, + type_=_dollar6, + ) }, ) } // file:///./mbti_parser.mbty -// 337| { None } +// 192| attributes vis "type" type_decl_name_with_params { +// 193| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Abstract} +// 194| } ///| fn yy_action_77( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_String_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + YYObj_TypeSig( { () - None + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Abstract, + } }, ) } // file:///./mbti_parser.mbty -// 184| vis "type" type_decl_name_with_params type_ { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Newtype($4)} } +// 195| attributes vis "suberror" uident option(type_) { +// 196| let exception_decl : @syntax.ExceptionDecl = match $5 { +// 197| None => NoPayload +// 198| Some(ty) => SinglePayload(ty) +// 199| } +// 200| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(exception_decl)} +// 201| } ///| fn yy_action_78( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[2].0 is YYObj_Type(_dollar4) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _args[5].0 is YYObj_Option_Type_(_dollar5) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj_Name(_dollar4) YYObj_TypeSig( { () + let exception_decl : @syntax.ExceptionDecl = match _dollar5 { + None => NoPayload + Some(ty) => SinglePayload(ty) + } TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Newtype(_dollar4), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(exception_decl), } }, ) } // file:///./mbti_parser.mbty -// 183| vis "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Abstract} } +// 202| attributes vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { +// 203| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(EnumPayload($6))} +// 204| } ///| fn yy_action_79( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj_Name(_dollar4) + guard _args[6].0 is YYObj__list_List_ConstrDecl_(_dollar6) YYObj_TypeSig( { () TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Abstract, + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(EnumPayload(_dollar6)), } }, ) } // file:///./mbti_parser.mbty -// 186| vis "suberror" uident type_ { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(SinglePayload($4))} } +// 205| attributes vis "struct" type_decl_name_with_params "{" record_decl_body "}" { +// 206| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: $6 } +// 207| } ///| fn yy_action_80( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj_Name(_dollar3) - guard _args[2].0 is YYObj_Type(_dollar4) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[6].0 is YYObj_TypeDefinition(_dollar6) YYObj_TypeSig( { () TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(SinglePayload(_dollar4)), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: _dollar6, } }, ) } // file:///./mbti_parser.mbty -// 187| vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(EnumPayload($5))} } +// 208| attributes vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { +// 209| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: TupleStruct($6)} +// 210| } ///| fn yy_action_81( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj_Name(_dollar3) - guard _args[3].0 is YYObj__list_List_ConstrDecl_(_dollar5) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[6].0 is YYObj__list_List_Type_(_dollar6) YYObj_TypeSig( { () TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(EnumPayload(_dollar5)), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: TupleStruct(_dollar6), } }, ) } // file:///./mbti_parser.mbty -// 185| vis "suberror" uident { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(NoPayload)} } +// 211| attributes vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { +// 212| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Variant($6)} +// 213| } ///| fn yy_action_82( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj_Name(_dollar3) + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[6].0 is YYObj__list_List_ConstrDecl_(_dollar6) YYObj_TypeSig( { () TypeSig::{ - vis: _dollar1, - name: _dollar3, - type_params: @list.empty(), - components: Error(NoPayload), + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Variant(_dollar6), } }, ) } // file:///./mbti_parser.mbty -// 188| vis "struct" type_decl_name_with_params "{" separated_list(";", record_decl_field) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Record($5)} } +// 217| attributes vis "impl" type_params_with_constraints qualified_uident "for" type_ { +// 218| ImplSig::{type_params : $4, trait_name : $5, type_ : $7, attrs : $1} +// 219| } ///| fn yy_action_83( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[3].0 is YYObj__list_List_FieldDecl_(_dollar5) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _args[4].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _args[5].0 is YYObj_QualifiedName(_dollar5) + guard _args[7].0 is YYObj_Type(_dollar7) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Record(_dollar5), + ImplSig::{ + type_params: _dollar4, + trait_name: _dollar5, + type_: _dollar7, + attrs: _dollar1, } }, ) } -// file:///./stdlib.mbty -// 55| separated_nonempty_list(SEP, X) { $1 } +// file:///./mbti_parser.mbty +// 220| attributes vis "impl" qualified_uident "for" type_ { +// 221| ImplSig::{type_params : @list.empty(), trait_name : $4, type_ : $6, attrs : $1} +// 222| } ///| fn yy_action_84( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_FieldDecl_(_dollar1) - YYObj__list_List_FieldDecl_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _args[4].0 is YYObj_QualifiedName(_dollar4) + guard _args[6].0 is YYObj_Type(_dollar6) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - _dollar1 + ImplSig::{ + type_params: @list.empty(), + trait_name: _dollar4, + type_: _dollar6, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 226| attributes boption("mut") LIDENT ":" type_ { -// 227| FieldDecl::{ name: FieldName::{ label: $3, loc : mk_loc($loc($3)) }, vis: Default, mut_: $2, ty: $5, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty() } +// 226| attributes vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { +// 227| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: $5, methods: $7} // 228| } ///| @@ -2236,1572 +2691,1916 @@ fn yy_action_85( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_24(_last_pos, _args[0:0]) - guard _args[1].0 is YYObj_String(_dollar3) - let _start_pos_of_item2 = _args[1].1 - let _end_pos_of_item2 = _args[1].2 - guard _args[0].0 is YYObj_Bool(_dollar2) - guard _args[3].0 is YYObj_Type(_dollar5) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) - YYObj_FieldDecl( + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj_Name(_dollar4) + guard _args[5].0 is YYObj__list_List_QualifiedName_(_dollar5) + guard _args[7].0 is YYObj__list_List_TraitMethodSig_(_dollar7) + YYObj_TraitSig( { () - FieldDecl::{ - name: FieldName::{ - label: _dollar3, - loc: mk_loc((_start_pos_of_item2, _end_pos_of_item2)), - }, - vis: Default, - mut_: _dollar2, - ty: _dollar5, - loc: mk_loc((_symbol_start_pos, _end_pos)), + TraitSig::{ attrs: _dollar1, - doc: DocString::empty(), + vis: _dollar2, + name: _dollar4, + super_traits: _dollar5, + methods: _dollar7, } }, ) } // file:///./mbti_parser.mbty -// 226| attributes boption("mut") LIDENT ":" type_ { -// 227| FieldDecl::{ name: FieldName::{ label: $3, loc : mk_loc($loc($3)) }, vis: Default, mut_: $2, ty: $5, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty() } -// 228| } +// 229| attributes vis "trait" uident { +// 230| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: @list.empty(), methods: @list.empty() } +// 231| } ///| fn yy_action_86( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_26(_last_pos, _args[0:1]) - guard _args[2].0 is YYObj_String(_dollar3) - let _start_pos_of_item2 = _args[2].1 - let _end_pos_of_item2 = _args[2].2 - guard _args[1].0 is YYObj_Bool(_dollar2) - guard _args[4].0 is YYObj_Type(_dollar5) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) - YYObj_FieldDecl( + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[4].0 is YYObj_Name(_dollar4) + YYObj_TraitSig( { () - FieldDecl::{ - name: FieldName::{ - label: _dollar3, - loc: mk_loc((_start_pos_of_item2, _end_pos_of_item2)), - }, - vis: Default, - mut_: _dollar2, - ty: _dollar5, - loc: mk_loc((_symbol_start_pos, _end_pos)), + TraitSig::{ attrs: _dollar1, - doc: DocString::empty(), + vis: _dollar2, + name: _dollar4, + super_traits: @list.empty(), + methods: @list.empty(), } }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 245| attributes vis "using" PACKAGE_NAME "{" "type" uident using_binder "}" { +// 246| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 247| Using(pkg~, target = $7, name = $8, kind = Type, attrs = $1) +// 248| } ///| fn yy_action_87( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_FieldDecl_(_dollar3) - guard _args[0].0 is YYObj_FieldDecl(_dollar1) - YYObj__list_List_FieldDecl_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _args[4].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[4].1 + let _end_pos_of_item3 = _args[4].2 + guard _args[7].0 is YYObj_Name(_dollar7) + guard _args[8].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - _dollar3.add(_dollar1) + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), + } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Type, attrs=_dollar1) }, ) } -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 249| attributes vis "using" PACKAGE_NAME "{" "trait" uident using_binder "}" { +// 250| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 251| Using(pkg~, target = $7, name = $8, kind = Trait, attrs = $1) +// 252| } ///| fn yy_action_88( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_FieldDecl(_dollar1) - YYObj__list_List_FieldDecl_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_33(_args[0].2, _args[1:3]) + guard _args[4].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[4].1 + let _end_pos_of_item3 = _args[4].2 + guard _args[7].0 is YYObj_Name(_dollar7) + guard _args[8].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - @list.singleton(_dollar1) + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), + } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Trait, attrs=_dollar1) }, ) } -// file:///./stdlib.mbty -// 54| { @list.empty() } +// file:///./mbti_parser.mbty +// 402| "pub" pub_attr { Pub(attr=$2, loc=mk_loc($sloc)) } ///| -fn yy_action_89( +fn yy_action_33( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_FieldDecl_( + guard _args[1].0 is YYObj_String_(_dollar2) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Visibility( { () - @list.empty() + Pub(attr=_dollar2, loc=mk_loc((_symbol_start_pos, _end_pos))) }, ) } // file:///./mbti_parser.mbty -// 189| vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: TupleStruct($5)} } +// 407| "(" "readonly" ")" { Some("readonly") } ///| -fn yy_action_90( +fn yy_action_89( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[3].0 is YYObj__list_List_Type_(_dollar5) - YYObj_TypeSig( + YYObj_String_( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: TupleStruct(_dollar5), - } + Some("readonly") }, ) } -// file:///./stdlib.mbty -// 55| separated_nonempty_list(SEP, X) { $1 } +// file:///./mbti_parser.mbty +// 408| "(" LIDENT ")" { Some($2) } ///| -fn yy_action_91( +fn yy_action_90( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_Type_(_dollar1) - YYObj__list_List_Type_( + guard _args[1].0 is YYObj_String(_dollar2) + YYObj_String_( { () - _dollar1 + Some(_dollar2) }, ) } -// file:///./stdlib.mbty -// 54| { @list.empty() } +// file:///./mbti_parser.mbty +// 406| { None } ///| -fn yy_action_92( +fn yy_action_91( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_Type_( + YYObj_String_( { () - @list.empty() + None }, ) } // file:///./mbti_parser.mbty -// 190| vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Variant($5)} } +// 158| attributes vis "let" lident ":" type_ { ValueSig::{ attrs: $1, name: $4, type_: $6 } } ///| -fn yy_action_93( +fn yy_action_92( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar3) - guard _args[3].0 is YYObj__list_List_ConstrDecl_(_dollar5) - YYObj_TypeSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + YYObj_ValueSig( { () - TypeSig::{ - vis: _dollar1, - name: _dollar3.0, - type_params: _dollar3.1, - components: Variant(_dollar5), - } + ValueSig::{ attrs: _dollar1, name: _dollar4, type_: _dollar6 } }, ) } -// file:///./stdlib.mbty -// 55| separated_nonempty_list(SEP, X) { $1 } +// file:///./mbti_parser.mbty +// 176| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 177| FuncSig::{ attrs: $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9} +// 178| } ///| -fn yy_action_94( +fn yy_action_93( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_ConstrDecl_(_dollar1) - YYObj__list_List_ConstrDecl_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_94(_args[0].2, _args[1:2]) + let _sub_action_2_result = yy_action_95(_args[5].2, _args[6:9]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[4].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[5].0 is YYObj_Name(_dollar6) + guard _args[3].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[10].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - _dollar1 + FuncSig::{ + attrs: _dollar1, + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, + } }, ) } // file:///./mbti_parser.mbty -// 211| attributes UIDENT option(delimited("(", separated_nonempty_list(",", constructor_param), ")")) option(eq_tag) { -// 212| ConstrDecl::{name: ConstrName::{ name : $2, loc : mk_loc($loc($2)) }, args: $3, tag: $4, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty()} -// 213| } +// 176| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 177| FuncSig::{ attrs: $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9} +// 178| } ///| -fn yy_action_95( +fn yy_action_96( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_24(_last_pos, _args[0:0]) - guard _args[0].0 is YYObj_String(_dollar2) - let _start_pos_of_item1 = _args[0].1 - let _end_pos_of_item1 = _args[0].2 - guard _args[1].0 is YYObj_Option__list_List_ConstrParam__(_dollar3) - guard _args[2].0 is YYObj_Option__String__Location__(_dollar4) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_97(_args[0].2, _args[1:1]) + let _sub_action_2_result = yy_action_95(_args[4].2, _args[5:8]) guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) - YYObj_ConstrDecl( + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[3].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[4].0 is YYObj_Name(_dollar6) + guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[9].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - ConstrDecl::{ - name: ConstrName::{ - name: _dollar2, - loc: mk_loc((_start_pos_of_item1, _end_pos_of_item1)), - }, - args: _dollar3, - tag: _dollar4, - loc: mk_loc((_symbol_start_pos, _end_pos)), + FuncSig::{ attrs: _dollar1, - doc: DocString::empty(), + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, } }, ) } // file:///./mbti_parser.mbty -// 374| { @list.empty() } +// 239| attributes vis "type" type_decl_name_with_params "=" type_ { +// 240| TypeAlias(attrs = $1, vis=$2, name=$4.0, type_params=$4.1, type_=$6) +// 241| } ///| -fn yy_action_24( +fn yy_action_98( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_Attribute_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + YYObj_AliasSig( { () - @list.empty() + TypeAlias( + attrs=_dollar1, + vis=_dollar2, + name=_dollar4.0, + type_params=_dollar4.1, + type_=_dollar6, + ) }, ) } // file:///./mbti_parser.mbty -// 211| attributes UIDENT option(delimited("(", separated_nonempty_list(",", constructor_param), ")")) option(eq_tag) { -// 212| ConstrDecl::{name: ConstrName::{ name : $2, loc : mk_loc($loc($2)) }, args: $3, tag: $4, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty()} -// 213| } +// 192| attributes vis "type" type_decl_name_with_params { +// 193| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Abstract} +// 194| } ///| -fn yy_action_96( +fn yy_action_99( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_26(_last_pos, _args[0:1]) - guard _args[1].0 is YYObj_String(_dollar2) - let _start_pos_of_item1 = _args[1].1 - let _end_pos_of_item1 = _args[1].2 - guard _args[2].0 is YYObj_Option__list_List_ConstrParam__(_dollar3) - guard _args[3].0 is YYObj_Option__String__Location__(_dollar4) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) - YYObj_ConstrDecl( + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + YYObj_TypeSig( { () - ConstrDecl::{ - name: ConstrName::{ - name: _dollar2, - loc: mk_loc((_start_pos_of_item1, _end_pos_of_item1)), - }, - args: _dollar3, - tag: _dollar4, - loc: mk_loc((_symbol_start_pos, _end_pos)), + TypeSig::{ attrs: _dollar1, - doc: DocString::empty(), + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Abstract, } }, ) } // file:///./mbti_parser.mbty -// 375| nonempty_list(attribute) { $1 } +// 195| attributes vis "suberror" uident option(type_) { +// 196| let exception_decl : @syntax.ExceptionDecl = match $5 { +// 197| None => NoPayload +// 198| Some(ty) => SinglePayload(ty) +// 199| } +// 200| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(exception_decl)} +// 201| } ///| -fn yy_action_26( +fn yy_action_100( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_Attribute_(_dollar1) - YYObj__list_List_Attribute_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _args[3].0 is YYObj_Option_Type_(_dollar5) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + YYObj_TypeSig( { () - _dollar1 + let exception_decl : @syntax.ExceptionDecl = match _dollar5 { + None => NoPayload + Some(ty) => SinglePayload(ty) + } + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(exception_decl), + } }, ) } -// file:///./stdlib.mbty -// 5| X { Some($1) } +// file:///./mbti_parser.mbty +// 202| attributes vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { +// 203| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(EnumPayload($6))} +// 204| } ///| -fn yy_action_97( +fn yy_action_101( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_98(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj__String__Location_(_dollar1) - YYObj_Option__String__Location__( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[4].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - Some(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(EnumPayload(_dollar6)), + } }, ) } // file:///./mbti_parser.mbty -// 217| "=" INT { ($2, mk_loc($loc($2))) } +// 205| attributes vis "struct" type_decl_name_with_params "{" record_decl_body "}" { +// 206| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: $6 } +// 207| } ///| -fn yy_action_98( +fn yy_action_102( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_String(_dollar2) - let _start_pos_of_item1 = _args[1].1 - let _end_pos_of_item1 = _args[1].2 - YYObj__String__Location_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj_TypeDefinition(_dollar6) + YYObj_TypeSig( { () - (_dollar2, mk_loc((_start_pos_of_item1, _end_pos_of_item1))) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: _dollar6, + } }, ) } -// file:///./stdlib.mbty -// 4| { None } +// file:///./mbti_parser.mbty +// 208| attributes vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { +// 209| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: TupleStruct($6)} +// 210| } ///| -fn yy_action_99( +fn yy_action_103( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Option__String__Location__( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj__list_List_Type_(_dollar6) + YYObj_TypeSig( { () - None + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: TupleStruct(_dollar6), + } }, ) } // file:///./mbti_parser.mbty -// 221| boption("mut") type_ { ConstrParam::{mut_: $1, ty: $2, label: None} } +// 211| attributes vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { +// 212| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Variant($6)} +// 213| } ///| -fn yy_action_100( +fn yy_action_104( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Bool(_dollar1) - guard _args[1].0 is YYObj_Type(_dollar2) - YYObj_ConstrParam( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[4].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - ConstrParam::{ mut_: _dollar1, ty: _dollar2, label: None } + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Variant(_dollar6), + } }, ) } // file:///./mbti_parser.mbty -// 222| boption("mut") post_label ":" type_ { ConstrParam::{mut_: $1, ty: $4, label: Some($2)} } +// 217| attributes vis "impl" type_params_with_constraints qualified_uident "for" type_ { +// 218| ImplSig::{type_params : $4, trait_name : $5, type_ : $7, attrs : $1} +// 219| } ///| -fn yy_action_101( +fn yy_action_105( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Bool(_dollar1) - guard _args[3].0 is YYObj_Type(_dollar4) - guard _args[1].0 is YYObj_Label(_dollar2) - YYObj_ConstrParam( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _args[3].0 is YYObj_QualifiedName(_dollar5) + guard _args[5].0 is YYObj_Type(_dollar7) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - ConstrParam::{ mut_: _dollar1, ty: _dollar4, label: Some(_dollar2) } + ImplSig::{ + type_params: _dollar4, + trait_name: _dollar5, + type_: _dollar7, + attrs: _dollar1, + } }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 220| attributes vis "impl" qualified_uident "for" type_ { +// 221| ImplSig::{type_params : @list.empty(), trait_name : $4, type_ : $6, attrs : $1} +// 222| } ///| -fn yy_action_102( +fn yy_action_106( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_ConstrParam_(_dollar3) - guard _args[0].0 is YYObj_ConstrParam(_dollar1) - YYObj__list_List_ConstrParam_( - { - () - _dollar3.add(_dollar1) - }, - ) -} - -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } - -///| -fn yy_action_103( - _last_pos : @basic.Position, - _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], -) -> YYObj { - guard _args[0].0 is YYObj_ConstrParam(_dollar1) - YYObj__list_List_ConstrParam_( - { - () - @list.singleton(_dollar1) - }, - ) -} - -// file:///./stdlib.mbty -// 5| X { Some($1) } - -///| -fn yy_action_104( - _last_pos : @basic.Position, - _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], -) -> YYObj { - let _sub_action_0_result = yy_action_105(_last_pos, _args[0:3]) - guard _sub_action_0_result is YYObj__list_List_ConstrParam_(_dollar1) - YYObj_Option__list_List_ConstrParam__( - { - () - Some(_dollar1) - }, - ) -} - -// file:///./stdlib.mbty -// 40| L X R { $2 } - -///| -fn yy_action_105( - _last_pos : @basic.Position, - _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], -) -> YYObj { - guard _args[1].0 is YYObj__list_List_ConstrParam_(_dollar2) - YYObj__list_List_ConstrParam_( - { - () - _dollar2 - }, - ) -} - -// file:///./stdlib.mbty -// 20| X { true } - -///| -fn yy_action_106( - _last_pos : @basic.Position, - _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], -) -> YYObj { - YYObj_Bool( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _args[2].0 is YYObj_QualifiedName(_dollar4) + guard _args[4].0 is YYObj_Type(_dollar6) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - true + ImplSig::{ + type_params: @list.empty(), + trait_name: _dollar4, + type_: _dollar6, + attrs: _dollar1, + } }, ) } -// file:///./stdlib.mbty -// 19| { false } +// file:///./mbti_parser.mbty +// 226| attributes vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { +// 227| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: $5, methods: $7} +// 228| } ///| fn yy_action_107( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Bool( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + guard _args[3].0 is YYObj__list_List_QualifiedName_(_dollar5) + guard _args[5].0 is YYObj__list_List_TraitMethodSig_(_dollar7) + YYObj_TraitSig( { () - false + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: _dollar5, + methods: _dollar7, + } }, ) } -// file:///./stdlib.mbty -// 4| { None } +// file:///./mbti_parser.mbty +// 229| attributes vis "trait" uident { +// 230| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: @list.empty(), methods: @list.empty() } +// 231| } ///| fn yy_action_108( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Option__list_List_ConstrParam__( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[2].0 is YYObj_Name(_dollar4) + YYObj_TraitSig( { () - None + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: @list.empty(), + methods: @list.empty(), + } }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 242| attributes "fnalias" uident "::" lident { +// 243| FuncAlias(attrs = $1,name=$5, type_name=$3) +// 244| } ///| fn yy_action_109( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_ConstrDecl_(_dollar3) - guard _args[0].0 is YYObj_ConstrDecl(_dollar1) - YYObj__list_List_ConstrDecl_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[4].0 is YYObj_Name(_dollar5) + guard _args[2].0 is YYObj_Name(_dollar3) + YYObj_AliasSig( { () - _dollar3.add(_dollar1) + FuncAlias(attrs=_dollar1, name=_dollar5, type_name=_dollar3) }, ) } -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 245| attributes vis "using" PACKAGE_NAME "{" "type" uident using_binder "}" { +// 246| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 247| Using(pkg~, target = $7, name = $8, kind = Type, attrs = $1) +// 248| } ///| fn yy_action_110( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_ConstrDecl(_dollar1) - YYObj__list_List_ConstrDecl_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _args[2].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[2].1 + let _end_pos_of_item3 = _args[2].2 + guard _args[5].0 is YYObj_Name(_dollar7) + guard _args[6].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - @list.singleton(_dollar1) + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), + } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Type, attrs=_dollar1) }, ) } -// file:///./stdlib.mbty -// 54| { @list.empty() } +// file:///./mbti_parser.mbty +// 249| attributes vis "using" PACKAGE_NAME "{" "trait" uident using_binder "}" { +// 250| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 251| Using(pkg~, target = $7, name = $8, kind = Trait, attrs = $1) +// 252| } ///| fn yy_action_111( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_ConstrDecl_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_15(_args[0].2, _args[1:1]) + guard _args[2].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[2].1 + let _end_pos_of_item3 = _args[2].2 + guard _args[5].0 is YYObj_Name(_dollar7) + guard _args[6].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( { () - @list.empty() + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), + } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Trait, attrs=_dollar1) }, ) } // file:///./mbti_parser.mbty -// 194| "impl" type_params_with_constraints qualified_uident "for" type_ { Trait(type_params=$2, trait_name=$3, type_=$5) } +// 158| attributes vis "let" lident ":" type_ { ValueSig::{ attrs: $1, name: $4, type_: $6 } } ///| fn yy_action_112( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar2) - guard _args[2].0 is YYObj_QualifiedName(_dollar3) - guard _args[4].0 is YYObj_Type(_dollar5) - YYObj_ImplSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[1].0 is YYObj_Name(_dollar4) + guard _args[3].0 is YYObj_Type(_dollar6) + YYObj_ValueSig( { () - Trait(type_params=_dollar2, trait_name=_dollar3, type_=_dollar5) + ValueSig::{ attrs: _dollar1, name: _dollar4, type_: _dollar6 } }, ) } // file:///./mbti_parser.mbty -// 195| "impl" qualified_uident "for" type_ { Trait(type_params=@list.empty(), trait_name=$2, type_=$4) } +// 176| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 177| FuncSig::{ attrs: $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9} +// 178| } ///| fn yy_action_113( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_QualifiedName(_dollar2) - guard _args[3].0 is YYObj_Type(_dollar4) - YYObj_ImplSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_94(_last_pos, _args[0:1]) + let _sub_action_2_result = yy_action_95(_args[4].2, _args[5:8]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[3].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[4].0 is YYObj_Name(_dollar6) + guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[9].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - Trait(type_params=@list.empty(), trait_name=_dollar2, type_=_dollar4) + FuncSig::{ + attrs: _dollar1, + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, + } }, ) } // file:///./mbti_parser.mbty -// 196| "impl" uident "::" lident { DefaultImpl(trait_name=$2, method_name=$4) } +// 176| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 177| FuncSig::{ attrs: $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9} +// 178| } ///| fn yy_action_114( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_Name(_dollar2) - guard _args[3].0 is YYObj_Name(_dollar4) - YYObj_ImplSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_97(_last_pos, _args[0:0]) + let _sub_action_2_result = yy_action_95(_args[3].2, _args[4:7]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[2].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[3].0 is YYObj_Name(_dollar6) + guard _args[1].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[8].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - DefaultImpl(trait_name=_dollar2, method_name=_dollar4) + FuncSig::{ + attrs: _dollar1, + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, + } }, ) } // file:///./mbti_parser.mbty -// 237| "[" separated_list(",", type_param_with_constraints) "]" { $2 } +// 239| attributes vis "type" type_decl_name_with_params "=" type_ { +// 240| TypeAlias(attrs = $1, vis=$2, name=$4.0, type_params=$4.1, type_=$6) +// 241| } ///| fn yy_action_115( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar2) - YYObj__list_List_TypeParamWithConstraints_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[3].0 is YYObj_Type(_dollar6) + YYObj_AliasSig( { () - _dollar2 + TypeAlias( + attrs=_dollar1, + vis=_dollar2, + name=_dollar4.0, + type_params=_dollar4.1, + type_=_dollar6, + ) }, ) } -// file:///./stdlib.mbty -// 55| separated_nonempty_list(SEP, X) { $1 } +// file:///./mbti_parser.mbty +// 192| attributes vis "type" type_decl_name_with_params { +// 193| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Abstract} +// 194| } ///| fn yy_action_116( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar1) - YYObj__list_List_TypeParamWithConstraints_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + YYObj_TypeSig( { () - _dollar1 + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Abstract, + } }, ) } // file:///./mbti_parser.mbty -// 233| uident ":" separated_nonempty_list("+", type_constraint) { TypeParamWithConstraints::{name: $1, constraints: $3} } +// 195| attributes vis "suberror" uident option(type_) { +// 196| let exception_decl : @syntax.ExceptionDecl = match $5 { +// 197| None => NoPayload +// 198| Some(ty) => SinglePayload(ty) +// 199| } +// 200| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(exception_decl)} +// 201| } ///| fn yy_action_117( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Name(_dollar1) - guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar3) - YYObj_TypeParamWithConstraints( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _args[2].0 is YYObj_Option_Type_(_dollar5) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj_Name(_dollar4) + YYObj_TypeSig( { () - TypeParamWithConstraints::{ name: _dollar1, constraints: _dollar3 } + let exception_decl : @syntax.ExceptionDecl = match _dollar5 { + None => NoPayload + Some(ty) => SinglePayload(ty) + } + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(exception_decl), + } }, ) } // file:///./mbti_parser.mbty -// 255| qualified_uident { $1 } +// 202| attributes vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { +// 203| TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(EnumPayload($6))} +// 204| } ///| fn yy_action_118( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_QualifiedName(_dollar1) - YYObj_QualifiedName( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj_Name(_dollar4) + guard _args[3].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - _dollar1 + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + type_params: @list.empty(), + components: Error(EnumPayload(_dollar6)), + } }, ) } // file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// 5| X { Some($1) } ///| fn yy_action_119( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar3) - guard _args[0].0 is YYObj_QualifiedName(_dollar1) - YYObj__list_List_QualifiedName_( + guard _args[0].0 is YYObj_Type(_dollar1) + YYObj_Option_Type_( { () - _dollar3.add(_dollar1) + Some(_dollar1) }, ) } // file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// 4| { None } ///| fn yy_action_120( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_QualifiedName(_dollar1) - YYObj__list_List_QualifiedName_( + YYObj_Option_Type_( { () - @list.singleton(_dollar1) + None }, ) } // file:///./mbti_parser.mbty -// 232| uident { TypeParamWithConstraints::{name: $1, constraints: @list.empty()} } +// 205| attributes vis "struct" type_decl_name_with_params "{" record_decl_body "}" { +// 206| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: $6 } +// 207| } ///| fn yy_action_121( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Name(_dollar1) - YYObj_TypeParamWithConstraints( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[3].0 is YYObj_TypeDefinition(_dollar6) + YYObj_TypeSig( { () - TypeParamWithConstraints::{ name: _dollar1, constraints: @list.empty() } + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: _dollar6, + } }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 287| record_decl_constr { +// 288| Record(fields = @list.empty(), constr = Some($1)) +// 289| } ///| fn yy_action_122( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar3) - guard _args[0].0 is YYObj_TypeParamWithConstraints(_dollar1) - YYObj__list_List_TypeParamWithConstraints_( + guard _args[0].0 is YYObj_FuncSig(_dollar1) + YYObj_TypeDefinition( { () - _dollar3.add(_dollar1) + Record(fields=@list.empty(), constr=Some(_dollar1)) }, ) } -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 290| record_decl_body_nonempty { +// 291| let (fields, constr) = $1 +// 292| Record(fields~, constr~) +// 293| } ///| fn yy_action_123( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_TypeParamWithConstraints(_dollar1) - YYObj__list_List_TypeParamWithConstraints_( + guard _args[0].0 is YYObj___list_List_FieldDecl___FuncSig__(_dollar1) + YYObj_TypeDefinition( { () - @list.singleton(_dollar1) + let (fields, constr) = _dollar1 + Record(fields~, constr~) }, ) } -// file:///./stdlib.mbty -// 54| { @list.empty() } +// file:///./mbti_parser.mbty +// 271| attributes boption("mut") LIDENT ":" type_ { +// 272| FieldDecl::{ name: FieldName::{ label: $3, loc : mk_loc($loc($3)) }, vis: Default, mut_: $2, ty: $5, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty() } +// 273| } ///| fn yy_action_124( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_TypeParamWithConstraints_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + guard _args[1].0 is YYObj_String(_dollar3) + let _start_pos_of_item2 = _args[1].1 + let _end_pos_of_item2 = _args[1].2 + guard _args[0].0 is YYObj_Bool(_dollar2) + guard _args[3].0 is YYObj_Type(_dollar5) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_FieldDecl( { () - @list.empty() - }, - ) -} - -// file:///./mbti_parser.mbty -// 200| vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { TraitSig::{vis: $1, name: $3, super_traits: $4, methods: $6} } - -///| -fn yy_action_125( - _last_pos : @basic.Position, + FieldDecl::{ + name: FieldName::{ + label: _dollar3, + loc: mk_loc((_start_pos_of_item2, _end_pos_of_item2)), + }, + vis: Default, + mut_: _dollar2, + ty: _dollar5, + loc: mk_loc((_symbol_start_pos, _end_pos)), + attrs: _dollar1, + doc: DocString::empty(), + } + }, + ) +} + +// file:///./mbti_parser.mbty +// 271| attributes boption("mut") LIDENT ":" type_ { +// 272| FieldDecl::{ name: FieldName::{ label: $3, loc : mk_loc($loc($3)) }, vis: Default, mut_: $2, ty: $5, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty() } +// 273| } + +///| +fn yy_action_125( + _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj_Name(_dollar3) - guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar4) - guard _args[4].0 is YYObj__list_List_TraitMethodSig_(_dollar6) - YYObj_TraitSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + guard _args[2].0 is YYObj_String(_dollar3) + let _start_pos_of_item2 = _args[2].1 + let _end_pos_of_item2 = _args[2].2 + guard _args[1].0 is YYObj_Bool(_dollar2) + guard _args[4].0 is YYObj_Type(_dollar5) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_FieldDecl( { () - TraitSig::{ - vis: _dollar1, - name: _dollar3, - super_traits: _dollar4, - methods: _dollar6, + FieldDecl::{ + name: FieldName::{ + label: _dollar3, + loc: mk_loc((_start_pos_of_item2, _end_pos_of_item2)), + }, + vis: Default, + mut_: _dollar2, + ty: _dollar5, + loc: mk_loc((_symbol_start_pos, _end_pos)), + attrs: _dollar1, + doc: DocString::empty(), } }, ) } // file:///./mbti_parser.mbty -// 174| lident delimited("(", separated_list(",", trait_method_parameter), ")") "->" return_type boption(eq_underscore) { TraitMethodSig::{name: $1, params: $2, return_: $4, has_default: $5} } +// 277| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 278| FuncSig::{ +// 279| attrs : $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9 +// 280| } +// 281| } ///| fn yy_action_126( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_127(_args[0].2, _args[1:4]) - guard _args[0].0 is YYObj_Name(_dollar1) - guard _sub_action_0_result is YYObj__list_List_TraitMethodParameter_(_dollar2) - guard _args[5].0 is YYObj__Type__ErrorType_(_dollar4) - guard _args[6].0 is YYObj_Bool(_dollar5) - YYObj_TraitMethodSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_94(_args[0].2, _args[1:2]) + let _sub_action_2_result = yy_action_95(_args[5].2, _args[6:9]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[4].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[5].0 is YYObj_Name(_dollar6) + guard _args[3].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[10].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - TraitMethodSig::{ - name: _dollar1, - params: _dollar2, - return_: _dollar4, - has_default: _dollar5, + FuncSig::{ + attrs: _dollar1, + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, } }, ) } -// file:///./stdlib.mbty -// 40| L X R { $2 } +// file:///./mbti_parser.mbty +// 277| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 278| FuncSig::{ +// 279| attrs : $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9 +// 280| } +// 281| } ///| fn yy_action_127( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj__list_List_TraitMethodParameter_(_dollar2) - YYObj__list_List_TraitMethodParameter_( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_97(_args[0].2, _args[1:1]) + let _sub_action_2_result = yy_action_95(_args[4].2, _args[5:8]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[3].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[4].0 is YYObj_Name(_dollar6) + guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[9].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - _dollar2 + FuncSig::{ + attrs: _dollar1, + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, + } }, ) } -// file:///./stdlib.mbty -// 20| X { true } +// file:///./mbti_parser.mbty +// 277| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 278| FuncSig::{ +// 279| attrs : $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9 +// 280| } +// 281| } ///| fn yy_action_128( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_129(_last_pos, _args[0:2]) - YYObj_Bool( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_94(_last_pos, _args[0:1]) + let _sub_action_2_result = yy_action_95(_args[4].2, _args[5:8]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[3].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[4].0 is YYObj_Name(_dollar6) + guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[9].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - true + FuncSig::{ + attrs: _dollar1, + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, + } }, ) } // file:///./mbti_parser.mbty -// 178| "=" "_" {} +// 162| UIDENT "::" { +// 163| MethodSelfType::{ name : $1, is_object : false, loc : mk_loc($loc($1)) } +// 164| } ///| fn yy_action_129( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Unit(()) + guard _args[0].0 is YYObj_String(_dollar1) + let _start_pos_of_item0 = _args[0].1 + let _end_pos_of_item0 = _args[0].2 + YYObj_MethodSelfType( + { + () + MethodSelfType::{ + name: _dollar1, + is_object: false, + loc: mk_loc((_start_pos_of_item0, _end_pos_of_item0)), + } + }, + ) } -// file:///./stdlib.mbty -// 19| { false } +// file:///./mbti_parser.mbty +// 165| "&" UIDENT "::" { +// 166| MethodSelfType::{ name : $2, is_object : true, loc : mk_loc($loc($1)) } +// 167| } ///| fn yy_action_130( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Bool( + guard _args[1].0 is YYObj_String(_dollar2) + let _start_pos_of_item0 = _args[0].1 + let _end_pos_of_item0 = _args[0].2 + YYObj_MethodSelfType( { () - false + MethodSelfType::{ + name: _dollar2, + is_object: true, + loc: mk_loc((_start_pos_of_item0, _end_pos_of_item0)), + } }, ) } -// file:///./stdlib.mbty -// 55| separated_nonempty_list(SEP, X) { $1 } +// file:///./mbti_parser.mbty +// 277| attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { +// 278| FuncSig::{ +// 279| attrs : $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9 +// 280| } +// 281| } ///| fn yy_action_131( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_TraitMethodParameter_(_dollar1) - YYObj__list_List_TraitMethodParameter_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_97(_last_pos, _args[0:0]) + let _sub_action_2_result = yy_action_95(_args[3].2, _args[4:7]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[2].0 is YYObj_Option_MethodSelfType_(_dollar5) + guard _args[3].0 is YYObj_Name(_dollar6) + guard _args[1].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _sub_action_2_result is YYObj__list_List_Parameter_(_dollar7) + guard _args[8].0 is YYObj__Type__ErrorType_(_dollar9) + YYObj_FuncSig( { () - _dollar1 + FuncSig::{ + attrs: _dollar1, + is_async: _dollar2, + type_name: _dollar5, + name: _dollar6, + type_params: _dollar4, + params: _dollar7, + return_: _dollar9, + } }, ) } -// file:///./mbti_parser.mbty -// 306| type_ { Positional($1) } +// file:///./stdlib.mbty +// 5| X { Some($1) } ///| fn yy_action_132( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - YYObj_TraitMethodParameter( + guard _args[0].0 is YYObj_MethodSelfType(_dollar1) + YYObj_Option_MethodSelfType_( { () - Positional(_dollar1) + Some(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 307| post_label ":" type_ { Labelled($1, $3) } +// file:///./stdlib.mbty +// 4| { None } ///| fn yy_action_133( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Label(_dollar1) - guard _args[2].0 is YYObj_Type(_dollar3) - YYObj_TraitMethodParameter( + YYObj_Option_MethodSelfType_( { () - Labelled(_dollar1, _dollar3) + None }, ) } -// file:///./mbti_parser.mbty -// 370| POST_LABEL { Label::{name: $1, loc: mk_loc($sloc)} } +// file:///./stdlib.mbty +// 15| X { $1 } ///| fn yy_action_134( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Label( + guard _args[0].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar1) + YYObj__list_List_TypeParamWithConstraints_( { () - Label::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } + _dollar1 }, ) } // file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// 14| { @list.empty() } ///| fn yy_action_135( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_TraitMethodParameter_(_dollar3) - guard _args[0].0 is YYObj_TraitMethodParameter(_dollar1) - YYObj__list_List_TraitMethodParameter_( + YYObj__list_List_TypeParamWithConstraints_( { () - _dollar3.add(_dollar1) + @list.empty() }, ) } -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 296| record_decl_field ";" record_decl_constr { +// 297| (@list.singleton($1), Some($3)) +// 298| } ///| fn yy_action_136( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_TraitMethodParameter(_dollar1) - YYObj__list_List_TraitMethodParameter_( + guard _args[0].0 is YYObj_FieldDecl(_dollar1) + guard _args[2].0 is YYObj_FuncSig(_dollar3) + YYObj___list_List_FieldDecl___FuncSig__( { () - @list.singleton(_dollar1) + (@list.singleton(_dollar1), Some(_dollar3)) }, ) } -// file:///./stdlib.mbty -// 54| { @list.empty() } +// file:///./mbti_parser.mbty +// 302| record_decl_field ";" record_decl_body_nonempty { +// 303| let (fields, constr) = $3 +// 304| (fields.add($1), constr) +// 305| } ///| fn yy_action_137( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_TraitMethodParameter_( + guard _args[2].0 is YYObj___list_List_FieldDecl___FuncSig__(_dollar3) + guard _args[0].0 is YYObj_FieldDecl(_dollar1) + YYObj___list_List_FieldDecl___FuncSig__( { () - @list.empty() + let (fields, constr) = _dollar3 + (fields.add(_dollar1), constr) }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 299| record_decl_field { +// 300| (@list.singleton($1), None) +// 301| } ///| fn yy_action_138( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_TraitMethodSig_(_dollar3) - guard _args[0].0 is YYObj_TraitMethodSig(_dollar1) - YYObj__list_List_TraitMethodSig_( + guard _args[0].0 is YYObj_FieldDecl(_dollar1) + YYObj___list_List_FieldDecl___FuncSig__( { () - _dollar3.add(_dollar1) + (@list.singleton(_dollar1), None) }, ) } -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 284| { +// 285| Record(fields = @list.empty(), constr = None) +// 286| } ///| fn yy_action_139( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_TraitMethodSig(_dollar1) - YYObj__list_List_TraitMethodSig_( + YYObj_TypeDefinition( { () - @list.singleton(_dollar1) + Record(fields=@list.empty(), constr=None) }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 208| attributes vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { +// 209| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: TupleStruct($6)} +// 210| } ///| fn yy_action_140( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar3) - guard _args[0].0 is YYObj_QualifiedName(_dollar1) - YYObj__list_List_QualifiedName_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[3].0 is YYObj__list_List_Type_(_dollar6) + YYObj_TypeSig( { () - _dollar3.add(_dollar1) + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: TupleStruct(_dollar6), + } }, ) } // file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// 55| separated_nonempty_list(SEP, X) { $1 } ///| fn yy_action_141( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_QualifiedName(_dollar1) - YYObj__list_List_QualifiedName_( + guard _args[0].0 is YYObj__list_List_Type_(_dollar1) + YYObj__list_List_Type_( { () - @list.singleton(_dollar1) + _dollar1 }, ) } // file:///./stdlib.mbty -// 15| X { $1 } +// 54| { @list.empty() } ///| fn yy_action_142( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_143(_last_pos, _args[0:2]) - guard _sub_action_0_result is YYObj__list_List_QualifiedName_(_dollar1) - YYObj__list_List_QualifiedName_( + YYObj__list_List_Type_( { () - _dollar1 + @list.empty() }, ) } -// file:///./stdlib.mbty -// 32| L X { $2 } +// file:///./mbti_parser.mbty +// 211| attributes vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { +// 212| TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Variant($6)} +// 213| } ///| fn yy_action_143( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj__list_List_QualifiedName_(_dollar2) - YYObj__list_List_QualifiedName_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar4) + guard _args[3].0 is YYObj__list_List_ConstrDecl_(_dollar6) + YYObj_TypeSig( { () - _dollar2 + TypeSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4.0, + type_params: _dollar4.1, + components: Variant(_dollar6), + } }, ) } // file:///./stdlib.mbty -// 14| { @list.empty() } +// 55| separated_nonempty_list(SEP, X) { $1 } ///| fn yy_action_144( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_QualifiedName_( + guard _args[0].0 is YYObj__list_List_ConstrDecl_(_dollar1) + YYObj__list_List_ConstrDecl_( { () - @list.empty() + _dollar1 }, ) } // file:///./mbti_parser.mbty -// 201| vis "trait" uident { TraitSig::{vis: $1, name: $3, super_traits: @list.empty(), methods: @list.empty()} } +// 256| attributes UIDENT option(delimited("(", separated_nonempty_list(",", constructor_param), ")")) option(eq_tag) { +// 257| ConstrDecl::{name: ConstrName::{ name : $2, loc : mk_loc($loc($2)) }, args: $3, tag: $4, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty()} +// 258| } ///| fn yy_action_145( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[1].0 is YYObj_Name(_dollar3) - YYObj_TraitSig( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + guard _args[0].0 is YYObj_String(_dollar2) + let _start_pos_of_item1 = _args[0].1 + let _end_pos_of_item1 = _args[0].2 + guard _args[1].0 is YYObj_Option__list_List_ConstrParam__(_dollar3) + guard _args[2].0 is YYObj_Option__String__Location__(_dollar4) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ConstrDecl( { () - TraitSig::{ - vis: _dollar1, - name: _dollar3, - super_traits: @list.empty(), - methods: @list.empty(), + ConstrDecl::{ + name: ConstrName::{ + name: _dollar2, + loc: mk_loc((_start_pos_of_item1, _end_pos_of_item1)), + }, + args: _dollar3, + tag: _dollar4, + loc: mk_loc((_symbol_start_pos, _end_pos)), + attrs: _dollar1, + doc: DocString::empty(), } }, ) } // file:///./mbti_parser.mbty -// 205| vis "typealias" type_ "as" type_decl_name_with_params { TypeAlias(vis=$1, name=$5.0, type_params=$5.1, type_=$3) } +// 256| attributes UIDENT option(delimited("(", separated_nonempty_list(",", constructor_param), ")")) option(eq_tag) { +// 257| ConstrDecl::{name: ConstrName::{ name : $2, loc : mk_loc($loc($2)) }, args: $3, tag: $4, loc: mk_loc($sloc), attrs: $1, doc: DocString::empty()} +// 258| } ///| fn yy_action_146( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj__Name___list_List_TypeParamNoConstraints__(_dollar5) - guard _args[1].0 is YYObj_Type(_dollar3) - YYObj_AliasSig( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + guard _args[1].0 is YYObj_String(_dollar2) + let _start_pos_of_item1 = _args[1].1 + let _end_pos_of_item1 = _args[1].2 + guard _args[2].0 is YYObj_Option__list_List_ConstrParam__(_dollar3) + guard _args[3].0 is YYObj_Option__String__Location__(_dollar4) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ConstrDecl( { () - TypeAlias( - vis=_dollar1, - name=_dollar5.0, - type_params=_dollar5.1, - type_=_dollar3, - ) - }, - ) -} + ConstrDecl::{ + name: ConstrName::{ + name: _dollar2, + loc: mk_loc((_start_pos_of_item1, _end_pos_of_item1)), + }, + args: _dollar3, + tag: _dollar4, + loc: mk_loc((_symbol_start_pos, _end_pos)), + attrs: _dollar1, + doc: DocString::empty(), + } + }, + ) +} -// file:///./mbti_parser.mbty -// 246| "[" separated_list(",", type_param_no_constraints) "]" { $2 } +// file:///./stdlib.mbty +// 5| X { Some($1) } ///| fn yy_action_147( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar2) - YYObj__list_List_TypeParamNoConstraints_( + let _sub_action_0_result = yy_action_148(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__String__Location_(_dollar1) + YYObj_Option__String__Location__( { () - _dollar2 + Some(_dollar1) }, ) } -// file:///./stdlib.mbty -// 55| separated_nonempty_list(SEP, X) { $1 } +// file:///./mbti_parser.mbty +// 262| "=" INT { ($2, mk_loc($loc($2))) } ///| fn yy_action_148( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar1) - YYObj__list_List_TypeParamNoConstraints_( + guard _args[1].0 is YYObj_String(_dollar2) + let _start_pos_of_item1 = _args[1].1 + let _end_pos_of_item1 = _args[1].2 + YYObj__String__Location_( { () - _dollar1 + (_dollar2, mk_loc((_start_pos_of_item1, _end_pos_of_item1))) }, ) } -// file:///./mbti_parser.mbty -// 241| uident { Name($1) } +// file:///./stdlib.mbty +// 4| { None } ///| fn yy_action_149( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Name(_dollar1) - YYObj_TypeParamNoConstraints( + YYObj_Option__String__Location__( { () - Name(_dollar1) + None }, ) } // file:///./mbti_parser.mbty -// 242| "_" { Underscore(mk_loc($sloc)) } +// 266| boption("mut") type_ { ConstrParam::{mut_: $1, ty: $2, label: None} } ///| fn yy_action_150( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_TypeParamNoConstraints( + guard _args[0].0 is YYObj_Bool(_dollar1) + guard _args[1].0 is YYObj_Type(_dollar2) + YYObj_ConstrParam( { () - Underscore(mk_loc((_symbol_start_pos, _end_pos))) + ConstrParam::{ mut_: _dollar1, ty: _dollar2, label: None } }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 267| boption("mut") post_label ":" type_ { ConstrParam::{mut_: $1, ty: $4, label: Some($2)} } ///| fn yy_action_151( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar3) - guard _args[0].0 is YYObj_TypeParamNoConstraints(_dollar1) - YYObj__list_List_TypeParamNoConstraints_( + guard _args[0].0 is YYObj_Bool(_dollar1) + guard _args[3].0 is YYObj_Type(_dollar4) + guard _args[1].0 is YYObj_Label(_dollar2) + YYObj_ConstrParam( { () - _dollar3.add(_dollar1) + ConstrParam::{ mut_: _dollar1, ty: _dollar4, label: Some(_dollar2) } }, ) } // file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } ///| fn yy_action_152( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_TypeParamNoConstraints(_dollar1) - YYObj__list_List_TypeParamNoConstraints_( + guard _args[2].0 is YYObj__list_List_ConstrParam_(_dollar3) + guard _args[0].0 is YYObj_ConstrParam(_dollar1) + YYObj__list_List_ConstrParam_( { () - @list.singleton(_dollar1) + _dollar3.add(_dollar1) }, ) } // file:///./stdlib.mbty -// 54| { @list.empty() } +// 59| X { @list.singleton($1) } ///| fn yy_action_153( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_TypeParamNoConstraints_( + guard _args[0].0 is YYObj_ConstrParam(_dollar1) + YYObj__list_List_ConstrParam_( { () - @list.empty() + @list.singleton(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 251| type_params_no_constraints { $1 } +// file:///./stdlib.mbty +// 5| X { Some($1) } ///| fn yy_action_154( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar1) - YYObj__list_List_TypeParamNoConstraints_( + let _sub_action_0_result = yy_action_155(_last_pos, _args[0:3]) + guard _sub_action_0_result is YYObj__list_List_ConstrParam_(_dollar1) + YYObj_Option__list_List_ConstrParam__( { () - _dollar1 + Some(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 259| uident optional_type_params_no_constraints { ($1, $2) } +// file:///./stdlib.mbty +// 40| L X R { $2 } ///| fn yy_action_155( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Name(_dollar1) - guard _args[1].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar2) - YYObj__Name___list_List_TypeParamNoConstraints__( + guard _args[1].0 is YYObj__list_List_ConstrParam_(_dollar2) + YYObj__list_List_ConstrParam_( { () - (_dollar1, _dollar2) + _dollar2 }, ) } -// file:///./mbti_parser.mbty -// 250| { @list.empty() } +// file:///./stdlib.mbty +// 20| X { true } ///| fn yy_action_156( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_TypeParamNoConstraints_( + YYObj_Bool( { () - @list.empty() + true }, ) } -// file:///./mbti_parser.mbty -// 273| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 19| { false } ///| fn yy_action_157( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_158(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_159(_args[3].2, _args[4:4]) - guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) - guard _args[2].0 is YYObj_Type(_dollar3) - guard _args[6].0 is YYObj__Type__ErrorType_(_dollar8) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + YYObj_Bool( { () - Arrow( - args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), - res=_dollar8.0, - err=_dollar8.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + false }, ) } -// file:///./mbti_parser.mbty -// 273| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 4| { None } ///| -fn yy_action_160( +fn yy_action_158( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_158(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_161(_args[3].2, _args[4:5]) - guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) - guard _args[2].0 is YYObj_Type(_dollar3) - guard _args[7].0 is YYObj__Type__ErrorType_(_dollar8) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + YYObj_Option__list_List_ConstrParam__( { () - Arrow( - args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), - res=_dollar8.0, - err=_dollar8.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + None }, ) } -// file:///./mbti_parser.mbty -// 275| is_async "(" type_ ")" "->" return_type { Arrow(args=@list.singleton($3), res=$6.0, err=$6.1, is_async=$1, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } ///| -fn yy_action_162( +fn yy_action_159( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_158(_last_pos, _args[0:1]) - guard _args[2].0 is YYObj_Type(_dollar3) - guard _args[5].0 is YYObj__Type__ErrorType_(_dollar6) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + guard _args[2].0 is YYObj__list_List_ConstrDecl_(_dollar3) + guard _args[0].0 is YYObj_ConstrDecl(_dollar1) + YYObj__list_List_ConstrDecl_( { () - Arrow( - args=@list.singleton(_dollar3), - res=_dollar6.0, - err=_dollar6.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + _dollar3.add(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 266| qualified_uident_ optional_type_arguments { Name(constr_id=$1, tys=$2, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 59| X { @list.singleton($1) } ///| -fn yy_action_163( +fn yy_action_160( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_ConstrId(_dollar1) - guard _args[1].0 is YYObj__list_List_Type_(_dollar2) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + guard _args[0].0 is YYObj_ConstrDecl(_dollar1) + YYObj__list_List_ConstrDecl_( { () - Name( - constr_id=_dollar1, - tys=_dollar2, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + @list.singleton(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 293| delimited("[", separated_nonempty_list(",", type_), "]") { $1 } +// file:///./stdlib.mbty +// 54| { @list.empty() } ///| -fn yy_action_164( +fn yy_action_161( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_165(_last_pos, _args[0:3]) - guard _sub_action_0_result is YYObj__list_List_Type_(_dollar1) - YYObj__list_List_Type_( + YYObj__list_List_ConstrDecl_( { () - _dollar1 + @list.empty() }, ) } -// file:///./stdlib.mbty -// 40| L X R { $2 } +// file:///./mbti_parser.mbty +// 322| "[" separated_list(",", type_param_no_constraints) "]" { $2 } ///| -fn yy_action_165( +fn yy_action_162( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj__list_List_Type_(_dollar2) - YYObj__list_List_Type_( + guard _args[1].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar2) + YYObj__list_List_TypeParamNoConstraints_( { () _dollar2 @@ -3809,317 +4608,248 @@ fn yy_action_165( ) } -// file:///./mbti_parser.mbty -// 273| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 55| separated_nonempty_list(SEP, X) { $1 } ///| -fn yy_action_166( +fn yy_action_163( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_167(_last_pos, _args[0:0]) - let _sub_action_1_result = yy_action_161(_args[2].2, _args[3:4]) - guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) - guard _args[1].0 is YYObj_Type(_dollar3) - guard _args[6].0 is YYObj__Type__ErrorType_(_dollar8) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + guard _args[0].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar1) + YYObj__list_List_TypeParamNoConstraints_( { () - Arrow( - args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), - res=_dollar8.0, - err=_dollar8.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + _dollar1 }, ) } -// file:///./stdlib.mbty -// 10| X { Some($1) } +// file:///./mbti_parser.mbty +// 317| uident { Name($1) } ///| -fn yy_action_161( +fn yy_action_164( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__list_List_Type_(_dollar1) - YYObj_Option__list_List_Type__( + guard _args[0].0 is YYObj_Name(_dollar1) + YYObj_TypeParamNoConstraints( { () - Some(_dollar1) + Name(_dollar1) }, ) } // file:///./mbti_parser.mbty -// 264| "(" type_ "," separated_nonempty_list(",", type_) ")" { Tuple(tys=$4.add($2), loc=mk_loc($sloc)) } +// 318| "_" { Underscore(mk_loc($sloc)) } ///| -fn yy_action_168( +fn yy_action_165( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[3].0 is YYObj__list_List_Type_(_dollar4) - guard _args[1].0 is YYObj_Type(_dollar2) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos } else { _args[_args.length() - 1].2 } - YYObj_Type( + YYObj_TypeParamNoConstraints( { () - Tuple( - tys=_dollar4.add(_dollar2), - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + Underscore(mk_loc((_symbol_start_pos, _end_pos))) }, ) } -// file:///./mbti_parser.mbty -// 273| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } ///| -fn yy_action_169( +fn yy_action_166( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_167(_last_pos, _args[0:0]) - let _sub_action_1_result = yy_action_159(_args[2].2, _args[3:3]) - guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) - guard _args[1].0 is YYObj_Type(_dollar3) - guard _args[5].0 is YYObj__Type__ErrorType_(_dollar8) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + guard _args[2].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar3) + guard _args[0].0 is YYObj_TypeParamNoConstraints(_dollar1) + YYObj__list_List_TypeParamNoConstraints_( { () - Arrow( - args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), - res=_dollar8.0, - err=_dollar8.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + _dollar3.add(_dollar1) }, ) } // file:///./stdlib.mbty -// 9| { None } +// 59| X { @list.singleton($1) } ///| -fn yy_action_159( +fn yy_action_167( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Option__list_List_Type__( + guard _args[0].0 is YYObj_TypeParamNoConstraints(_dollar1) + YYObj__list_List_TypeParamNoConstraints_( { () - None + @list.singleton(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 275| is_async "(" type_ ")" "->" return_type { Arrow(args=@list.singleton($3), res=$6.0, err=$6.1, is_async=$1, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 54| { @list.empty() } ///| -fn yy_action_170( +fn yy_action_168( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_167(_last_pos, _args[0:0]) - guard _args[1].0 is YYObj_Type(_dollar3) - guard _args[4].0 is YYObj__Type__ErrorType_(_dollar6) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + YYObj__list_List_TypeParamNoConstraints_( { () - Arrow( - args=@list.singleton(_dollar3), - res=_dollar6.0, - err=_dollar6.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + @list.empty() }, ) } // file:///./mbti_parser.mbty -// 265| "(" type_ ")" { $2 } +// 327| type_params_no_constraints { $1 } ///| -fn yy_action_171( +fn yy_action_169( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_Type(_dollar2) - YYObj_Type( + guard _args[0].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar1) + YYObj__list_List_TypeParamNoConstraints_( { () - _dollar2 + _dollar1 }, ) } // file:///./mbti_parser.mbty -// 263| simple_type "?" { Option(ty=$1, loc=mk_loc($sloc), question_loc=mk_loc($loc($2))) } +// 335| uident optional_type_params_no_constraints { ($1, $2) } ///| -fn yy_action_172( +fn yy_action_170( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - let _start_pos_of_item1 = _args[1].1 - let _end_pos_of_item1 = _args[1].2 - YYObj_Type( + guard _args[0].0 is YYObj_Name(_dollar1) + guard _args[1].0 is YYObj__list_List_TypeParamNoConstraints_(_dollar2) + YYObj__Name___list_List_TypeParamNoConstraints__( { () - Option( - ty=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - question_loc=mk_loc((_start_pos_of_item1, _end_pos_of_item1)), - ) + (_dollar1, _dollar2) }, ) } // file:///./mbti_parser.mbty -// 281| simple_type "raise" error_type { ($1, ErrorType(ty = $3)) } +// 326| { @list.empty() } ///| -fn yy_action_173( +fn yy_action_171( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - guard _args[2].0 is YYObj_Type(_dollar3) - YYObj__Type__ErrorType_( + YYObj__list_List_TypeParamNoConstraints_( { () - (_dollar1, ErrorType(ty=_dollar3)) + @list.empty() }, ) } // file:///./mbti_parser.mbty -// 282| simple_type "raise" "?" { -// 283| let fake_error : Type = Name(constr_id={ id : QualifiedIdent::Ident(name="Error"), loc :@syntax.no_location }, tys=@list.empty(), loc=@syntax.no_location) -// 284| ($1, MaybeError(ty=fake_error)) -// 285| } +// 217| attributes vis "impl" type_params_with_constraints qualified_uident "for" type_ { +// 218| ImplSig::{type_params : $4, trait_name : $5, type_ : $7, attrs : $1} +// 219| } ///| -fn yy_action_174( +fn yy_action_172( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - YYObj__Type__ErrorType_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _args[1].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar4) + guard _args[2].0 is YYObj_QualifiedName(_dollar5) + guard _args[4].0 is YYObj_Type(_dollar7) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - let fake_error : Type = Name( - constr_id={ - id: QualifiedIdent::Ident(name="Error"), - loc: @syntax.no_location, - }, - tys=@list.empty(), - loc=@syntax.no_location, - ) - (_dollar1, MaybeError(ty=fake_error)) + ImplSig::{ + type_params: _dollar4, + trait_name: _dollar5, + type_: _dollar7, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 289| qualified_uident_ { Name(constr_id=$1, tys=@list.empty(), loc=mk_loc($sloc)) } +// 220| attributes vis "impl" qualified_uident "for" type_ { +// 221| ImplSig::{type_params : @list.empty(), trait_name : $4, type_ : $6, attrs : $1} +// 222| } ///| -fn yy_action_175( +fn yy_action_173( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_ConstrId(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _args[1].0 is YYObj_QualifiedName(_dollar4) + guard _args[3].0 is YYObj_Type(_dollar6) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_ImplSig( { () - Name( - constr_id=_dollar1, - tys=@list.empty(), - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + ImplSig::{ + type_params: @list.empty(), + trait_name: _dollar4, + type_: _dollar6, + attrs: _dollar1, + } }, ) } // file:///./mbti_parser.mbty -// 280| simple_type "raise" { ($1, DefaultErrorType(loc=mk_loc($loc($2)))) } +// 313| "[" separated_list(",", type_param_with_constraints) "]" { $2 } ///| -fn yy_action_176( +fn yy_action_174( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - let _start_pos_of_item1 = _args[1].1 - let _end_pos_of_item1 = _args[1].2 - YYObj__Type__ErrorType_( + guard _args[1].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar2) + YYObj__list_List_TypeParamWithConstraints_( { () - ( - _dollar1, - DefaultErrorType(loc=mk_loc((_start_pos_of_item1, _end_pos_of_item1))), - ) + _dollar2 }, ) } -// file:///./mbti_parser.mbty -// 272| simple_type { $1 } +// file:///./stdlib.mbty +// 55| separated_nonempty_list(SEP, X) { $1 } ///| -fn yy_action_177( +fn yy_action_175( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - YYObj_Type( + guard _args[0].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar1) + YYObj__list_List_TypeParamWithConstraints_( { () _dollar1 @@ -4128,48 +4858,36 @@ fn yy_action_177( } // file:///./mbti_parser.mbty -// 274| is_async "(" ")" "->" return_type { Arrow(args=@list.empty(), res=$5.0, err=$5.1, is_async=$1, loc=mk_loc($sloc)) } +// 309| uident ":" separated_nonempty_list("+", type_constraint) { TypeParamWithConstraints::{name: $1, constraints: $3} } ///| -fn yy_action_178( +fn yy_action_176( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_167(_last_pos, _args[0:0]) - guard _args[3].0 is YYObj__Type__ErrorType_(_dollar5) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + guard _args[0].0 is YYObj_Name(_dollar1) + guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar3) + YYObj_TypeParamWithConstraints( { () - Arrow( - args=@list.empty(), - res=_dollar5.0, - err=_dollar5.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + TypeParamWithConstraints::{ name: _dollar1, constraints: _dollar3 } }, ) } // file:///./mbti_parser.mbty -// 344| { None } +// 331| qualified_uident { $1 } ///| -fn yy_action_167( +fn yy_action_177( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Location_( + guard _args[0].0 is YYObj_QualifiedName(_dollar1) + YYObj_QualifiedName( { () - None + _dollar1 }, ) } @@ -4178,13 +4896,13 @@ fn yy_action_167( // 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } ///| -fn yy_action_179( +fn yy_action_178( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_Type_(_dollar3) - guard _args[0].0 is YYObj_Type(_dollar1) - YYObj__list_List_Type_( + guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar3) + guard _args[0].0 is YYObj_QualifiedName(_dollar1) + YYObj__list_List_QualifiedName_( { () _dollar3.add(_dollar1) @@ -4196,12 +4914,12 @@ fn yy_action_179( // 59| X { @list.singleton($1) } ///| -fn yy_action_180( +fn yy_action_179( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - YYObj__list_List_Type_( + guard _args[0].0 is YYObj_QualifiedName(_dollar1) + YYObj__list_List_QualifiedName_( { () @list.singleton(_dollar1) @@ -4210,260 +4928,332 @@ fn yy_action_180( } // file:///./mbti_parser.mbty -// 294| { @list.empty() } +// 308| uident { TypeParamWithConstraints::{name: $1, constraints: @list.empty()} } ///| -fn yy_action_181( +fn yy_action_180( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_Type_( + guard _args[0].0 is YYObj_Name(_dollar1) + YYObj_TypeParamWithConstraints( { () - @list.empty() + TypeParamWithConstraints::{ name: _dollar1, constraints: @list.empty() } }, ) } -// file:///./mbti_parser.mbty -// 267| "&" qualified_uident_ { Object($2) } +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } ///| -fn yy_action_182( +fn yy_action_181( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 is YYObj_ConstrId(_dollar2) - YYObj_Type( + guard _args[2].0 is YYObj__list_List_TypeParamWithConstraints_(_dollar3) + guard _args[0].0 is YYObj_TypeParamWithConstraints(_dollar1) + YYObj__list_List_TypeParamWithConstraints_( { () - Object(_dollar2) + _dollar3.add(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 268| "_" { Any(loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 59| X { @list.singleton($1) } ///| -fn yy_action_183( +fn yy_action_182( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + guard _args[0].0 is YYObj_TypeParamWithConstraints(_dollar1) + YYObj__list_List_TypeParamWithConstraints_( { () - Any(loc=mk_loc((_symbol_start_pos, _end_pos))) + @list.singleton(_dollar1) }, ) } -// file:///./mbti_parser.mbty -// 274| is_async "(" ")" "->" return_type { Arrow(args=@list.empty(), res=$5.0, err=$5.1, is_async=$1, loc=mk_loc($sloc)) } +// file:///./stdlib.mbty +// 54| { @list.empty() } ///| -fn yy_action_184( +fn yy_action_183( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_158(_last_pos, _args[0:1]) - guard _args[4].0 is YYObj__Type__ErrorType_(_dollar5) - guard _sub_action_0_result is YYObj_Location_(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Type( + YYObj__list_List_TypeParamWithConstraints_( { () - Arrow( - args=@list.empty(), - res=_dollar5.0, - err=_dollar5.1, - is_async=_dollar1, - loc=mk_loc((_symbol_start_pos, _end_pos)), - ) + @list.empty() }, ) } // file:///./mbti_parser.mbty -// 343| "async" { Some(mk_loc($loc($1))) } +// 226| attributes vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { +// 227| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: $5, methods: $7} +// 228| } ///| -fn yy_action_158( +fn yy_action_184( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _start_pos_of_item0 = _args[0].1 - let _end_pos_of_item0 = _args[0].2 - YYObj_Location_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj_Name(_dollar4) + guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar5) + guard _args[4].0 is YYObj__list_List_TraitMethodSig_(_dollar7) + YYObj_TraitSig( { () - Some(mk_loc((_start_pos_of_item0, _end_pos_of_item0))) + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: _dollar5, + methods: _dollar7, + } }, ) } // file:///./mbti_parser.mbty -// 279| type_ { ($1, NoErrorType) } +// 182| attributes lident delimited("(", separated_list(",", parameter), ")") "->" return_type boption(eq_underscore) { +// 183| TraitMethodSig::{ attrs : $1, name: $2, params: $3, return_: $5, has_default: $6} +// 184| } ///| fn yy_action_185( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_Type(_dollar1) - YYObj__Type__ErrorType_( + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_95(_args[0].2, _args[1:4]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[0].0 is YYObj_Name(_dollar2) + guard _sub_action_1_result is YYObj__list_List_Parameter_(_dollar3) + guard _args[5].0 is YYObj__Type__ErrorType_(_dollar5) + guard _args[6].0 is YYObj_Bool(_dollar6) + YYObj_TraitMethodSig( { () - (_dollar1, NoErrorType) + TraitMethodSig::{ + attrs: _dollar1, + name: _dollar2, + params: _dollar3, + return_: _dollar5, + has_default: _dollar6, + } }, ) } // file:///./mbti_parser.mbty -// 353| UIDENT { ConstrId::{ id: Ident(name=$1), loc: mk_loc($sloc)} } +// 182| attributes lident delimited("(", separated_list(",", parameter), ")") "->" return_type boption(eq_underscore) { +// 183| TraitMethodSig::{ attrs : $1, name: $2, params: $3, return_: $5, has_default: $6} +// 184| } ///| fn yy_action_186( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_ConstrId( + let _sub_action_0_result = yy_action_49(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_95(_args[1].2, _args[2:5]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[1].0 is YYObj_Name(_dollar2) + guard _sub_action_1_result is YYObj__list_List_Parameter_(_dollar3) + guard _args[6].0 is YYObj__Type__ErrorType_(_dollar5) + guard _args[7].0 is YYObj_Bool(_dollar6) + YYObj_TraitMethodSig( { () - ConstrId::{ - id: Ident(name=_dollar1), - loc: mk_loc((_symbol_start_pos, _end_pos)), + TraitMethodSig::{ + attrs: _dollar1, + name: _dollar2, + params: _dollar3, + return_: _dollar5, + has_default: _dollar6, } }, ) } +// file:///./stdlib.mbty +// 40| L X R { $2 } + +///| +fn yy_action_95( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[1].0 is YYObj__list_List_Parameter_(_dollar2) + YYObj__list_List_Parameter_( + { + () + _dollar2 + }, + ) +} + // file:///./mbti_parser.mbty -// 354| PACKAGE_NAME DOT_UIDENT { ConstrId::{ id: Dot(pkg=$1, id=$2), loc: mk_loc($sloc)} } +// 444| nonempty_list(attribute) { $1 } + +///| +fn yy_action_49( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj__list_List_Attribute_(_dollar1) + YYObj__list_List_Attribute_( + { + () + _dollar1 + }, + ) +} + +// file:///./stdlib.mbty +// 20| X { true } ///| fn yy_action_187( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - guard _args[1].0 is YYObj_String(_dollar2) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_ConstrId( + let _sub_action_0_result = yy_action_188(_last_pos, _args[0:2]) + YYObj_Bool( { () - ConstrId::{ - id: Dot(pkg=_dollar1, id=_dollar2), - loc: mk_loc((_symbol_start_pos, _end_pos)), - } + true }, ) } // file:///./mbti_parser.mbty -// 206| vis "traitalias" qualified_uident "as" uident { TraitAlias(vis=$1, name=$5, trait_name=$3) } +// 188| "=" "_" {} ///| fn yy_action_188( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_46(_last_pos, _args[0:0]) - guard _sub_action_0_result is YYObj_Visibility(_dollar1) - guard _args[3].0 is YYObj_Name(_dollar5) - guard _args[1].0 is YYObj_QualifiedName(_dollar3) - YYObj_AliasSig( + YYObj_Unit(()) +} + +// file:///./stdlib.mbty +// 19| { false } + +///| +fn yy_action_189( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj_Bool( + { + () + false + }, + ) +} + +// file:///./stdlib.mbty +// 55| separated_nonempty_list(SEP, X) { $1 } + +///| +fn yy_action_190( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj__list_List_Parameter_(_dollar1) + YYObj__list_List_Parameter_( { () - TraitAlias(vis=_dollar1, name=_dollar5, trait_name=_dollar3) + _dollar1 }, ) } // file:///./mbti_parser.mbty -// 331| { Default } +// 374| type_ { DiscardPositional(ty = Some($1), loc = mk_loc($loc($1))) } ///| -fn yy_action_46( +fn yy_action_191( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj_Visibility( + guard _args[0].0 is YYObj_Type(_dollar1) + let _start_pos_of_item0 = _args[0].1 + let _end_pos_of_item0 = _args[0].2 + YYObj_Parameter( { () - Default + DiscardPositional( + ty=Some(_dollar1), + loc=mk_loc((_start_pos_of_item0, _end_pos_of_item0)), + ) }, ) } // file:///./mbti_parser.mbty -// 358| UIDENT { Name::{name: $1, loc: mk_loc($sloc)} } +// 375| post_label ":" type_ { Labelled(binder = { name : $1.name, loc : $1.loc }, ty = Some($3)) } ///| -fn yy_action_189( +fn yy_action_192( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) - let _end_pos = if _args.length() == 0 { - _last_pos - } else { - _args[_args.length() - 1].2 - } - YYObj_Name( + guard _args[0].0 is YYObj_Label(_dollar1) + guard _args[2].0 is YYObj_Type(_dollar3) + YYObj_Parameter( { () - Name::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } + Labelled( + binder={ name: _dollar1.name, loc: _dollar1.loc }, + ty=Some(_dollar3), + ) }, ) } // file:///./mbti_parser.mbty -// 207| "fnalias" qualified_uident "::" lident { FnAlias(name=$4, type_name=$2, loc=mk_loc($sloc)) } +// 349| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } ///| -fn yy_action_190( +fn yy_action_193( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[3].0 is YYObj_Name(_dollar4) - guard _args[1].0 is YYObj_QualifiedName(_dollar2) + let _sub_action_0_result = yy_action_94(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_194(_args[3].2, _args[4:4]) + guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) + guard _args[2].0 is YYObj_Type(_dollar3) + guard _args[6].0 is YYObj__Type__ErrorType_(_dollar8) + guard _sub_action_0_result is YYObj_Location_(_dollar1) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos } else { _args[_args.length() - 1].2 } - YYObj_AliasSig( + YYObj_Type( { () - FnAlias( - name=_dollar4, - type_name=_dollar2, + Arrow( + args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), + res=_dollar8.0, + err=_dollar8.1, + is_async=_dollar1, loc=mk_loc((_symbol_start_pos, _end_pos)), ) }, @@ -4471,356 +5261,1463 @@ fn yy_action_190( } // file:///./mbti_parser.mbty -// 362| LIDENT { Name::{name: $1, loc: mk_loc($sloc)} } +// 349| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } ///| -fn yy_action_191( +fn yy_action_195( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) + let _sub_action_0_result = yy_action_94(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_196(_args[3].2, _args[4:5]) + guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) + guard _args[2].0 is YYObj_Type(_dollar3) + guard _args[7].0 is YYObj__Type__ErrorType_(_dollar8) + guard _sub_action_0_result is YYObj_Location_(_dollar1) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos } else { _args[_args.length() - 1].2 } - YYObj_Name( + YYObj_Type( { () - Name::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } + Arrow( + args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), + res=_dollar8.0, + err=_dollar8.1, + is_async=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) }, ) } // file:///./mbti_parser.mbty -// 348| UIDENT { QualifiedName::{ name: Ident(name=$1), loc: mk_loc($sloc)} } +// 351| is_async "(" type_ ")" "->" return_type { Arrow(args=@list.singleton($3), res=$6.0, err=$6.1, is_async=$1, loc=mk_loc($sloc)) } ///| -fn yy_action_192( +fn yy_action_197( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) + let _sub_action_0_result = yy_action_94(_last_pos, _args[0:1]) + guard _args[2].0 is YYObj_Type(_dollar3) + guard _args[5].0 is YYObj__Type__ErrorType_(_dollar6) + guard _sub_action_0_result is YYObj_Location_(_dollar1) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos } else { _args[_args.length() - 1].2 } - YYObj_QualifiedName( + YYObj_Type( { () - QualifiedName::{ - name: Ident(name=_dollar1), - loc: mk_loc((_symbol_start_pos, _end_pos)), - } + Arrow( + args=@list.singleton(_dollar3), + res=_dollar6.0, + err=_dollar6.1, + is_async=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) }, ) } // file:///./mbti_parser.mbty -// 349| PACKAGE_NAME DOT_UIDENT { QualifiedName::{ name: Dot(pkg=$1, id=$2), loc: mk_loc($sloc)} } +// 342| qualified_uident_ optional_type_arguments { Name(constr_id=$1, tys=$2, loc=mk_loc($sloc)) } ///| -fn yy_action_193( +fn yy_action_198( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_String(_dollar1) - guard _args[1].0 is YYObj_String(_dollar2) + guard _args[0].0 is YYObj_ConstrId(_dollar1) + guard _args[1].0 is YYObj__list_List_Type_(_dollar2) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos } else { _args[_args.length() - 1].2 } - YYObj_QualifiedName( + YYObj_Type( { () - QualifiedName::{ - name: Dot(pkg=_dollar1, id=_dollar2), - loc: mk_loc((_symbol_start_pos, _end_pos)), - } + Name( + constr_id=_dollar1, + tys=_dollar2, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) }, ) } -// file:///./stdlib.mbty -// 50| X nonempty_list(X) { $2.add($1) } +// file:///./mbti_parser.mbty +// 369| delimited("[", separated_nonempty_list(",", type_), "]") { $1 } ///| -fn yy_action_194( +fn yy_action_199( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[1].0 - is YYObj__list_List__String__Option_String___String__(_dollar2) - guard _args[0].0 is YYObj__String__Option_String___String_(_dollar1) - YYObj__list_List__String__Option_String___String__( + let _sub_action_0_result = yy_action_200(_last_pos, _args[0:3]) + guard _sub_action_0_result is YYObj__list_List_Type_(_dollar1) + YYObj__list_List_Type_( { () - _dollar2.add(_dollar1) + _dollar1 }, ) } // file:///./stdlib.mbty -// 50| X nonempty_list(X) { $2.add($1) } +// 40| L X R { $2 } ///| -fn yy_action_195( +fn yy_action_200( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_196(_last_pos, _args[0:1]) - guard _args[1].0 is YYObj__list_List_Attribute_(_dollar2) - guard _sub_action_0_result is YYObj_Attribute(_dollar1) - YYObj__list_List_Attribute_( + guard _args[1].0 is YYObj__list_List_Type_(_dollar2) + YYObj__list_List_Type_( { () - _dollar2.add(_dollar1) + _dollar2 }, ) } -// file:///./stdlib.mbty -// 49| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 349| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } ///| -fn yy_action_197( +fn yy_action_201( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_196(_last_pos, _args[0:1]) - guard _sub_action_0_result is YYObj_Attribute(_dollar1) - YYObj__list_List_Attribute_( - { - () - @list.singleton(_dollar1) + let _sub_action_0_result = yy_action_97(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_196(_args[2].2, _args[3:4]) + guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) + guard _args[1].0 is YYObj_Type(_dollar3) + guard _args[6].0 is YYObj__Type__ErrorType_(_dollar8) + guard _sub_action_0_result is YYObj_Location_(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Type( + { + () + Arrow( + args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), + res=_dollar8.0, + err=_dollar8.1, + is_async=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) }, ) } -// file:///./mbti_parser.mbty -// 379| ATTRIBUTE { Attribute::new(loc=mk_loc($sloc), $1) } +// file:///./stdlib.mbty +// 10| X { Some($1) } ///| fn yy_action_196( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { + guard _args[0].0 is YYObj__list_List_Type_(_dollar1) + YYObj_Option__list_List_Type__( + { + () + Some(_dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 340| "(" type_ "," separated_nonempty_list(",", type_) ")" { Tuple(tys=$4.add($2), loc=mk_loc($sloc)) } + +///| +fn yy_action_202( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[3].0 is YYObj__list_List_Type_(_dollar4) + guard _args[1].0 is YYObj_Type(_dollar2) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos } else { _args[_args.length() - 1].2 } - guard _args[0].0 is YYObj__String__Option_String___String_(_dollar1) - YYObj_Attribute( + YYObj_Type( { () - Attribute::new(loc=mk_loc((_symbol_start_pos, _end_pos)), _dollar1) + Tuple( + tys=_dollar4.add(_dollar2), + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) + }, + ) +} + +// file:///./mbti_parser.mbty +// 349| is_async "(" type_ "," ioption(separated_nonempty_list(",", type_)) ")" "->" return_type { Arrow(args=$5.unwrap_or(@list.empty()).add($3), res=$8.0, err=$8.1, is_async=$1, loc=mk_loc($sloc)) } + +///| +fn yy_action_203( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_97(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_194(_args[2].2, _args[3:3]) + guard _sub_action_1_result is YYObj_Option__list_List_Type__(_dollar5) + guard _args[1].0 is YYObj_Type(_dollar3) + guard _args[5].0 is YYObj__Type__ErrorType_(_dollar8) + guard _sub_action_0_result is YYObj_Location_(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Type( + { + () + Arrow( + args=_dollar5.unwrap_or(@list.empty()).add(_dollar3), + res=_dollar8.0, + err=_dollar8.1, + is_async=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) }, ) } // file:///./stdlib.mbty -// 49| X { @list.singleton($1) } +// 9| { None } ///| -fn yy_action_198( +fn yy_action_194( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj__String__Option_String___String_(_dollar1) - YYObj__list_List__String__Option_String___String__( + YYObj_Option__list_List_Type__( { () - @list.singleton(_dollar1) + None }, ) } // file:///./mbti_parser.mbty -// 136| { @list.empty() } +// 351| is_async "(" type_ ")" "->" return_type { Arrow(args=@list.singleton($3), res=$6.0, err=$6.1, is_async=$1, loc=mk_loc($sloc)) } ///| -fn yy_action_199( +fn yy_action_204( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List__Sig__Location__( + let _sub_action_0_result = yy_action_97(_last_pos, _args[0:0]) + guard _args[1].0 is YYObj_Type(_dollar3) + guard _args[4].0 is YYObj__Type__ErrorType_(_dollar6) + guard _sub_action_0_result is YYObj_Location_(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Type( { () - @list.empty() + Arrow( + args=@list.singleton(_dollar3), + res=_dollar6.0, + err=_dollar6.1, + is_async=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) }, ) } // file:///./mbti_parser.mbty -// 127| "import" "(" separated_nonempty_list(";", package_import) ")" ";" { $3 } +// 341| "(" type_ ")" { $2 } ///| -fn yy_action_200( +fn yy_action_205( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_PackageImport_(_dollar3) - YYObj__list_List_PackageImport_( + guard _args[1].0 is YYObj_Type(_dollar2) + YYObj_Type( { () - _dollar3 + _dollar2 }, ) } // file:///./mbti_parser.mbty -// 132| STRING "as" LIDENT { PackageImport::{name: $1, alias_: Some($3)} } +// 339| simple_type "?" { Option(ty=$1, loc=mk_loc($sloc), question_loc=mk_loc($loc($2))) } ///| -fn yy_action_201( +fn yy_action_206( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_StringLiteral(_dollar1) - guard _args[2].0 is YYObj_String(_dollar3) - YYObj_PackageImport( + guard _args[0].0 is YYObj_Type(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + let _start_pos_of_item1 = _args[1].1 + let _end_pos_of_item1 = _args[1].2 + YYObj_Type( { () - PackageImport::{ name: _dollar1, alias_: Some(_dollar3) } + Option( + ty=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + question_loc=mk_loc((_start_pos_of_item1, _end_pos_of_item1)), + ) }, ) } // file:///./mbti_parser.mbty -// 131| STRING { PackageImport::{name: $1, alias_: None} } +// 357| simple_type "raise" error_type { ($1, ErrorType(ty = $3)) } ///| -fn yy_action_202( +fn yy_action_207( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_StringLiteral(_dollar1) - YYObj_PackageImport( + guard _args[0].0 is YYObj_Type(_dollar1) + guard _args[2].0 is YYObj_Type(_dollar3) + YYObj__Type__ErrorType_( { () - PackageImport::{ name: _dollar1, alias_: None } + (_dollar1, ErrorType(ty=_dollar3)) }, ) } -// file:///./stdlib.mbty -// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } +// file:///./mbti_parser.mbty +// 358| simple_type "raise" "?" { +// 359| let fake_error : Type = Name(constr_id={ id : QualifiedIdent::Ident(name="Error"), loc :@syntax.no_location }, tys=@list.empty(), loc=@syntax.no_location) +// 360| ($1, MaybeError(ty=fake_error)) +// 361| } ///| -fn yy_action_203( +fn yy_action_208( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[2].0 is YYObj__list_List_PackageImport_(_dollar3) - guard _args[0].0 is YYObj_PackageImport(_dollar1) - YYObj__list_List_PackageImport_( + guard _args[0].0 is YYObj_Type(_dollar1) + YYObj__Type__ErrorType_( { () - _dollar3.add(_dollar1) + let fake_error : Type = Name( + constr_id={ + id: QualifiedIdent::Ident(name="Error"), + loc: @syntax.no_location, + }, + tys=@list.empty(), + loc=@syntax.no_location, + ) + (_dollar1, MaybeError(ty=fake_error)) }, ) } -// file:///./stdlib.mbty -// 59| X { @list.singleton($1) } +// file:///./mbti_parser.mbty +// 365| qualified_uident_ { Name(constr_id=$1, tys=@list.empty(), loc=mk_loc($sloc)) } ///| -fn yy_action_204( +fn yy_action_209( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - guard _args[0].0 is YYObj_PackageImport(_dollar1) - YYObj__list_List_PackageImport_( + guard _args[0].0 is YYObj_ConstrId(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Type( { () - @list.singleton(_dollar1) + Name( + constr_id=_dollar1, + tys=@list.empty(), + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) }, ) } // file:///./mbti_parser.mbty -// 126| { @list.empty() } +// 356| simple_type "raise" { ($1, DefaultErrorType(loc=mk_loc($loc($2)))) } ///| -fn yy_action_205( +fn yy_action_210( _last_pos : @basic.Position, _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], ) -> YYObj { - YYObj__list_List_PackageImport_( + guard _args[0].0 is YYObj_Type(_dollar1) + let _start_pos_of_item1 = _args[1].1 + let _end_pos_of_item1 = _args[1].2 + YYObj__Type__ErrorType_( { () - @list.empty() + ( + _dollar1, + DefaultErrorType(loc=mk_loc((_start_pos_of_item1, _end_pos_of_item1))), + ) }, ) } +// file:///./mbti_parser.mbty +// 348| simple_type { $1 } + ///| -fn yy_input( - token : Token, - _start_pos : @basic.Position, - _end_pos : @basic.Position, -) -> (YYSymbol, YYObj) { - match token { - CHAR(data) => (T_CHAR, YYObj_CharLiteral(data)) - INT(data) => (T_INT, YYObj_String(data)) - BYTE(data) => (T_BYTE, YYObj_CharLiteral(data)) - BYTES(data) => (T_BYTES, YYObj_StringLiteral(data)) - FLOAT(data) => (T_FLOAT, YYObj_String(data)) - DOUBLE(data) => (T_DOUBLE, YYObj_String(data)) - STRING(data) => (T_STRING, YYObj_StringLiteral(data)) - MULTILINE_STRING(data) => (T_MULTILINE_STRING, YYObj_String(data)) - MULTILINE_INTERP(data) => (T_MULTILINE_INTERP, YYObj_InterpLiteral(data)) - INTERP(data) => (T_INTERP, YYObj_InterpLiteral(data)) - REGEX_LITERAL(data) => (T_REGEX_LITERAL, YYObj_String(data)) - REGEX_INTERP(data) => (T_REGEX_INTERP, YYObj_InterpLiteral(data)) - ATTRIBUTE(data) => - (T_ATTRIBUTE, YYObj__String__Option_String___String_(data)) - LIDENT(data) => (T_LIDENT, YYObj_String(data)) - UIDENT(data) => (T_UIDENT, YYObj_String(data)) - POST_LABEL(data) => (T_POST_LABEL, YYObj_String(data)) - COMMENT(data) => (T_COMMENT, YYObj_Comment(data)) - NEWLINE => (T_NEWLINE, YYObj_Void) - INFIX1(data) => (T_INFIX1, YYObj_String(data)) - INFIX2(data) => (T_INFIX2, YYObj_String(data)) - INFIX3(data) => (T_INFIX3, YYObj_String(data)) - INFIX4(data) => (T_INFIX4, YYObj_String(data)) - AUGMENTED_ASSIGNMENT(data) => (T_AUGMENTED_ASSIGNMENT, YYObj_String(data)) - EOF => (T_EOF, YYObj_Void) - FALSE => (T_FALSE, YYObj_Void) - TRUE => (T_TRUE, YYObj_Void) - PUB => (T_PUB, YYObj_Void) - PRIV => (T_PRIV, YYObj_Void) - READONLY => (T_READONLY, YYObj_Void) - IMPORT => (T_IMPORT, YYObj_Void) - EXTERN => (T_EXTERN, YYObj_Void) - BREAK => (T_BREAK, YYObj_Void) - CONTINUE => (T_CONTINUE, YYObj_Void) - STRUCT => (T_STRUCT, YYObj_Void) - ENUM => (T_ENUM, YYObj_Void) - TRAIT => (T_TRAIT, YYObj_Void) - DERIVE => (T_DERIVE, YYObj_Void) - IMPL => (T_IMPL, YYObj_Void) - WITH => (T_WITH, YYObj_Void) - RAISE => (T_RAISE, YYObj_Void) - THROW => (T_THROW, YYObj_Void) - TRY => (T_TRY, YYObj_Void) - CATCH => (T_CATCH, YYObj_Void) - ASYNC => (T_ASYNC, YYObj_Void) - TYPEALIAS => (T_TYPEALIAS, YYObj_Void) - TRAITALIAS => (T_TRAITALIAS, YYObj_Void) - FNALIAS => (T_FNALIAS, YYObj_Void) - EQUAL => (T_EQUAL, YYObj_Void) - LPAREN => (T_LPAREN, YYObj_Void) - RPAREN => (T_RPAREN, YYObj_Void) - COMMA => (T_COMMA, YYObj_Void) - MINUS => (T_MINUS, YYObj_Void) +fn yy_action_211( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_Type(_dollar1) + YYObj_Type( + { + () + _dollar1 + }, + ) +} + +// file:///./mbti_parser.mbty +// 350| is_async "(" ")" "->" return_type { Arrow(args=@list.empty(), res=$5.0, err=$5.1, is_async=$1, loc=mk_loc($sloc)) } + +///| +fn yy_action_212( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_97(_last_pos, _args[0:0]) + guard _args[3].0 is YYObj__Type__ErrorType_(_dollar5) + guard _sub_action_0_result is YYObj_Location_(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Type( + { + () + Arrow( + args=@list.empty(), + res=_dollar5.0, + err=_dollar5.1, + is_async=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) + }, + ) +} + +// file:///./mbti_parser.mbty +// 413| { None } + +///| +fn yy_action_97( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj_Location_( + { + () + None + }, + ) +} + +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } + +///| +fn yy_action_213( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[2].0 is YYObj__list_List_Type_(_dollar3) + guard _args[0].0 is YYObj_Type(_dollar1) + YYObj__list_List_Type_( + { + () + _dollar3.add(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 59| X { @list.singleton($1) } + +///| +fn yy_action_214( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_Type(_dollar1) + YYObj__list_List_Type_( + { + () + @list.singleton(_dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 370| { @list.empty() } + +///| +fn yy_action_215( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj__list_List_Type_( + { + () + @list.empty() + }, + ) +} + +// file:///./mbti_parser.mbty +// 343| "&" qualified_uident_ { Object($2) } + +///| +fn yy_action_216( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[1].0 is YYObj_ConstrId(_dollar2) + YYObj_Type( + { + () + Object(_dollar2) + }, + ) +} + +// file:///./mbti_parser.mbty +// 344| "_" { Any(loc=mk_loc($sloc)) } + +///| +fn yy_action_217( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Type( + { + () + Any(loc=mk_loc((_symbol_start_pos, _end_pos))) + }, + ) +} + +// file:///./mbti_parser.mbty +// 350| is_async "(" ")" "->" return_type { Arrow(args=@list.empty(), res=$5.0, err=$5.1, is_async=$1, loc=mk_loc($sloc)) } + +///| +fn yy_action_218( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_94(_last_pos, _args[0:1]) + guard _args[4].0 is YYObj__Type__ErrorType_(_dollar5) + guard _sub_action_0_result is YYObj_Location_(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Type( + { + () + Arrow( + args=@list.empty(), + res=_dollar5.0, + err=_dollar5.1, + is_async=_dollar1, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) + }, + ) +} + +// file:///./mbti_parser.mbty +// 412| "async" { Some(mk_loc($loc($1))) } + +///| +fn yy_action_94( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _start_pos_of_item0 = _args[0].1 + let _end_pos_of_item0 = _args[0].2 + YYObj_Location_( + { + () + Some(mk_loc((_start_pos_of_item0, _end_pos_of_item0))) + }, + ) +} + +// file:///./mbti_parser.mbty +// 355| type_ { ($1, NoErrorType) } + +///| +fn yy_action_219( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_Type(_dollar1) + YYObj__Type__ErrorType_( + { + () + (_dollar1, NoErrorType) + }, + ) +} + +// file:///./mbti_parser.mbty +// 376| label "?" ":" type_ { QuestionOptional(binder = { name : $1.name, loc : $1.loc }, ty = Some($4)) } + +///| +fn yy_action_220( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_Label(_dollar1) + guard _args[3].0 is YYObj_Type(_dollar4) + YYObj_Parameter( + { + () + QuestionOptional( + binder={ name: _dollar1.name, loc: _dollar1.loc }, + ty=Some(_dollar4), + ) + }, + ) +} + +// file:///./mbti_parser.mbty +// 422| UIDENT { ConstrId::{ id: Ident(name=$1), loc: mk_loc($sloc)} } + +///| +fn yy_action_221( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_ConstrId( + { + () + ConstrId::{ + id: Ident(name=_dollar1), + loc: mk_loc((_symbol_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./mbti_parser.mbty +// 423| PACKAGE_NAME DOT_UIDENT { ConstrId::{ id: Dot(pkg=$1, id=$2), loc: mk_loc($sloc)} } + +///| +fn yy_action_222( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + guard _args[1].0 is YYObj_String(_dollar2) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_ConstrId( + { + () + ConstrId::{ + id: Dot(pkg=_dollar1, id=_dollar2), + loc: mk_loc((_symbol_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./mbti_parser.mbty +// 435| LIDENT { Label::{name: $1, loc: mk_loc($sloc)} } + +///| +fn yy_action_223( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Label( + { + () + Label::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } + }, + ) +} + +// file:///./mbti_parser.mbty +// 439| POST_LABEL { Label::{name: $1, loc: mk_loc($sloc)} } + +///| +fn yy_action_224( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Label( + { + () + Label::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } + }, + ) +} + +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } + +///| +fn yy_action_225( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[2].0 is YYObj__list_List_Parameter_(_dollar3) + guard _args[0].0 is YYObj_Parameter(_dollar1) + YYObj__list_List_Parameter_( + { + () + _dollar3.add(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 59| X { @list.singleton($1) } + +///| +fn yy_action_226( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_Parameter(_dollar1) + YYObj__list_List_Parameter_( + { + () + @list.singleton(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 54| { @list.empty() } + +///| +fn yy_action_227( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj__list_List_Parameter_( + { + () + @list.empty() + }, + ) +} + +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } + +///| +fn yy_action_228( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[2].0 is YYObj__list_List_TraitMethodSig_(_dollar3) + guard _args[0].0 is YYObj_TraitMethodSig(_dollar1) + YYObj__list_List_TraitMethodSig_( + { + () + _dollar3.add(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 59| X { @list.singleton($1) } + +///| +fn yy_action_229( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_TraitMethodSig(_dollar1) + YYObj__list_List_TraitMethodSig_( + { + () + @list.singleton(_dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 417| UIDENT { QualifiedName::{ name: Ident(name=$1), loc: mk_loc($sloc)} } + +///| +fn yy_action_230( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_QualifiedName( + { + () + QualifiedName::{ + name: Ident(name=_dollar1), + loc: mk_loc((_symbol_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./mbti_parser.mbty +// 418| PACKAGE_NAME DOT_UIDENT { QualifiedName::{ name: Dot(pkg=$1, id=$2), loc: mk_loc($sloc)} } + +///| +fn yy_action_231( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + guard _args[1].0 is YYObj_String(_dollar2) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_QualifiedName( + { + () + QualifiedName::{ + name: Dot(pkg=_dollar1, id=_dollar2), + loc: mk_loc((_symbol_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } + +///| +fn yy_action_232( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[2].0 is YYObj__list_List_QualifiedName_(_dollar3) + guard _args[0].0 is YYObj_QualifiedName(_dollar1) + YYObj__list_List_QualifiedName_( + { + () + _dollar3.add(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 59| X { @list.singleton($1) } + +///| +fn yy_action_233( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_QualifiedName(_dollar1) + YYObj__list_List_QualifiedName_( + { + () + @list.singleton(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 15| X { $1 } + +///| +fn yy_action_234( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_235(_last_pos, _args[0:2]) + guard _sub_action_0_result is YYObj__list_List_QualifiedName_(_dollar1) + YYObj__list_List_QualifiedName_( + { + () + _dollar1 + }, + ) +} + +// file:///./stdlib.mbty +// 32| L X { $2 } + +///| +fn yy_action_235( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[1].0 is YYObj__list_List_QualifiedName_(_dollar2) + YYObj__list_List_QualifiedName_( + { + () + _dollar2 + }, + ) +} + +// file:///./stdlib.mbty +// 14| { @list.empty() } + +///| +fn yy_action_236( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj__list_List_QualifiedName_( + { + () + @list.empty() + }, + ) +} + +// file:///./mbti_parser.mbty +// 229| attributes vis "trait" uident { +// 230| TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: @list.empty(), methods: @list.empty() } +// 231| } + +///| +fn yy_action_237( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _sub_action_1_result is YYObj_Visibility(_dollar2) + guard _args[1].0 is YYObj_Name(_dollar4) + YYObj_TraitSig( + { + () + TraitSig::{ + attrs: _dollar1, + vis: _dollar2, + name: _dollar4, + super_traits: @list.empty(), + methods: @list.empty(), + } + }, + ) +} + +// file:///./mbti_parser.mbty +// 242| attributes "fnalias" uident "::" lident { +// 243| FuncAlias(attrs = $1,name=$5, type_name=$3) +// 244| } + +///| +fn yy_action_238( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + guard _args[3].0 is YYObj_Name(_dollar5) + guard _args[1].0 is YYObj_Name(_dollar3) + YYObj_AliasSig( + { + () + FuncAlias(attrs=_dollar1, name=_dollar5, type_name=_dollar3) + }, + ) +} + +// file:///./mbti_parser.mbty +// 431| LIDENT { Name::{name: $1, loc: mk_loc($sloc)} } + +///| +fn yy_action_239( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Name( + { + () + Name::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } + }, + ) +} + +// file:///./mbti_parser.mbty +// 245| attributes vis "using" PACKAGE_NAME "{" "type" uident using_binder "}" { +// 246| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 247| Using(pkg~, target = $7, name = $8, kind = Type, attrs = $1) +// 248| } + +///| +fn yy_action_240( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _args[1].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[1].1 + let _end_pos_of_item3 = _args[1].2 + guard _args[4].0 is YYObj_Name(_dollar7) + guard _args[5].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( + { + () + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), + } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Type, attrs=_dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 236| "as" uident { Some($2) } + +///| +fn yy_action_241( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[1].0 is YYObj_Name(_dollar2) + YYObj_Name_( + { + () + Some(_dollar2) + }, + ) +} + +// file:///./mbti_parser.mbty +// 249| attributes vis "using" PACKAGE_NAME "{" "trait" uident using_binder "}" { +// 250| let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } +// 251| Using(pkg~, target = $7, name = $8, kind = Trait, attrs = $1) +// 252| } + +///| +fn yy_action_242( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_14(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_15(_last_pos, _args[0:0]) + guard _args[1].0 is YYObj_String(_dollar4) + let _start_pos_of_item3 = _args[1].1 + let _end_pos_of_item3 = _args[1].2 + guard _args[4].0 is YYObj_Name(_dollar7) + guard _args[5].0 is YYObj_Name_(_dollar8) + guard _sub_action_0_result is YYObj__list_List_Attribute_(_dollar1) + YYObj_AliasSig( + { + () + let pkg = Name::{ + name: _dollar4, + loc: mk_loc((_start_pos_of_item3, _end_pos_of_item3)), + } + Using(pkg~, target=_dollar7, name=_dollar8, kind=Trait, attrs=_dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 400| { Default } + +///| +fn yy_action_15( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj_Visibility( + { + () + Default + }, + ) +} + +// file:///./mbti_parser.mbty +// 443| { @list.empty() } + +///| +fn yy_action_14( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj__list_List_Attribute_( + { + () + @list.empty() + }, + ) +} + +// file:///./mbti_parser.mbty +// 235| { None } + +///| +fn yy_action_243( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj_Name_( + { + () + None + }, + ) +} + +// file:///./mbti_parser.mbty +// 427| UIDENT { Name::{name: $1, loc: mk_loc($sloc)} } + +///| +fn yy_action_244( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_String(_dollar1) + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Name( + { + () + Name::{ name: _dollar1, loc: mk_loc((_symbol_start_pos, _end_pos)) } + }, + ) +} + +// file:///./stdlib.mbty +// 50| X nonempty_list(X) { $2.add($1) } + +///| +fn yy_action_245( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_246(_last_pos, _args[0:1]) + guard _args[1].0 is YYObj__list_List_Attribute_(_dollar2) + guard _sub_action_0_result is YYObj_Attribute(_dollar1) + YYObj__list_List_Attribute_( + { + () + _dollar2.add(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 49| X { @list.singleton($1) } + +///| +fn yy_action_247( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_246(_last_pos, _args[0:1]) + guard _sub_action_0_result is YYObj_Attribute(_dollar1) + YYObj__list_List_Attribute_( + { + () + @list.singleton(_dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 448| ATTRIBUTE { Attribute::new(loc=mk_loc($sloc), $1) } + +///| +fn yy_action_246( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + guard _args[0].0 is YYObj__String__Option_String___String_(_dollar1) + YYObj_Attribute( + { + () + Attribute::new(loc=mk_loc((_symbol_start_pos, _end_pos)), _dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 138| { @list.empty() } + +///| +fn yy_action_248( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj__list_List__Sig__Location__( + { + () + @list.empty() + }, + ) +} + +// file:///./mbti_parser.mbty +// 129| "import" "{" separated_nonempty_list(",", package_import) "}" ";" { $3 } + +///| +fn yy_action_249( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[2].0 is YYObj__list_List_PackageImport_(_dollar3) + YYObj__list_List_PackageImport_( + { + () + _dollar3 + }, + ) +} + +// file:///./mbti_parser.mbty +// 134| STRING "as" LIDENT { PackageImport::{name: $1, alias_: Some($3)} } + +///| +fn yy_action_250( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_StringLiteral(_dollar1) + guard _args[2].0 is YYObj_String(_dollar3) + YYObj_PackageImport( + { + () + PackageImport::{ name: _dollar1, alias_: Some(_dollar3) } + }, + ) +} + +// file:///./mbti_parser.mbty +// 133| STRING { PackageImport::{name: $1, alias_: None} } + +///| +fn yy_action_251( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_StringLiteral(_dollar1) + YYObj_PackageImport( + { + () + PackageImport::{ name: _dollar1, alias_: None } + }, + ) +} + +// file:///./stdlib.mbty +// 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } + +///| +fn yy_action_252( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[2].0 is YYObj__list_List_PackageImport_(_dollar3) + guard _args[0].0 is YYObj_PackageImport(_dollar1) + YYObj__list_List_PackageImport_( + { + () + _dollar3.add(_dollar1) + }, + ) +} + +// file:///./stdlib.mbty +// 59| X { @list.singleton($1) } + +///| +fn yy_action_253( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + guard _args[0].0 is YYObj_PackageImport(_dollar1) + YYObj__list_List_PackageImport_( + { + () + @list.singleton(_dollar1) + }, + ) +} + +// file:///./mbti_parser.mbty +// 128| { @list.empty() } + +///| +fn yy_action_254( + _last_pos : @basic.Position, + _args : ArrayView[(YYObj, @basic.Position, @basic.Position)], +) -> YYObj { + YYObj__list_List_PackageImport_( + { + () + @list.empty() + }, + ) +} + +///| +fn yy_input( + token : Token, + _start_pos : @basic.Position, + _end_pos : @basic.Position, +) -> (YYSymbol, YYObj) { + match token { + CHAR(data) => (T_CHAR, YYObj_CharLiteral(data)) + INT(data) => (T_INT, YYObj_String(data)) + BYTE(data) => (T_BYTE, YYObj_CharLiteral(data)) + BYTES(data) => (T_BYTES, YYObj_StringLiteral(data)) + FLOAT(data) => (T_FLOAT, YYObj_String(data)) + DOUBLE(data) => (T_DOUBLE, YYObj_String(data)) + STRING(data) => (T_STRING, YYObj_StringLiteral(data)) + MULTILINE_STRING(data) => (T_MULTILINE_STRING, YYObj_String(data)) + MULTILINE_INTERP(data) => (T_MULTILINE_INTERP, YYObj_InterpLiteral(data)) + INTERP(data) => (T_INTERP, YYObj_InterpLiteral(data)) + REGEX_LITERAL(data) => (T_REGEX_LITERAL, YYObj_String(data)) + REGEX_INTERP(data) => (T_REGEX_INTERP, YYObj_InterpLiteral(data)) + ATTRIBUTE(data) => + (T_ATTRIBUTE, YYObj__String__Option_String___String_(data)) + LIDENT(data) => (T_LIDENT, YYObj_String(data)) + UIDENT(data) => (T_UIDENT, YYObj_String(data)) + POST_LABEL(data) => (T_POST_LABEL, YYObj_String(data)) + COMMENT(data) => (T_COMMENT, YYObj_Comment(data)) + NEWLINE => (T_NEWLINE, YYObj_Void) + INFIX1(data) => (T_INFIX1, YYObj_String(data)) + INFIX2(data) => (T_INFIX2, YYObj_String(data)) + INFIX3(data) => (T_INFIX3, YYObj_String(data)) + INFIX4(data) => (T_INFIX4, YYObj_String(data)) + AUGMENTED_ASSIGNMENT(data) => (T_AUGMENTED_ASSIGNMENT, YYObj_String(data)) + EOF => (T_EOF, YYObj_Void) + FALSE => (T_FALSE, YYObj_Void) + TRUE => (T_TRUE, YYObj_Void) + PUB => (T_PUB, YYObj_Void) + PRIV => (T_PRIV, YYObj_Void) + READONLY => (T_READONLY, YYObj_Void) + IMPORT => (T_IMPORT, YYObj_Void) + EXTERN => (T_EXTERN, YYObj_Void) + BREAK => (T_BREAK, YYObj_Void) + CONTINUE => (T_CONTINUE, YYObj_Void) + STRUCT => (T_STRUCT, YYObj_Void) + ENUM => (T_ENUM, YYObj_Void) + TRAIT => (T_TRAIT, YYObj_Void) + DERIVE => (T_DERIVE, YYObj_Void) + IMPL => (T_IMPL, YYObj_Void) + WITH => (T_WITH, YYObj_Void) + RAISE => (T_RAISE, YYObj_Void) + THROW => (T_THROW, YYObj_Void) + TRY => (T_TRY, YYObj_Void) + CATCH => (T_CATCH, YYObj_Void) + ASYNC => (T_ASYNC, YYObj_Void) + TYPEALIAS => (T_TYPEALIAS, YYObj_Void) + TRAITALIAS => (T_TRAITALIAS, YYObj_Void) + FNALIAS => (T_FNALIAS, YYObj_Void) + EQUAL => (T_EQUAL, YYObj_Void) + LPAREN => (T_LPAREN, YYObj_Void) + RPAREN => (T_RPAREN, YYObj_Void) + COMMA => (T_COMMA, YYObj_Void) + MINUS => (T_MINUS, YYObj_Void) QUESTION => (T_QUESTION, YYObj_Void) EXCLAMATION => (T_EXCLAMATION, YYObj_Void) DOT_LIDENT(data) => (T_DOT_LIDENT, YYObj_String(data)) @@ -4876,5685 +6773,10360 @@ fn yy_input( USING => (T_USING, YYObj_Void) DECLARE => (T_DECLARE, YYObj_Void) NORAISE => (T_NORAISE, YYObj_Void) + NOBREAK => (T_NOBREAK, YYObj_Void) WHERE => (T_WHERE, YYObj_Void) ENUMVIEW => (T_ENUMVIEW, YYObj_Void) TRY_QUESTION => (T_TRY_QUESTION, YYObj_Void) TRY_EXCLAMATION => (T_TRY_EXCLAMATION, YYObj_Void) LEXMATCH => (T_LEXMATCH, YYObj_Void) LEXMATCH_QUESTION => (T_LEXMATCH_QUESTION, YYObj_Void) + PACKAGE => (T_PACKAGE, YYObj_Void) + } +} + +// [0, mbti → • PACKAGE STRING imports sigs EOF, $] +// [1, mbti → • PACKAGE STRING SEMI imports sigs EOF, $] +// [239, mbti_prime → • mbti, $] + +///| +fn yy_state_0(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_mbti => Shift(yy_state_1) + T_PACKAGE => Shift(yy_state_2) + _ => Error + } +} + +// [239, mbti_prime → mbti •, $] + +///| +fn yy_state_1(_lookahead : YYSymbol) -> YYDecision { + Accept +} + +// [0, mbti → PACKAGE • STRING imports sigs EOF, $] +// [1, mbti → PACKAGE • STRING SEMI imports sigs EOF, $] + +///| +fn yy_state_2(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_STRING => Shift(yy_state_3) + _ => Error + } +} + +// [0, mbti → PACKAGE STRING • imports sigs EOF, $] +// [1, mbti → PACKAGE STRING • SEMI imports sigs EOF, $] +// [2, imports → •, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] +// [3, imports → • IMPORT LBRACE separated_nonempty_list(COMMA,package_import) RBRACE SEMI, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_3(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_IMPORT => Shift(yy_state_4) + T_SEMI => Shift(yy_state_15) + NT_imports => Shift(yy_state_660) + T_ATTRIBUTE + | T_EOF + | T_PUB + | T_PRIV + | T_STRUCT + | T_ENUM + | T_TRAIT + | T_IMPL + | T_ASYNC + | T_FNALIAS + | T_FN + | T_LET + | T_CONST + | T_TYPE + | T_SUBERROR + | T_USING => Reduce(0, NT_imports, yy_action_254) + _ => Error + } +} + +// [3, imports → IMPORT • LBRACE separated_nonempty_list(COMMA,package_import) RBRACE SEMI, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_4(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_5) + _ => Error + } +} + +// [3, imports → IMPORT LBRACE • separated_nonempty_list(COMMA,package_import) RBRACE SEMI, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] +// [4, package_import → • STRING, COMMA / RBRACE] +// [5, package_import → • STRING AS LIDENT, COMMA / RBRACE] +// [191, separated_nonempty_list(COMMA,package_import) → • package_import, RBRACE] +// [192, separated_nonempty_list(COMMA,package_import) → • package_import COMMA separated_nonempty_list(COMMA,package_import), RBRACE] + +///| +fn yy_state_5(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_package_import => Shift(yy_state_6) + T_STRING => Shift(yy_state_9) + NT_separated_nonempty_list_COMMA_package_import_ => Shift(yy_state_12) + _ => Error + } +} + +// [191, separated_nonempty_list(COMMA,package_import) → package_import •, RBRACE] +// [192, separated_nonempty_list(COMMA,package_import) → package_import • COMMA separated_nonempty_list(COMMA,package_import), RBRACE] + +///| +fn yy_state_6(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COMMA => Shift(yy_state_7) + T_RBRACE => + Reduce(1, NT_separated_nonempty_list_COMMA_package_import_, yy_action_253) + _ => Error + } +} + +// [4, package_import → • STRING, COMMA / RBRACE] +// [5, package_import → • STRING AS LIDENT, COMMA / RBRACE] +// [191, separated_nonempty_list(COMMA,package_import) → • package_import, RBRACE] +// [192, separated_nonempty_list(COMMA,package_import) → • package_import COMMA separated_nonempty_list(COMMA,package_import), RBRACE] +// [192, separated_nonempty_list(COMMA,package_import) → package_import COMMA • separated_nonempty_list(COMMA,package_import), RBRACE] + +///| +fn yy_state_7(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_package_import => Shift(yy_state_6) + NT_separated_nonempty_list_COMMA_package_import_ => Shift(yy_state_8) + T_STRING => Shift(yy_state_9) + _ => Error + } +} + +// [192, separated_nonempty_list(COMMA,package_import) → package_import COMMA separated_nonempty_list(COMMA,package_import) •, RBRACE] + +///| +fn yy_state_8(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_COMMA_package_import_, + yy_action_252, + ) +} + +// [4, package_import → STRING •, COMMA / RBRACE] +// [5, package_import → STRING • AS LIDENT, COMMA / RBRACE] + +///| +fn yy_state_9(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_AS => Shift(yy_state_10) + T_COMMA | T_RBRACE => Reduce(1, NT_package_import, yy_action_251) + _ => Error + } +} + +// [5, package_import → STRING AS • LIDENT, COMMA / RBRACE] + +///| +fn yy_state_10(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_11) + _ => Error + } +} + +// [5, package_import → STRING AS LIDENT •, COMMA / RBRACE] + +///| +fn yy_state_11(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_package_import, yy_action_250) +} + +// [3, imports → IMPORT LBRACE separated_nonempty_list(COMMA,package_import) • RBRACE SEMI, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_12(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_13) + _ => Error + } +} + +// [3, imports → IMPORT LBRACE separated_nonempty_list(COMMA,package_import) RBRACE • SEMI, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_13(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_SEMI => Shift(yy_state_14) + _ => Error + } +} + +// [3, imports → IMPORT LBRACE separated_nonempty_list(COMMA,package_import) RBRACE SEMI •, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_14(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_imports, yy_action_249) +} + +// [1, mbti → PACKAGE STRING SEMI • imports sigs EOF, $] +// [2, imports → •, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] +// [3, imports → • IMPORT LBRACE separated_nonempty_list(COMMA,package_import) RBRACE SEMI, ATTRIBUTE / EOF / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_15(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_IMPORT => Shift(yy_state_4) + NT_imports => Shift(yy_state_16) + T_ATTRIBUTE + | T_EOF + | T_PUB + | T_PRIV + | T_STRUCT + | T_ENUM + | T_TRAIT + | T_IMPL + | T_ASYNC + | T_FNALIAS + | T_FN + | T_LET + | T_CONST + | T_TYPE + | T_SUBERROR + | T_USING => Reduce(0, NT_imports, yy_action_254) + _ => Error + } +} + +// [1, mbti → PACKAGE STRING SEMI imports • sigs EOF, $] +// [6, sigs → •, EOF] +// [7, sigs → • sig_, EOF] +// [8, sigs → • sig_ SEMI sigs, EOF] +// [9, sig_ → • func_sig, EOF / SEMI] +// [10, sig_ → • type_sig, EOF / SEMI] +// [11, sig_ → • alias_sig, EOF / SEMI] +// [12, sig_ → • trait_sig, EOF / SEMI] +// [13, sig_ → • impl_sig, EOF / SEMI] +// [14, sig_ → • const_sig, EOF / SEMI] +// [15, sig_ → • value_sig, EOF / SEMI] +// [16, const_sig → • CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [17, const_sig → • PRIV CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [18, const_sig → • PUB pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [19, const_sig → • nonempty_list(attribute) CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [20, const_sig → • nonempty_list(attribute) PRIV CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [21, const_sig → • nonempty_list(attribute) PUB pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [22, value_sig → • LET lident COLON type_, EOF / SEMI] +// [23, value_sig → • PRIV LET lident COLON type_, EOF / SEMI] +// [24, value_sig → • PUB pub_attr LET lident COLON type_, EOF / SEMI] +// [25, value_sig → • nonempty_list(attribute) LET lident COLON type_, EOF / SEMI] +// [26, value_sig → • nonempty_list(attribute) PRIV LET lident COLON type_, EOF / SEMI] +// [27, value_sig → • nonempty_list(attribute) PUB pub_attr LET lident COLON type_, EOF / SEMI] +// [32, func_sig → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [33, func_sig → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [34, func_sig → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [35, func_sig → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [38, type_sig → • TYPE type_decl_name_with_params, EOF / SEMI] +// [39, type_sig → • PRIV TYPE type_decl_name_with_params, EOF / SEMI] +// [40, type_sig → • PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [41, type_sig → • nonempty_list(attribute) TYPE type_decl_name_with_params, EOF / SEMI] +// [42, type_sig → • nonempty_list(attribute) PRIV TYPE type_decl_name_with_params, EOF / SEMI] +// [43, type_sig → • nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [44, type_sig → • SUBERROR uident option(type_), EOF / SEMI] +// [45, type_sig → • PRIV SUBERROR uident option(type_), EOF / SEMI] +// [46, type_sig → • PUB pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [47, type_sig → • nonempty_list(attribute) SUBERROR uident option(type_), EOF / SEMI] +// [48, type_sig → • nonempty_list(attribute) PRIV SUBERROR uident option(type_), EOF / SEMI] +// [49, type_sig → • nonempty_list(attribute) PUB pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [50, type_sig → • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [51, type_sig → • PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [52, type_sig → • PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [53, type_sig → • nonempty_list(attribute) SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [54, type_sig → • nonempty_list(attribute) PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [55, type_sig → • nonempty_list(attribute) PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [56, type_sig → • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [57, type_sig → • PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [58, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [59, type_sig → • nonempty_list(attribute) STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [60, type_sig → • nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [61, type_sig → • nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [62, type_sig → • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [63, type_sig → • PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [64, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [65, type_sig → • nonempty_list(attribute) STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [66, type_sig → • nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [67, type_sig → • nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [68, type_sig → • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [69, type_sig → • PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [70, type_sig → • PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [71, type_sig → • nonempty_list(attribute) ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [72, type_sig → • nonempty_list(attribute) PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [73, type_sig → • nonempty_list(attribute) PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [74, impl_sig → • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [75, impl_sig → • PRIV IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [76, impl_sig → • PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [77, impl_sig → • nonempty_list(attribute) IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [78, impl_sig → • nonempty_list(attribute) PRIV IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [79, impl_sig → • nonempty_list(attribute) PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [80, impl_sig → • IMPL qualified_uident FOR type_, EOF / SEMI] +// [81, impl_sig → • PRIV IMPL qualified_uident FOR type_, EOF / SEMI] +// [82, impl_sig → • PUB pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [83, impl_sig → • nonempty_list(attribute) IMPL qualified_uident FOR type_, EOF / SEMI] +// [84, impl_sig → • nonempty_list(attribute) PRIV IMPL qualified_uident FOR type_, EOF / SEMI] +// [85, impl_sig → • nonempty_list(attribute) PUB pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [86, trait_sig → • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [87, trait_sig → • PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [88, trait_sig → • PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [89, trait_sig → • nonempty_list(attribute) TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [90, trait_sig → • nonempty_list(attribute) PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [91, trait_sig → • nonempty_list(attribute) PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [92, trait_sig → • TRAIT uident, EOF / SEMI] +// [93, trait_sig → • PRIV TRAIT uident, EOF / SEMI] +// [94, trait_sig → • PUB pub_attr TRAIT uident, EOF / SEMI] +// [95, trait_sig → • nonempty_list(attribute) TRAIT uident, EOF / SEMI] +// [96, trait_sig → • nonempty_list(attribute) PRIV TRAIT uident, EOF / SEMI] +// [97, trait_sig → • nonempty_list(attribute) PUB pub_attr TRAIT uident, EOF / SEMI] +// [100, alias_sig → • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [101, alias_sig → • PRIV TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [102, alias_sig → • PUB pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [103, alias_sig → • nonempty_list(attribute) TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [104, alias_sig → • nonempty_list(attribute) PRIV TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [105, alias_sig → • nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [106, alias_sig → • FNALIAS uident COLONCOLON lident, EOF / SEMI] +// [107, alias_sig → • nonempty_list(attribute) FNALIAS uident COLONCOLON lident, EOF / SEMI] +// [108, alias_sig → • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [109, alias_sig → • PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [110, alias_sig → • PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [111, alias_sig → • nonempty_list(attribute) USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [112, alias_sig → • nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [113, alias_sig → • nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [114, alias_sig → • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [115, alias_sig → • PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → • PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [117, alias_sig → • nonempty_list(attribute) USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → • nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → • nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [229, nonempty_list(attribute) → • ATTRIBUTE, PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_16(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_USING => Shift(yy_state_19) + T_FNALIAS => Shift(yy_state_33) + T_TRAIT => Shift(yy_state_38) + T_IMPL => Shift(yy_state_141) + T_ENUM => Shift(yy_state_163) + T_STRUCT => Shift(yy_state_205) + T_SUBERROR => Shift(yy_state_274) + T_TYPE => Shift(yy_state_281) + T_FN => Shift(yy_state_285) + T_ASYNC => Shift(yy_state_294) + T_LET => Shift(yy_state_304) + NT_nonempty_list_attribute_ => Shift(yy_state_308) + T_PUB => Shift(yy_state_523) + T_PRIV => Shift(yy_state_583) + T_CONST => Shift(yy_state_642) + NT_value_sig => Shift(yy_state_648) + NT_const_sig => Shift(yy_state_649) + NT_impl_sig => Shift(yy_state_650) + NT_trait_sig => Shift(yy_state_651) + NT_alias_sig => Shift(yy_state_652) + NT_type_sig => Shift(yy_state_653) + NT_func_sig => Shift(yy_state_654) + NT_sig_ => Shift(yy_state_655) + NT_sigs => Shift(yy_state_658) + T_EOF => Reduce(0, NT_sigs, yy_action_248) + _ => Error + } +} + +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / UIDENT / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / MUTABLE / TYPE / SUBERROR / USING] +// [229, nonempty_list(attribute) → ATTRIBUTE •, LIDENT / UIDENT / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / MUTABLE / TYPE / SUBERROR / USING] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / UIDENT / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / MUTABLE / TYPE / SUBERROR / USING] +// [230, nonempty_list(attribute) → ATTRIBUTE • nonempty_list(attribute), LIDENT / UIDENT / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / MUTABLE / TYPE / SUBERROR / USING] + +///| +fn yy_state_17(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + NT_nonempty_list_attribute_ => Shift(yy_state_18) + T_LIDENT + | T_UIDENT + | T_PUB + | T_PRIV + | T_STRUCT + | T_ENUM + | T_TRAIT + | T_IMPL + | T_ASYNC + | T_FNALIAS + | T_FN + | T_LET + | T_CONST + | T_MUTABLE + | T_TYPE + | T_SUBERROR + | T_USING => Reduce(1, NT_nonempty_list_attribute_, yy_action_247) + _ => Error + } +} + +// [230, nonempty_list(attribute) → ATTRIBUTE nonempty_list(attribute) •, LIDENT / UIDENT / PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / MUTABLE / TYPE / SUBERROR / USING] + +///| +fn yy_state_18(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_nonempty_list_attribute_, yy_action_245) +} + +// [108, alias_sig → USING • PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [114, alias_sig → USING • PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] + +///| +fn yy_state_19(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_20) + _ => Error + } +} + +// [108, alias_sig → USING PACKAGE_NAME • LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [114, alias_sig → USING PACKAGE_NAME • LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] + +///| +fn yy_state_20(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_21) + _ => Error + } +} + +// [108, alias_sig → USING PACKAGE_NAME LBRACE • TYPE uident using_binder RBRACE, EOF / SEMI] +// [114, alias_sig → USING PACKAGE_NAME LBRACE • TRAIT uident using_binder RBRACE, EOF / SEMI] + +///| +fn yy_state_21(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_TRAIT => Shift(yy_state_22) + T_TYPE => Shift(yy_state_29) + _ => Error + } +} + +// [114, alias_sig → USING PACKAGE_NAME LBRACE TRAIT • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] + +///| +fn yy_state_22(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_24) + _ => Error + } +} + +// [187, uident → UIDENT •, UIDENT / EOF / ASYNC / EQUAL / LPAREN / COMMA / COLONCOLON / COLON / SEMI / LBRACKET / RBRACKET / UNDERSCORE / LBRACE / RBRACE / AMPER / PACKAGE_NAME / AS] + +///| +fn yy_state_23(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_uident, yy_action_244) +} + +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [114, alias_sig → USING PACKAGE_NAME LBRACE TRAIT uident • using_binder RBRACE, EOF / SEMI] + +///| +fn yy_state_24(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_using_binder => Shift(yy_state_25) + T_AS => Shift(yy_state_27) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) + _ => Error + } +} + +// [114, alias_sig → USING PACKAGE_NAME LBRACE TRAIT uident using_binder • RBRACE, EOF / SEMI] + +///| +fn yy_state_25(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_26) + _ => Error + } +} + +// [114, alias_sig → USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE •, EOF / SEMI] + +///| +fn yy_state_26(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_alias_sig, yy_action_242) +} + +// [99, using_binder → AS • uident, RBRACE] +// [187, uident → • UIDENT, RBRACE] + +///| +fn yy_state_27(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_28) + _ => Error + } +} + +// [99, using_binder → AS uident •, RBRACE] + +///| +fn yy_state_28(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_using_binder, yy_action_241) +} + +// [108, alias_sig → USING PACKAGE_NAME LBRACE TYPE • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] + +///| +fn yy_state_29(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_30) + _ => Error + } +} + +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [108, alias_sig → USING PACKAGE_NAME LBRACE TYPE uident • using_binder RBRACE, EOF / SEMI] + +///| +fn yy_state_30(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_31) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) + _ => Error + } +} + +// [108, alias_sig → USING PACKAGE_NAME LBRACE TYPE uident using_binder • RBRACE, EOF / SEMI] + +///| +fn yy_state_31(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_32) + _ => Error + } +} + +// [108, alias_sig → USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE •, EOF / SEMI] + +///| +fn yy_state_32(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_alias_sig, yy_action_240) +} + +// [106, alias_sig → FNALIAS • uident COLONCOLON lident, EOF / SEMI] +// [187, uident → • UIDENT, COLONCOLON] + +///| +fn yy_state_33(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_34) + _ => Error + } +} + +// [106, alias_sig → FNALIAS uident • COLONCOLON lident, EOF / SEMI] + +///| +fn yy_state_34(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLONCOLON => Shift(yy_state_35) + _ => Error + } +} + +// [106, alias_sig → FNALIAS uident COLONCOLON • lident, EOF / SEMI] +// [188, lident → • LIDENT, EOF / SEMI] + +///| +fn yy_state_35(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_37) + _ => Error + } +} + +// [188, lident → LIDENT •, EOF / LPAREN / COLON / SEMI] + +///| +fn yy_state_36(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_lident, yy_action_239) +} + +// [106, alias_sig → FNALIAS uident COLONCOLON lident •, EOF / SEMI] + +///| +fn yy_state_37(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_alias_sig, yy_action_238) +} + +// [86, trait_sig → TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [92, trait_sig → TRAIT • uident, EOF / SEMI] +// [187, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] + +///| +fn yy_state_38(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_39) + _ => Error + } +} + +// [86, trait_sig → TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [92, trait_sig → TRAIT uident •, EOF / SEMI] +// [209, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] + +///| +fn yy_state_39(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_40) + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => + Shift(yy_state_48) + T_LBRACE => + Reduce( + 0, + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, + yy_action_236, + ) + T_EOF | T_SEMI => Reduce(2, NT_trait_sig, yy_action_237) + _ => Error + } +} + +// [183, qualified_uident → • UIDENT, PLUS / LBRACE] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, PLUS / LBRACE] +// [207, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident, LBRACE] +// [208, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident PLUS separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → COLON • separated_nonempty_list(PLUS,qualified_uident), LBRACE] + +///| +fn yy_state_40(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_separated_nonempty_list_PLUS_qualified_uident_ => Shift(yy_state_41) + NT_qualified_uident => Shift(yy_state_42) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + _ => Error + } +} + +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → COLON separated_nonempty_list(PLUS,qualified_uident) •, LBRACE] + +///| +fn yy_state_41(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 2, + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, + yy_action_234, + ) +} + +// [207, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident •, LBRACE] +// [208, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident • PLUS separated_nonempty_list(PLUS,qualified_uident), LBRACE] + +///| +fn yy_state_42(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PLUS => Shift(yy_state_43) + T_LBRACE => + Reduce( + 1, + NT_separated_nonempty_list_PLUS_qualified_uident_, + yy_action_233, + ) + _ => Error + } +} + +// [183, qualified_uident → • UIDENT, PLUS / LBRACE] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, PLUS / LBRACE] +// [207, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident, LBRACE] +// [208, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident PLUS separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [208, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident PLUS • separated_nonempty_list(PLUS,qualified_uident), LBRACE] + +///| +fn yy_state_43(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_qualified_uident => Shift(yy_state_42) + NT_separated_nonempty_list_PLUS_qualified_uident_ => Shift(yy_state_44) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + _ => Error + } +} + +// [208, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident PLUS separated_nonempty_list(PLUS,qualified_uident) •, LBRACE] + +///| +fn yy_state_44(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_PLUS_qualified_uident_, + yy_action_232, + ) +} + +// [184, qualified_uident → PACKAGE_NAME • DOT_UIDENT, COMMA / PLUS / RBRACKET / LBRACE / FOR] + +///| +fn yy_state_45(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_DOT_UIDENT => Shift(yy_state_46) + _ => Error + } +} + +// [184, qualified_uident → PACKAGE_NAME DOT_UIDENT •, COMMA / PLUS / RBRACKET / LBRACE / FOR] + +///| +fn yy_state_46(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_qualified_uident, yy_action_231) +} + +// [183, qualified_uident → UIDENT •, COMMA / PLUS / RBRACKET / LBRACE / FOR] + +///| +fn yy_state_47(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_qualified_uident, yy_action_230) +} + +// [86, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] + +///| +fn yy_state_48(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_49) + _ => Error + } +} + +// [36, trait_method_sig → • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [37, trait_method_sig → • nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [86, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] +// [211, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT] + +///| +fn yy_state_49(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_LIDENT => Shift(yy_state_36) + NT_trait_method_sig => Shift(yy_state_50) + NT_nonempty_list_attribute_ => Shift(yy_state_53) + NT_lident => Shift(yy_state_132) + NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_139) + _ => Error + } +} + +// [211, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig •, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig • SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] + +///| +fn yy_state_50(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_SEMI => Shift(yy_state_51) + T_RBRACE => + Reduce( + 1, + NT_separated_nonempty_list_SEMI_trait_method_sig_, + yy_action_229, + ) + _ => Error + } +} + +// [36, trait_method_sig → • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [37, trait_method_sig → • nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [188, lident → • LIDENT, LPAREN] +// [211, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig SEMI • separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT] + +///| +fn yy_state_51(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_LIDENT => Shift(yy_state_36) + NT_trait_method_sig => Shift(yy_state_50) + NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_52) + NT_nonempty_list_attribute_ => Shift(yy_state_53) + NT_lident => Shift(yy_state_132) + _ => Error + } +} + +// [212, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig) •, RBRACE] + +///| +fn yy_state_52(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_SEMI_trait_method_sig_, + yy_action_228, + ) +} + +// [37, trait_method_sig → nonempty_list(attribute) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [188, lident → • LIDENT, LPAREN] + +///| +fn yy_state_53(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_54) + _ => Error + } +} + +// [37, trait_method_sig → nonempty_list(attribute) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] + +///| +fn yy_state_54(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_55) + _ => Error + } +} + +// [37, trait_method_sig → nonempty_list(attribute) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_55(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_125) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } +} + +// [231, separated_nonempty_list(COMMA,parameter) → parameter •, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → parameter • COMMA separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_56(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COMMA => Shift(yy_state_57) + T_RPAREN => + Reduce(1, NT_separated_nonempty_list_COMMA_parameter_, yy_action_226) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → parameter COMMA • separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_57(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_58) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + _ => Error + } +} + +// [232, separated_nonempty_list(COMMA,parameter) → parameter COMMA separated_nonempty_list(COMMA,parameter) •, RPAREN] + +///| +fn yy_state_58(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_COMMA_parameter_, + yy_action_225, + ) +} + +// [190, post_label → POST_LABEL •, COLON] + +///| +fn yy_state_59(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_post_label, yy_action_224) +} + +// [189, label → LIDENT •, QUESTION] + +///| +fn yy_state_60(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_label, yy_action_223) +} + +// [186, qualified_uident_ → PACKAGE_NAME • DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_61(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_DOT_UIDENT => Shift(yy_state_62) + _ => Error + } +} + +// [186, qualified_uident_ → PACKAGE_NAME DOT_UIDENT •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_62(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_qualified_uident_, yy_action_222) +} + +// [185, qualified_uident_ → UIDENT •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_63(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_qualified_uident_, yy_action_221) +} + +// [170, parameter → label • QUESTION COLON type_, RPAREN / COMMA] + +///| +fn yy_state_64(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_QUESTION => Shift(yy_state_65) + _ => Error + } +} + +// [170, parameter → label QUESTION • COLON type_, RPAREN / COMMA] + +///| +fn yy_state_65(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_66) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [170, parameter → label QUESTION COLON • type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] + +///| +fn yy_state_66(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_type_ => Shift(yy_state_67) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + _ => Error + } +} + +// [170, parameter → label QUESTION COLON type_ •, RPAREN / COMMA] + +///| +fn yy_state_67(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_parameter, yy_action_220) +} + +// [153, type_ → ASYNC • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → ASYNC • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → ASYNC • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → ASYNC • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_68(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_69) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [153, type_ → ASYNC LPAREN • type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → ASYNC LPAREN • type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → ASYNC LPAREN • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → ASYNC LPAREN • type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] + +///| +fn yy_state_69(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_RPAREN => Shift(yy_state_70) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_108) + _ => Error + } +} + +// [157, type_ → ASYNC LPAREN RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_70(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_71) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → ASYNC LPAREN RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_71(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + NT_return_type => Shift(yy_state_73) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + _ => Error + } +} + +// [161, return_type → type_ •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_72(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_return_type, yy_action_219) +} + +// [157, type_ → ASYNC LPAREN RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_73(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_, yy_action_218) +} + +// [151, simple_type → UNDERSCORE •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_74(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_simple_type, yy_action_217) +} + +// [150, simple_type → AMPER • qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_75(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_qualified_uident_ => Shift(yy_state_76) + _ => Error + } +} + +// [150, simple_type → AMPER qualified_uident_ •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_76(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_simple_type, yy_action_216) +} + +// [149, simple_type → qualified_uident_ • optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [166, optional_type_arguments → • LBRACKET separated_nonempty_list(COMMA,type_) RBRACKET, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [167, optional_type_arguments → •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_77(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACKET => Shift(yy_state_78) + NT_optional_type_arguments => Shift(yy_state_107) + T_EOF + | T_RAISE + | T_EQUAL + | T_RPAREN + | T_COMMA + | T_QUESTION + | T_SEMI + | T_RBRACKET + | T_RBRACE => Reduce(0, NT_optional_type_arguments, yy_action_215) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, COMMA / QUESTION / RBRACKET] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, COMMA / QUESTION / RBRACKET] +// [148, simple_type → • LPAREN type_ RPAREN, COMMA / QUESTION / RBRACKET] +// [149, simple_type → • qualified_uident_ optional_type_arguments, COMMA / QUESTION / RBRACKET] +// [150, simple_type → • AMPER qualified_uident_, COMMA / QUESTION / RBRACKET] +// [151, simple_type → • UNDERSCORE, COMMA / QUESTION / RBRACKET] +// [152, type_ → • simple_type, COMMA / RBRACKET] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, COMMA / RBRACKET] +// [166, optional_type_arguments → LBRACKET • separated_nonempty_list(COMMA,type_) RBRACKET, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, COMMA / QUESTION / LBRACKET / RBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, COMMA / QUESTION / LBRACKET / RBRACKET] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RBRACKET] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RBRACKET] + +///| +fn yy_state_78(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_105) + _ => Error + } +} + +// [227, separated_nonempty_list(COMMA,type_) → type_ •, RPAREN / RBRACKET] +// [228, separated_nonempty_list(COMMA,type_) → type_ • COMMA separated_nonempty_list(COMMA,type_), RPAREN / RBRACKET] + +///| +fn yy_state_79(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COMMA => Shift(yy_state_80) + T_RPAREN | T_RBRACKET => + Reduce(1, NT_separated_nonempty_list_COMMA_type__, yy_action_214) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION / RBRACKET] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION / RBRACKET] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION / RBRACKET] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION / RBRACKET] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION / RBRACKET] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION / RBRACKET] +// [152, type_ → • simple_type, RPAREN / COMMA / RBRACKET] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET / RBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET / RBRACKET] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN / RBRACKET] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN / RBRACKET] +// [228, separated_nonempty_list(COMMA,type_) → type_ COMMA • separated_nonempty_list(COMMA,type_), RPAREN / RBRACKET] + +///| +fn yy_state_80(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_81) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + _ => Error + } +} + +// [228, separated_nonempty_list(COMMA,type_) → type_ COMMA separated_nonempty_list(COMMA,type_) •, RPAREN / RBRACKET] + +///| +fn yy_state_81(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_separated_nonempty_list_COMMA_type__, yy_action_213) +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [147, simple_type → LPAREN • type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → LPAREN • type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → LPAREN • type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → LPAREN • type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → LPAREN • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → LPAREN • type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] + +///| +fn yy_state_82(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + T_RPAREN => Shift(yy_state_83) + NT_type_ => Shift(yy_state_92) + NT_simple_type => Shift(yy_state_104) + _ => Error + } +} + +// [158, type_ → LPAREN RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_83(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_84) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → LPAREN RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_84(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_return_type => Shift(yy_state_85) + NT_simple_type => Shift(yy_state_86) + _ => Error + } +} + +// [158, type_ → LPAREN RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_85(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_type_, yy_action_212) +} + +// [146, simple_type → simple_type • QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → simple_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → simple_type • RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → simple_type • RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → simple_type • RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_86(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RAISE => Shift(yy_state_87) + T_QUESTION => Shift(yy_state_91) + T_EOF | T_EQUAL | T_RPAREN | T_COMMA | T_SEMI | T_RBRACKET | T_RBRACE => + Reduce(1, NT_type_, yy_action_211) + _ => Error + } +} + +// [162, return_type → simple_type RAISE •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → simple_type RAISE • error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → simple_type RAISE • QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [165, error_type → • qualified_uident_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_87(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_qualified_uident_ => Shift(yy_state_88) + T_QUESTION => Shift(yy_state_89) + NT_error_type => Shift(yy_state_90) + T_EOF | T_EQUAL | T_RPAREN | T_COMMA | T_SEMI | T_RBRACKET | T_RBRACE => + Reduce(2, NT_return_type, yy_action_210) + _ => Error + } +} + +// [165, error_type → qualified_uident_ •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_88(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_error_type, yy_action_209) +} + +// [164, return_type → simple_type RAISE QUESTION •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_89(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_return_type, yy_action_208) +} + +// [163, return_type → simple_type RAISE error_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_90(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_return_type, yy_action_207) +} + +// [146, simple_type → simple_type QUESTION •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_91(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_simple_type, yy_action_206) +} + +// [147, simple_type → LPAREN type_ • COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → LPAREN type_ • RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [155, type_ → LPAREN type_ • COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → LPAREN type_ • COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → LPAREN type_ • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_92(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_93) + T_COMMA => Shift(yy_state_96) + _ => Error + } +} + +// [148, simple_type → LPAREN type_ RPAREN •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [160, type_ → LPAREN type_ RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_93(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_94) + T_EOF + | T_RAISE + | T_EQUAL + | T_RPAREN + | T_COMMA + | T_QUESTION + | T_SEMI + | T_RBRACKET + | T_RBRACE => Reduce(3, NT_simple_type, yy_action_205) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → LPAREN type_ RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_94(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_95) + _ => Error + } +} + +// [160, type_ → LPAREN type_ RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_95(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_, yy_action_204) +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [147, simple_type → LPAREN type_ COMMA • separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → LPAREN type_ COMMA • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → LPAREN type_ COMMA • separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] + +///| +fn yy_state_96(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + T_RPAREN => Shift(yy_state_97) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_100) + NT_simple_type => Shift(yy_state_104) + _ => Error + } +} + +// [155, type_ → LPAREN type_ COMMA RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_97(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_98) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → LPAREN type_ COMMA RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_98(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_99) + _ => Error + } +} + +// [155, type_ → LPAREN type_ COMMA RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_99(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_, yy_action_203) +} + +// [147, simple_type → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) • RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [156, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_100(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_101) + _ => Error + } +} + +// [147, simple_type → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [156, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_101(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_102) + T_EOF + | T_RAISE + | T_EQUAL + | T_RPAREN + | T_COMMA + | T_QUESTION + | T_SEMI + | T_RBRACKET + | T_RBRACE => Reduce(5, NT_simple_type, yy_action_202) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_102(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_103) + _ => Error + } +} + +// [156, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_103(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_, yy_action_201) +} + +// [146, simple_type → simple_type • QUESTION, EOF / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → simple_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_104(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_QUESTION => Shift(yy_state_91) + T_EOF | T_EQUAL | T_RPAREN | T_COMMA | T_SEMI | T_RBRACKET | T_RBRACE => + Reduce(1, NT_type_, yy_action_211) + _ => Error + } +} + +// [166, optional_type_arguments → LBRACKET separated_nonempty_list(COMMA,type_) • RBRACKET, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_105(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACKET => Shift(yy_state_106) + _ => Error + } +} + +// [166, optional_type_arguments → LBRACKET separated_nonempty_list(COMMA,type_) RBRACKET •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_106(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_optional_type_arguments, yy_action_199) +} + +// [149, simple_type → qualified_uident_ optional_type_arguments •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_107(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_simple_type, yy_action_198) +} + +// [153, type_ → ASYNC LPAREN type_ • COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → ASYNC LPAREN type_ • COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → ASYNC LPAREN type_ • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_108(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_109) + T_COMMA => Shift(yy_state_112) + _ => Error + } +} + +// [159, type_ → ASYNC LPAREN type_ RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_109(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_110) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → ASYNC LPAREN type_ RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_110(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_111) + _ => Error + } +} + +// [159, type_ → ASYNC LPAREN type_ RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_111(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_, yy_action_197) +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [153, type_ → ASYNC LPAREN type_ COMMA • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → ASYNC LPAREN type_ COMMA • separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] + +///| +fn yy_state_112(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_113) + T_RPAREN => Shift(yy_state_117) + _ => Error + } +} + +// [154, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_113(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_114) + _ => Error + } +} + +// [154, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_114(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_115) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_115(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_116) + _ => Error + } +} + +// [154, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_116(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_type_, yy_action_195) +} + +// [153, type_ → ASYNC LPAREN type_ COMMA RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_117(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_118) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE] +// [152, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [153, type_ → ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [161, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [162, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE] + +///| +fn yy_state_118(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_119) + _ => Error + } +} + +// [153, type_ → ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE] + +///| +fn yy_state_119(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_, yy_action_193) +} + +// [169, parameter → post_label • COLON type_, RPAREN / COMMA] + +///| +fn yy_state_120(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_121) + _ => Error + } +} + +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [169, parameter → post_label COLON • type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] + +///| +fn yy_state_121(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_122) + _ => Error + } +} + +// [169, parameter → post_label COLON type_ •, RPAREN / COMMA] + +///| +fn yy_state_122(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_parameter, yy_action_192) +} + +// [168, parameter → type_ •, RPAREN / COMMA] + +///| +fn yy_state_123(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_parameter, yy_action_191) +} + +// [198, separated_list(COMMA,parameter) → separated_nonempty_list(COMMA,parameter) •, RPAREN] + +///| +fn yy_state_124(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_separated_list_COMMA_parameter_, yy_action_190) +} + +// [37, trait_method_sig → nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] + +///| +fn yy_state_125(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_126) + _ => Error + } +} + +// [37, trait_method_sig → nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] + +///| +fn yy_state_126(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_127) + _ => Error + } +} + +// [37, trait_method_sig → nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type boption(eq_underscore), SEMI / RBRACE] +// [146, simple_type → • simple_type QUESTION, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [151, simple_type → • UNDERSCORE, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [152, type_ → • simple_type, EQUAL / SEMI / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [161, return_type → • type_, EQUAL / SEMI / RBRACE] +// [162, return_type → • simple_type RAISE, EQUAL / SEMI / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EQUAL / SEMI / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EQUAL / SEMI / RBRACE] +// [185, qualified_uident_ → • UIDENT, RAISE / EQUAL / QUESTION / SEMI / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RAISE / EQUAL / QUESTION / SEMI / LBRACKET / RBRACE] + +///| +fn yy_state_127(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_128) + _ => Error + } +} + +// [37, trait_method_sig → nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type • boption(eq_underscore), SEMI / RBRACE] +// [199, boption(eq_underscore) → •, SEMI / RBRACE] +// [200, boption(eq_underscore) → • EQUAL UNDERSCORE, SEMI / RBRACE] + +///| +fn yy_state_128(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_129) + NT_boption_eq_underscore_ => Shift(yy_state_131) + T_SEMI | T_RBRACE => Reduce(0, NT_boption_eq_underscore_, yy_action_189) + _ => Error + } +} + +// [200, boption(eq_underscore) → EQUAL • UNDERSCORE, SEMI / RBRACE] + +///| +fn yy_state_129(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UNDERSCORE => Shift(yy_state_130) + _ => Error + } +} + +// [200, boption(eq_underscore) → EQUAL UNDERSCORE •, SEMI / RBRACE] + +///| +fn yy_state_130(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_boption_eq_underscore_, yy_action_187) +} + +// [37, trait_method_sig → nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore) •, SEMI / RBRACE] + +///| +fn yy_state_131(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_trait_method_sig, yy_action_186) +} + +// [36, trait_method_sig → lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] + +///| +fn yy_state_132(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_133) + _ => Error + } +} + +// [36, trait_method_sig → lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_133(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_134) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } +} + +// [36, trait_method_sig → lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] + +///| +fn yy_state_134(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_135) + _ => Error + } +} + +// [36, trait_method_sig → lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] + +///| +fn yy_state_135(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_136) + _ => Error + } +} + +// [36, trait_method_sig → lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type boption(eq_underscore), SEMI / RBRACE] +// [146, simple_type → • simple_type QUESTION, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [151, simple_type → • UNDERSCORE, RAISE / EQUAL / QUESTION / SEMI / RBRACE] +// [152, type_ → • simple_type, EQUAL / SEMI / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] +// [161, return_type → • type_, EQUAL / SEMI / RBRACE] +// [162, return_type → • simple_type RAISE, EQUAL / SEMI / RBRACE] +// [163, return_type → • simple_type RAISE error_type, EQUAL / SEMI / RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, EQUAL / SEMI / RBRACE] +// [185, qualified_uident_ → • UIDENT, RAISE / EQUAL / QUESTION / SEMI / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RAISE / EQUAL / QUESTION / SEMI / LBRACKET / RBRACE] + +///| +fn yy_state_136(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_137) + _ => Error + } +} + +// [36, trait_method_sig → lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type • boption(eq_underscore), SEMI / RBRACE] +// [199, boption(eq_underscore) → •, SEMI / RBRACE] +// [200, boption(eq_underscore) → • EQUAL UNDERSCORE, SEMI / RBRACE] + +///| +fn yy_state_137(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_129) + NT_boption_eq_underscore_ => Shift(yy_state_138) + T_SEMI | T_RBRACE => Reduce(0, NT_boption_eq_underscore_, yy_action_189) + _ => Error + } +} + +// [36, trait_method_sig → lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore) •, SEMI / RBRACE] + +///| +fn yy_state_138(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_trait_method_sig, yy_action_185) +} + +// [86, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] + +///| +fn yy_state_139(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_140) + _ => Error + } +} + +// [86, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] + +///| +fn yy_state_140(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_trait_sig, yy_action_184) +} + +// [74, impl_sig → IMPL • type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [80, impl_sig → IMPL • qualified_uident FOR type_, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, UIDENT / PACKAGE_NAME] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] + +///| +fn yy_state_141(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + T_LBRACKET => Shift(yy_state_142) + NT_qualified_uident => Shift(yy_state_156) + NT_type_params_with_constraints => Shift(yy_state_159) + _ => Error + } +} + +// [136, type_param_with_constraints → • uident, COMMA / RBRACKET] +// [137, type_param_with_constraints → • uident COLON separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] +// [138, type_params_with_constraints → LBRACKET • separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER / PACKAGE_NAME] +// [187, uident → • UIDENT, COMMA / COLON / RBRACKET] +// [223, separated_list(COMMA,type_param_with_constraints) → •, RBRACKET] +// [224, separated_list(COMMA,type_param_with_constraints) → • separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] +// [235, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints, RBRACKET] +// [236, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints COMMA separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] + +///| +fn yy_state_142(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_type_param_with_constraints => Shift(yy_state_143) + NT_uident => Shift(yy_state_146) + NT_separated_nonempty_list_COMMA_type_param_with_constraints_ => + Shift(yy_state_153) + NT_separated_list_COMMA_type_param_with_constraints_ => Shift(yy_state_154) + T_RBRACKET => + Reduce( + 0, + NT_separated_list_COMMA_type_param_with_constraints_, + yy_action_183, + ) + _ => Error + } +} + +// [235, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints •, RBRACKET] +// [236, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints • COMMA separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] + +///| +fn yy_state_143(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COMMA => Shift(yy_state_144) + T_RBRACKET => + Reduce( + 1, + NT_separated_nonempty_list_COMMA_type_param_with_constraints_, + yy_action_182, + ) + _ => Error + } +} + +// [136, type_param_with_constraints → • uident, COMMA / RBRACKET] +// [137, type_param_with_constraints → • uident COLON separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] +// [187, uident → • UIDENT, COMMA / COLON / RBRACKET] +// [235, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints, RBRACKET] +// [236, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints COMMA separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] +// [236, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints COMMA • separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] + +///| +fn yy_state_144(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_type_param_with_constraints => Shift(yy_state_143) + NT_separated_nonempty_list_COMMA_type_param_with_constraints_ => + Shift(yy_state_145) + NT_uident => Shift(yy_state_146) + _ => Error + } +} + +// [236, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints COMMA separated_nonempty_list(COMMA,type_param_with_constraints) •, RBRACKET] + +///| +fn yy_state_145(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_COMMA_type_param_with_constraints_, + yy_action_181, + ) +} + +// [136, type_param_with_constraints → uident •, COMMA / RBRACKET] +// [137, type_param_with_constraints → uident • COLON separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] + +///| +fn yy_state_146(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_147) + T_COMMA | T_RBRACKET => + Reduce(1, NT_type_param_with_constraints, yy_action_180) + _ => Error + } +} + +// [137, type_param_with_constraints → uident COLON • separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] +// [144, type_constraint → • qualified_uident, COMMA / PLUS / RBRACKET] +// [183, qualified_uident → • UIDENT, COMMA / PLUS / RBRACKET] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, COMMA / PLUS / RBRACKET] +// [221, separated_nonempty_list(PLUS,type_constraint) → • type_constraint, COMMA / RBRACKET] +// [222, separated_nonempty_list(PLUS,type_constraint) → • type_constraint PLUS separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] + +///| +fn yy_state_147(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_type_constraint => Shift(yy_state_148) + NT_qualified_uident => Shift(yy_state_151) + NT_separated_nonempty_list_PLUS_type_constraint_ => Shift(yy_state_152) + _ => Error + } +} + +// [221, separated_nonempty_list(PLUS,type_constraint) → type_constraint •, COMMA / RBRACKET] +// [222, separated_nonempty_list(PLUS,type_constraint) → type_constraint • PLUS separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] + +///| +fn yy_state_148(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PLUS => Shift(yy_state_149) + T_COMMA | T_RBRACKET => + Reduce(1, NT_separated_nonempty_list_PLUS_type_constraint_, yy_action_179) + _ => Error + } +} + +// [144, type_constraint → • qualified_uident, COMMA / PLUS / RBRACKET] +// [183, qualified_uident → • UIDENT, COMMA / PLUS / RBRACKET] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, COMMA / PLUS / RBRACKET] +// [221, separated_nonempty_list(PLUS,type_constraint) → • type_constraint, COMMA / RBRACKET] +// [222, separated_nonempty_list(PLUS,type_constraint) → • type_constraint PLUS separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] +// [222, separated_nonempty_list(PLUS,type_constraint) → type_constraint PLUS • separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] + +///| +fn yy_state_149(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_type_constraint => Shift(yy_state_148) + NT_separated_nonempty_list_PLUS_type_constraint_ => Shift(yy_state_150) + NT_qualified_uident => Shift(yy_state_151) + _ => Error + } +} + +// [222, separated_nonempty_list(PLUS,type_constraint) → type_constraint PLUS separated_nonempty_list(PLUS,type_constraint) •, COMMA / RBRACKET] + +///| +fn yy_state_150(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_PLUS_type_constraint_, + yy_action_178, + ) +} + +// [144, type_constraint → qualified_uident •, COMMA / PLUS / RBRACKET] + +///| +fn yy_state_151(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_type_constraint, yy_action_177) +} + +// [137, type_param_with_constraints → uident COLON separated_nonempty_list(PLUS,type_constraint) •, COMMA / RBRACKET] + +///| +fn yy_state_152(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_type_param_with_constraints, yy_action_176) +} + +// [224, separated_list(COMMA,type_param_with_constraints) → separated_nonempty_list(COMMA,type_param_with_constraints) •, RBRACKET] + +///| +fn yy_state_153(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 1, + NT_separated_list_COMMA_type_param_with_constraints_, + yy_action_175, + ) +} + +// [138, type_params_with_constraints → LBRACKET separated_list(COMMA,type_param_with_constraints) • RBRACKET, LIDENT / UIDENT / AMPER / PACKAGE_NAME] + +///| +fn yy_state_154(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACKET => Shift(yy_state_155) + _ => Error + } +} + +// [138, type_params_with_constraints → LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET •, LIDENT / UIDENT / AMPER / PACKAGE_NAME] + +///| +fn yy_state_155(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_type_params_with_constraints, yy_action_174) +} + +// [80, impl_sig → IMPL qualified_uident • FOR type_, EOF / SEMI] + +///| +fn yy_state_156(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FOR => Shift(yy_state_157) + _ => Error + } +} + +// [80, impl_sig → IMPL qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_157(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_158) + _ => Error + } +} + +// [80, impl_sig → IMPL qualified_uident FOR type_ •, EOF / SEMI] + +///| +fn yy_state_158(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_impl_sig, yy_action_173) +} + +// [74, impl_sig → IMPL type_params_with_constraints • qualified_uident FOR type_, EOF / SEMI] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] + +///| +fn yy_state_159(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_qualified_uident => Shift(yy_state_160) + _ => Error + } +} + +// [74, impl_sig → IMPL type_params_with_constraints qualified_uident • FOR type_, EOF / SEMI] + +///| +fn yy_state_160(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FOR => Shift(yy_state_161) + _ => Error + } +} + +// [74, impl_sig → IMPL type_params_with_constraints qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_161(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_162) + _ => Error + } +} + +// [74, impl_sig → IMPL type_params_with_constraints qualified_uident FOR type_ •, EOF / SEMI] + +///| +fn yy_state_162(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_impl_sig, yy_action_172) +} + +// [68, type_sig → ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] +// [187, uident → • UIDENT, LBRACKET / LBRACE] + +///| +fn yy_state_163(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_176) + _ => Error + } +} + +// [141, type_params_no_constraints → • LBRACKET separated_list(COMMA,type_param_no_constraints) RBRACKET, EOF / EQUAL / LPAREN / SEMI / LBRACE] +// [142, optional_type_params_no_constraints → •, EOF / EQUAL / LPAREN / SEMI / LBRACE] +// [143, optional_type_params_no_constraints → • type_params_no_constraints, EOF / EQUAL / LPAREN / SEMI / LBRACE] +// [145, type_decl_name_with_params → uident • optional_type_params_no_constraints, EOF / EQUAL / LPAREN / SEMI / LBRACE] + +///| +fn yy_state_164(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_optional_type_params_no_constraints => Shift(yy_state_165) + NT_type_params_no_constraints => Shift(yy_state_166) + T_LBRACKET => Shift(yy_state_167) + T_EOF | T_EQUAL | T_LPAREN | T_SEMI | T_LBRACE => + Reduce(0, NT_optional_type_params_no_constraints, yy_action_171) + _ => Error + } +} + +// [145, type_decl_name_with_params → uident optional_type_params_no_constraints •, EOF / EQUAL / LPAREN / SEMI / LBRACE] + +///| +fn yy_state_165(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_type_decl_name_with_params, yy_action_170) +} + +// [143, optional_type_params_no_constraints → type_params_no_constraints •, EOF / EQUAL / LPAREN / SEMI / LBRACE] + +///| +fn yy_state_166(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_optional_type_params_no_constraints, yy_action_169) +} + +// [139, type_param_no_constraints → • uident, COMMA / RBRACKET] +// [140, type_param_no_constraints → • UNDERSCORE, COMMA / RBRACKET] +// [141, type_params_no_constraints → LBRACKET • separated_list(COMMA,type_param_no_constraints) RBRACKET, EOF / EQUAL / LPAREN / SEMI / LBRACE] +// [187, uident → • UIDENT, COMMA / RBRACKET] +// [225, separated_list(COMMA,type_param_no_constraints) → •, RBRACKET] +// [226, separated_list(COMMA,type_param_no_constraints) → • separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] +// [237, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints, RBRACKET] +// [238, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints COMMA separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] + +///| +fn yy_state_167(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_type_param_no_constraints => Shift(yy_state_168) + T_UNDERSCORE => Shift(yy_state_171) + NT_uident => Shift(yy_state_172) + NT_separated_nonempty_list_COMMA_type_param_no_constraints_ => + Shift(yy_state_173) + NT_separated_list_COMMA_type_param_no_constraints_ => Shift(yy_state_174) + T_RBRACKET => + Reduce( + 0, + NT_separated_list_COMMA_type_param_no_constraints_, + yy_action_168, + ) + _ => Error + } +} + +// [237, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints •, RBRACKET] +// [238, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints • COMMA separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] + +///| +fn yy_state_168(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COMMA => Shift(yy_state_169) + T_RBRACKET => + Reduce( + 1, + NT_separated_nonempty_list_COMMA_type_param_no_constraints_, + yy_action_167, + ) + _ => Error + } +} + +// [139, type_param_no_constraints → • uident, COMMA / RBRACKET] +// [140, type_param_no_constraints → • UNDERSCORE, COMMA / RBRACKET] +// [187, uident → • UIDENT, COMMA / RBRACKET] +// [237, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints, RBRACKET] +// [238, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints COMMA separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] +// [238, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints COMMA • separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] + +///| +fn yy_state_169(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_type_param_no_constraints => Shift(yy_state_168) + NT_separated_nonempty_list_COMMA_type_param_no_constraints_ => + Shift(yy_state_170) + T_UNDERSCORE => Shift(yy_state_171) + NT_uident => Shift(yy_state_172) + _ => Error + } +} + +// [238, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints COMMA separated_nonempty_list(COMMA,type_param_no_constraints) •, RBRACKET] + +///| +fn yy_state_170(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_COMMA_type_param_no_constraints_, + yy_action_166, + ) +} + +// [140, type_param_no_constraints → UNDERSCORE •, COMMA / RBRACKET] + +///| +fn yy_state_171(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_type_param_no_constraints, yy_action_165) +} + +// [139, type_param_no_constraints → uident •, COMMA / RBRACKET] + +///| +fn yy_state_172(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_type_param_no_constraints, yy_action_164) +} + +// [226, separated_list(COMMA,type_param_no_constraints) → separated_nonempty_list(COMMA,type_param_no_constraints) •, RBRACKET] + +///| +fn yy_state_173(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 1, + NT_separated_list_COMMA_type_param_no_constraints_, + yy_action_163, + ) +} + +// [141, type_params_no_constraints → LBRACKET separated_list(COMMA,type_param_no_constraints) • RBRACKET, EOF / EQUAL / LPAREN / SEMI / LBRACE] + +///| +fn yy_state_174(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACKET => Shift(yy_state_175) + _ => Error + } +} + +// [141, type_params_no_constraints → LBRACKET separated_list(COMMA,type_param_no_constraints) RBRACKET •, EOF / EQUAL / LPAREN / SEMI / LBRACE] + +///| +fn yy_state_175(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_type_params_no_constraints, yy_action_162) +} + +// [68, type_sig → ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] + +///| +fn yy_state_176(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_177) + _ => Error + } +} + +// [68, type_sig → ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] + +///| +fn yy_state_177(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_203) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) + _ => Error + } +} + +// [233, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor •, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor • SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] + +///| +fn yy_state_178(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_SEMI => Shift(yy_state_179) + T_RBRACE => + Reduce( + 1, + NT_separated_nonempty_list_SEMI_enum_constructor_, + yy_action_160, + ) + _ => Error + } +} + +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor SEMI • separated_nonempty_list(SEMI,enum_constructor), RBRACE] + +///| +fn yy_state_179(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_180) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + _ => Error + } +} + +// [234, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor) •, RBRACE] + +///| +fn yy_state_180(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_SEMI_enum_constructor_, + yy_action_159, + ) +} + +// [121, enum_constructor → nonempty_list(attribute) • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] + +///| +fn yy_state_181(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_182) + _ => Error + } +} + +// [121, enum_constructor → nonempty_list(attribute) UIDENT • option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [215, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → •, EQUAL / SEMI / RBRACE] +// [216, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → • LPAREN separated_nonempty_list(COMMA,constructor_param) RPAREN, EQUAL / SEMI / RBRACE] + +///| +fn yy_state_182(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_183) + NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__ => + Shift(yy_state_195) + T_EQUAL | T_SEMI | T_RBRACE => + Reduce( + 0, + NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__, + yy_action_158, + ) + _ => Error + } +} + +// [122, constructor_param → • boption(MUTABLE) type_, RPAREN / COMMA] +// [123, constructor_param → • boption(MUTABLE) post_label COLON type_, RPAREN / COMMA] +// [213, separated_nonempty_list(COMMA,constructor_param) → • constructor_param, RPAREN] +// [214, separated_nonempty_list(COMMA,constructor_param) → • constructor_param COMMA separated_nonempty_list(COMMA,constructor_param), RPAREN] +// [216, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → LPAREN • separated_nonempty_list(COMMA,constructor_param) RPAREN, EQUAL / SEMI / RBRACE] +// [219, boption(MUTABLE) → •, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] +// [220, boption(MUTABLE) → • MUTABLE, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] + +///| +fn yy_state_183(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_MUTABLE => Shift(yy_state_184) + NT_separated_nonempty_list_COMMA_constructor_param_ => Shift(yy_state_185) + NT_constructor_param => Shift(yy_state_187) + NT_boption_MUTABLE_ => Shift(yy_state_190) + T_UIDENT + | T_POST_LABEL + | T_ASYNC + | T_LPAREN + | T_UNDERSCORE + | T_AMPER + | T_PACKAGE_NAME => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } +} + +// [220, boption(MUTABLE) → MUTABLE •, LIDENT / UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] + +///| +fn yy_state_184(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_boption_MUTABLE_, yy_action_156) +} + +// [216, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → LPAREN separated_nonempty_list(COMMA,constructor_param) • RPAREN, EQUAL / SEMI / RBRACE] + +///| +fn yy_state_185(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_186) + _ => Error + } +} + +// [216, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → LPAREN separated_nonempty_list(COMMA,constructor_param) RPAREN •, EQUAL / SEMI / RBRACE] + +///| +fn yy_state_186(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__, + yy_action_154, + ) +} + +// [213, separated_nonempty_list(COMMA,constructor_param) → constructor_param •, RPAREN] +// [214, separated_nonempty_list(COMMA,constructor_param) → constructor_param • COMMA separated_nonempty_list(COMMA,constructor_param), RPAREN] + +///| +fn yy_state_187(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COMMA => Shift(yy_state_188) + T_RPAREN => + Reduce( + 1, + NT_separated_nonempty_list_COMMA_constructor_param_, + yy_action_153, + ) + _ => Error + } +} + +// [122, constructor_param → • boption(MUTABLE) type_, RPAREN / COMMA] +// [123, constructor_param → • boption(MUTABLE) post_label COLON type_, RPAREN / COMMA] +// [213, separated_nonempty_list(COMMA,constructor_param) → • constructor_param, RPAREN] +// [214, separated_nonempty_list(COMMA,constructor_param) → • constructor_param COMMA separated_nonempty_list(COMMA,constructor_param), RPAREN] +// [214, separated_nonempty_list(COMMA,constructor_param) → constructor_param COMMA • separated_nonempty_list(COMMA,constructor_param), RPAREN] +// [219, boption(MUTABLE) → •, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] +// [220, boption(MUTABLE) → • MUTABLE, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] + +///| +fn yy_state_188(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_MUTABLE => Shift(yy_state_184) + NT_constructor_param => Shift(yy_state_187) + NT_separated_nonempty_list_COMMA_constructor_param_ => Shift(yy_state_189) + NT_boption_MUTABLE_ => Shift(yy_state_190) + T_UIDENT + | T_POST_LABEL + | T_ASYNC + | T_LPAREN + | T_UNDERSCORE + | T_AMPER + | T_PACKAGE_NAME => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } +} + +// [214, separated_nonempty_list(COMMA,constructor_param) → constructor_param COMMA separated_nonempty_list(COMMA,constructor_param) •, RPAREN] + +///| +fn yy_state_189(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_separated_nonempty_list_COMMA_constructor_param_, + yy_action_152, + ) +} + +// [122, constructor_param → boption(MUTABLE) • type_, RPAREN / COMMA] +// [123, constructor_param → boption(MUTABLE) • post_label COLON type_, RPAREN / COMMA] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [190, post_label → • POST_LABEL, COLON] + +///| +fn yy_state_190(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_POST_LABEL => Shift(yy_state_59) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_191) + NT_type_ => Shift(yy_state_194) + _ => Error + } +} + +// [123, constructor_param → boption(MUTABLE) post_label • COLON type_, RPAREN / COMMA] + +///| +fn yy_state_191(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_192) + _ => Error + } +} + +// [123, constructor_param → boption(MUTABLE) post_label COLON • type_, RPAREN / COMMA] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] + +///| +fn yy_state_192(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_193) + _ => Error + } +} + +// [123, constructor_param → boption(MUTABLE) post_label COLON type_ •, RPAREN / COMMA] + +///| +fn yy_state_193(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_constructor_param, yy_action_151) +} + +// [122, constructor_param → boption(MUTABLE) type_ •, RPAREN / COMMA] + +///| +fn yy_state_194(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_constructor_param, yy_action_150) +} + +// [121, enum_constructor → nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) • option(eq_tag), SEMI / RBRACE] +// [217, option(eq_tag) → •, SEMI / RBRACE] +// [218, option(eq_tag) → • EQUAL INT, SEMI / RBRACE] + +///| +fn yy_state_195(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_196) + NT_option_eq_tag_ => Shift(yy_state_198) + T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_tag_, yy_action_149) + _ => Error + } +} + +// [218, option(eq_tag) → EQUAL • INT, SEMI / RBRACE] + +///| +fn yy_state_196(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_INT => Shift(yy_state_197) + _ => Error + } +} + +// [218, option(eq_tag) → EQUAL INT •, SEMI / RBRACE] + +///| +fn yy_state_197(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_option_eq_tag_, yy_action_147) +} + +// [121, enum_constructor → nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag) •, SEMI / RBRACE] + +///| +fn yy_state_198(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_enum_constructor, yy_action_146) +} + +// [120, enum_constructor → UIDENT • option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [215, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → •, EQUAL / SEMI / RBRACE] +// [216, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → • LPAREN separated_nonempty_list(COMMA,constructor_param) RPAREN, EQUAL / SEMI / RBRACE] + +///| +fn yy_state_199(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_183) + NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__ => + Shift(yy_state_200) + T_EQUAL | T_SEMI | T_RBRACE => + Reduce( + 0, + NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__, + yy_action_158, + ) + _ => Error + } +} + +// [120, enum_constructor → UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) • option(eq_tag), SEMI / RBRACE] +// [217, option(eq_tag) → •, SEMI / RBRACE] +// [218, option(eq_tag) → • EQUAL INT, SEMI / RBRACE] + +///| +fn yy_state_200(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_196) + NT_option_eq_tag_ => Shift(yy_state_201) + T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_tag_, yy_action_149) + _ => Error + } +} + +// [120, enum_constructor → UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag) •, SEMI / RBRACE] + +///| +fn yy_state_201(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_enum_constructor, yy_action_145) +} + +// [204, separated_list(SEMI,enum_constructor) → separated_nonempty_list(SEMI,enum_constructor) •, RBRACE] + +///| +fn yy_state_202(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_separated_list_SEMI_enum_constructor_, yy_action_144) +} + +// [68, type_sig → ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] + +///| +fn yy_state_203(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_204) + _ => Error + } +} + +// [68, type_sig → ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] + +///| +fn yy_state_204(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_sig, yy_action_143) +} + +// [56, type_sig → STRUCT • type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [62, type_sig → STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] +// [187, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] + +///| +fn yy_state_205(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_206) + _ => Error + } +} + +// [56, type_sig → STRUCT type_decl_name_with_params • LBRACE record_decl_body RBRACE, EOF / SEMI] +// [62, type_sig → STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] + +///| +fn yy_state_206(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_207) + T_LBRACE => Shift(yy_state_211) + _ => Error + } +} + +// [62, type_sig → STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [205, separated_list(COMMA,type_) → •, RPAREN] +// [206, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] + +///| +fn yy_state_207(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_208) + NT_separated_list_COMMA_type__ => Shift(yy_state_209) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_142) + _ => Error + } +} + +// [206, separated_list(COMMA,type_) → separated_nonempty_list(COMMA,type_) •, RPAREN] + +///| +fn yy_state_208(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_separated_list_COMMA_type__, yy_action_141) +} + +// [62, type_sig → STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] + +///| +fn yy_state_209(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_210) + _ => Error + } +} + +// [62, type_sig → STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] + +///| +fn yy_state_210(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_sig, yy_action_140) +} + +// [56, type_sig → STRUCT type_decl_name_with_params LBRACE • record_decl_body RBRACE, EOF / SEMI] +// [124, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [125, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [126, record_decl_constr → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [127, record_decl_constr → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [128, record_decl_constr → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [130, record_decl_body → •, RBRACE] +// [131, record_decl_body → • record_decl_constr, RBRACE] +// [132, record_decl_body → • record_decl_body_nonempty, RBRACE] +// [133, record_decl_body_nonempty → • record_decl_field SEMI record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → • record_decl_field, RBRACE] +// [135, record_decl_body_nonempty → • record_decl_field SEMI record_decl_body_nonempty, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / ASYNC / FN / MUTABLE] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / ASYNC / FN / MUTABLE] + +///| +fn yy_state_211(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_MUTABLE => Shift(yy_state_184) + NT_record_decl_field => Shift(yy_state_212) + T_FN => Shift(yy_state_216) + T_ASYNC => Shift(yy_state_232) + NT_nonempty_list_attribute_ => Shift(yy_state_242) + NT_boption_MUTABLE_ => Shift(yy_state_266) + NT_record_decl_body_nonempty => Shift(yy_state_270) + NT_record_decl_constr => Shift(yy_state_271) + NT_record_decl_body => Shift(yy_state_272) + T_RBRACE => Reduce(0, NT_record_decl_body, yy_action_139) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } +} + +// [133, record_decl_body_nonempty → record_decl_field • SEMI record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → record_decl_field •, RBRACE] +// [135, record_decl_body_nonempty → record_decl_field • SEMI record_decl_body_nonempty, RBRACE] + +///| +fn yy_state_212(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_SEMI => Shift(yy_state_213) + T_RBRACE => Reduce(1, NT_record_decl_body_nonempty, yy_action_138) + _ => Error + } +} + +// [124, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [125, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [126, record_decl_constr → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [127, record_decl_constr → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [128, record_decl_constr → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [133, record_decl_body_nonempty → • record_decl_field SEMI record_decl_constr, RBRACE] +// [133, record_decl_body_nonempty → record_decl_field SEMI • record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → • record_decl_field, RBRACE] +// [135, record_decl_body_nonempty → • record_decl_field SEMI record_decl_body_nonempty, RBRACE] +// [135, record_decl_body_nonempty → record_decl_field SEMI • record_decl_body_nonempty, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / ASYNC / FN / MUTABLE] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / ASYNC / FN / MUTABLE] + +///| +fn yy_state_213(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_MUTABLE => Shift(yy_state_184) + NT_record_decl_field => Shift(yy_state_212) + NT_record_decl_body_nonempty => Shift(yy_state_214) + NT_record_decl_constr => Shift(yy_state_215) + T_FN => Shift(yy_state_216) + T_ASYNC => Shift(yy_state_232) + NT_nonempty_list_attribute_ => Shift(yy_state_242) + NT_boption_MUTABLE_ => Shift(yy_state_266) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } +} + +// [135, record_decl_body_nonempty → record_decl_field SEMI record_decl_body_nonempty •, RBRACE] + +///| +fn yy_state_214(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_record_decl_body_nonempty, yy_action_137) +} + +// [133, record_decl_body_nonempty → record_decl_field SEMI record_decl_constr •, RBRACE] + +///| +fn yy_state_215(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_record_decl_body_nonempty, yy_action_136) +} + +// [127, record_decl_constr → FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] + +///| +fn yy_state_216(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_218) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) + _ => Error + } +} + +// [194, loption(type_params_with_constraints) → type_params_with_constraints •, LIDENT / UIDENT / AMPER] + +///| +fn yy_state_217(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_loption_type_params_with_constraints_, yy_action_134) +} + +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [127, record_decl_constr → FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] + +///| +fn yy_state_218(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_method_self_type_coloncolon => Shift(yy_state_219) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_220) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) + _ => Error + } +} + +// [196, option(method_self_type_coloncolon) → method_self_type_coloncolon •, LIDENT] + +///| +fn yy_state_219(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_option_method_self_type_coloncolon_, yy_action_132) +} + +// [127, record_decl_constr → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [188, lident → • LIDENT, LPAREN] + +///| +fn yy_state_220(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_221) + _ => Error + } +} + +// [127, record_decl_constr → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_221(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_222) + _ => Error + } +} + +// [127, record_decl_constr → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_222(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_223) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } +} + +// [127, record_decl_constr → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_223(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_224) + _ => Error + } +} + +// [127, record_decl_constr → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_224(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_225) + _ => Error + } +} + +// [127, record_decl_constr → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RAISE / QUESTION / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RAISE / QUESTION / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RAISE / QUESTION / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RAISE / QUESTION / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, RAISE / QUESTION / RBRACE] +// [151, simple_type → • UNDERSCORE, RAISE / QUESTION / RBRACE] +// [152, type_ → • simple_type, RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [161, return_type → • type_, RBRACE] +// [162, return_type → • simple_type RAISE, RBRACE] +// [163, return_type → • simple_type RAISE error_type, RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, RBRACE] +// [185, qualified_uident_ → • UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] + +///| +fn yy_state_225(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_226) + _ => Error + } +} + +// [127, record_decl_constr → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, RBRACE] + +///| +fn yy_state_226(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_record_decl_constr, yy_action_131) +} + +// [29, method_self_type_coloncolon → AMPER • UIDENT COLONCOLON, LIDENT] + +///| +fn yy_state_227(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_228) + _ => Error + } +} + +// [29, method_self_type_coloncolon → AMPER UIDENT • COLONCOLON, LIDENT] + +///| +fn yy_state_228(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLONCOLON => Shift(yy_state_229) + _ => Error + } +} + +// [29, method_self_type_coloncolon → AMPER UIDENT COLONCOLON •, LIDENT] + +///| +fn yy_state_229(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_method_self_type_coloncolon, yy_action_130) +} + +// [28, method_self_type_coloncolon → UIDENT • COLONCOLON, LIDENT] + +///| +fn yy_state_230(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLONCOLON => Shift(yy_state_231) + _ => Error + } +} + +// [28, method_self_type_coloncolon → UIDENT COLONCOLON •, LIDENT] + +///| +fn yy_state_231(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_method_self_type_coloncolon, yy_action_129) +} + +// [126, record_decl_constr → ASYNC • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_232(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FN => Shift(yy_state_233) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] + +///| +fn yy_state_233(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_234) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) + _ => Error + } +} + +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] + +///| +fn yy_state_234(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_method_self_type_coloncolon => Shift(yy_state_219) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_235) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [188, lident → • LIDENT, LPAREN] + +///| +fn yy_state_235(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_236) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_236(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_237) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_237(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_238) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_238(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_239) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_239(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_240) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RAISE / QUESTION / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RAISE / QUESTION / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RAISE / QUESTION / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RAISE / QUESTION / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, RAISE / QUESTION / RBRACE] +// [151, simple_type → • UNDERSCORE, RAISE / QUESTION / RBRACE] +// [152, type_ → • simple_type, RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [161, return_type → • type_, RBRACE] +// [162, return_type → • simple_type RAISE, RBRACE] +// [163, return_type → • simple_type RAISE error_type, RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, RBRACE] +// [185, qualified_uident_ → • UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] + +///| +fn yy_state_240(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_241) + _ => Error + } +} + +// [126, record_decl_constr → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, RBRACE] + +///| +fn yy_state_241(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(10, NT_record_decl_constr, yy_action_128) +} + +// [125, record_decl_field → nonempty_list(attribute) • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [128, record_decl_constr → nonempty_list(attribute) • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → nonempty_list(attribute) • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] + +///| +fn yy_state_242(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_MUTABLE => Shift(yy_state_184) + T_FN => Shift(yy_state_243) + T_ASYNC => Shift(yy_state_252) + NT_boption_MUTABLE_ => Shift(yy_state_262) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] + +///| +fn yy_state_243(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_244) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) + _ => Error + } +} + +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] + +///| +fn yy_state_244(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_method_self_type_coloncolon => Shift(yy_state_219) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_245) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [188, lident → • LIDENT, LPAREN] + +///| +fn yy_state_245(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_246) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_246(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_247) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_247(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_248) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_248(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_249) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_249(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_250) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RAISE / QUESTION / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RAISE / QUESTION / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RAISE / QUESTION / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RAISE / QUESTION / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, RAISE / QUESTION / RBRACE] +// [151, simple_type → • UNDERSCORE, RAISE / QUESTION / RBRACE] +// [152, type_ → • simple_type, RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [161, return_type → • type_, RBRACE] +// [162, return_type → • simple_type RAISE, RBRACE] +// [163, return_type → • simple_type RAISE error_type, RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, RBRACE] +// [185, qualified_uident_ → • UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] + +///| +fn yy_state_250(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_251) + _ => Error + } +} + +// [129, record_decl_constr → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, RBRACE] + +///| +fn yy_state_251(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(10, NT_record_decl_constr, yy_action_127) +} + +// [128, record_decl_constr → nonempty_list(attribute) ASYNC • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] + +///| +fn yy_state_252(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FN => Shift(yy_state_253) + _ => Error + } +} + +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] + +///| +fn yy_state_253(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_254) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) + _ => Error + } +} + +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] + +///| +fn yy_state_254(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_method_self_type_coloncolon => Shift(yy_state_219) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_255) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) + _ => Error } } -// [0, mbti → • LIDENT STRING imports sigs EOF, $] -// [1, mbti → • LIDENT STRING SEMI imports sigs EOF, $] -// [187, mbti_prime → • mbti, $] +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [188, lident → • LIDENT, LPAREN] ///| -fn yy_state_0(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_255(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_mbti => Shift(yy_state_1) - T_LIDENT => Shift(yy_state_2) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_256) _ => Error } } -// [187, mbti_prime → mbti •, $] +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] ///| -fn yy_state_1(_lookahead : YYSymbol) -> YYDecision { - Accept +fn yy_state_256(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_257) + _ => Error + } } -// [0, mbti → LIDENT • STRING imports sigs EOF, $] -// [1, mbti → LIDENT • STRING SEMI imports sigs EOF, $] +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] ///| -fn yy_state_2(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_257(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_3) + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_258) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) _ => Error } } -// [0, mbti → LIDENT STRING • imports sigs EOF, $] -// [1, mbti → LIDENT STRING • SEMI imports sigs EOF, $] -// [2, imports → •, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] -// [3, imports → • IMPORT LPAREN separated_nonempty_list(SEMI,package_import) RPAREN SEMI, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, RBRACE] ///| -fn yy_state_3(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_258(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_IMPORT => Shift(yy_state_4) - T_SEMI => Shift(yy_state_15) - NT_imports => Shift(yy_state_380) - T_ATTRIBUTE - | T_EOF - | T_PUB - | T_PRIV - | T_EXTERN - | T_STRUCT - | T_ENUM - | T_TRAIT - | T_IMPL - | T_TYPEALIAS - | T_TRAITALIAS - | T_FNALIAS - | T_FN - | T_LET - | T_CONST - | T_TYPE - | T_SUBERROR => Reduce(0, NT_imports, yy_action_205) + T_RPAREN => Shift(yy_state_259) _ => Error } } -// [3, imports → IMPORT • LPAREN separated_nonempty_list(SEMI,package_import) RPAREN SEMI, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, RBRACE] ///| -fn yy_state_4(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_259(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_5) + T_THIN_ARROW => Shift(yy_state_260) _ => Error } } -// [3, imports → IMPORT LPAREN • separated_nonempty_list(SEMI,package_import) RPAREN SEMI, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] -// [4, package_import → • STRING, RPAREN / SEMI] -// [5, package_import → • STRING AS LIDENT, RPAREN / SEMI] -// [133, separated_nonempty_list(SEMI,package_import) → • package_import, RPAREN] -// [134, separated_nonempty_list(SEMI,package_import) → • package_import SEMI separated_nonempty_list(SEMI,package_import), RPAREN] +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, RBRACE] +// [146, simple_type → • simple_type QUESTION, RAISE / QUESTION / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RAISE / QUESTION / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, RAISE / QUESTION / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RAISE / QUESTION / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, RAISE / QUESTION / RBRACE] +// [151, simple_type → • UNDERSCORE, RAISE / QUESTION / RBRACE] +// [152, type_ → • simple_type, RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RBRACE] +// [161, return_type → • type_, RBRACE] +// [162, return_type → • simple_type RAISE, RBRACE] +// [163, return_type → • simple_type RAISE error_type, RBRACE] +// [164, return_type → • simple_type RAISE QUESTION, RBRACE] +// [185, qualified_uident_ → • UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RAISE / QUESTION / LBRACKET / RBRACE] ///| -fn yy_state_5(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_260(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_package_import => Shift(yy_state_6) - T_STRING => Shift(yy_state_9) - NT_separated_nonempty_list_SEMI_package_import_ => Shift(yy_state_12) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_261) + _ => Error + } +} + +// [128, record_decl_constr → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, RBRACE] + +///| +fn yy_state_261(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(11, NT_record_decl_constr, yy_action_126) +} + +// [125, record_decl_field → nonempty_list(attribute) boption(MUTABLE) • LIDENT COLON type_, SEMI / RBRACE] + +///| +fn yy_state_262(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_263) + _ => Error + } +} + +// [125, record_decl_field → nonempty_list(attribute) boption(MUTABLE) LIDENT • COLON type_, SEMI / RBRACE] + +///| +fn yy_state_263(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_264) + _ => Error + } +} + +// [125, record_decl_field → nonempty_list(attribute) boption(MUTABLE) LIDENT COLON • type_, SEMI / RBRACE] +// [146, simple_type → • simple_type QUESTION, QUESTION / SEMI / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, QUESTION / SEMI / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, QUESTION / SEMI / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, QUESTION / SEMI / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, QUESTION / SEMI / RBRACE] +// [151, simple_type → • UNDERSCORE, QUESTION / SEMI / RBRACE] +// [152, type_ → • simple_type, SEMI / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [185, qualified_uident_ → • UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] + +///| +fn yy_state_264(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_265) + _ => Error + } +} + +// [125, record_decl_field → nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_ •, SEMI / RBRACE] + +///| +fn yy_state_265(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_record_decl_field, yy_action_125) +} + +// [124, record_decl_field → boption(MUTABLE) • LIDENT COLON type_, SEMI / RBRACE] + +///| +fn yy_state_266(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_267) + _ => Error + } +} + +// [124, record_decl_field → boption(MUTABLE) LIDENT • COLON type_, SEMI / RBRACE] + +///| +fn yy_state_267(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_268) + _ => Error + } +} + +// [124, record_decl_field → boption(MUTABLE) LIDENT COLON • type_, SEMI / RBRACE] +// [146, simple_type → • simple_type QUESTION, QUESTION / SEMI / RBRACE] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, QUESTION / SEMI / RBRACE] +// [148, simple_type → • LPAREN type_ RPAREN, QUESTION / SEMI / RBRACE] +// [149, simple_type → • qualified_uident_ optional_type_arguments, QUESTION / SEMI / RBRACE] +// [150, simple_type → • AMPER qualified_uident_, QUESTION / SEMI / RBRACE] +// [151, simple_type → • UNDERSCORE, QUESTION / SEMI / RBRACE] +// [152, type_ → • simple_type, SEMI / RBRACE] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] +// [185, qualified_uident_ → • UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] + +///| +fn yy_state_268(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_269) + _ => Error + } +} + +// [124, record_decl_field → boption(MUTABLE) LIDENT COLON type_ •, SEMI / RBRACE] + +///| +fn yy_state_269(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_record_decl_field, yy_action_124) +} + +// [132, record_decl_body → record_decl_body_nonempty •, RBRACE] + +///| +fn yy_state_270(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_record_decl_body, yy_action_123) +} + +// [131, record_decl_body → record_decl_constr •, RBRACE] + +///| +fn yy_state_271(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_record_decl_body, yy_action_122) +} + +// [56, type_sig → STRUCT type_decl_name_with_params LBRACE record_decl_body • RBRACE, EOF / SEMI] + +///| +fn yy_state_272(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_273) + _ => Error + } +} + +// [56, type_sig → STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE •, EOF / SEMI] + +///| +fn yy_state_273(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_sig, yy_action_121) +} + +// [44, type_sig → SUBERROR • uident option(type_), EOF / SEMI] +// [50, type_sig → SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] + +///| +fn yy_state_274(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_275) + _ => Error + } +} + +// [44, type_sig → SUBERROR uident • option(type_), EOF / SEMI] +// [50, type_sig → SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [201, option(type_) → •, EOF / SEMI] +// [202, option(type_) → • type_, EOF / SEMI] + +///| +fn yy_state_275(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_276) + T_LBRACE => Shift(yy_state_277) + NT_option_type__ => Shift(yy_state_280) + T_EOF | T_SEMI => Reduce(0, NT_option_type__, yy_action_120) + _ => Error + } +} + +// [202, option(type_) → type_ •, EOF / SEMI] + +///| +fn yy_state_276(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_option_type__, yy_action_119) +} + +// [50, type_sig → SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] + +///| +fn yy_state_277(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_278) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) + _ => Error + } +} + +// [50, type_sig → SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] + +///| +fn yy_state_278(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_279) + _ => Error + } +} + +// [50, type_sig → SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] + +///| +fn yy_state_279(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_sig, yy_action_118) +} + +// [44, type_sig → SUBERROR uident option(type_) •, EOF / SEMI] + +///| +fn yy_state_280(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_type_sig, yy_action_117) +} + +// [38, type_sig → TYPE • type_decl_name_with_params, EOF / SEMI] +// [100, alias_sig → TYPE • type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / EQUAL / SEMI] +// [187, uident → • UIDENT, EOF / EQUAL / SEMI / LBRACKET] + +///| +fn yy_state_281(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_282) + _ => Error + } +} + +// [38, type_sig → TYPE type_decl_name_with_params •, EOF / SEMI] +// [100, alias_sig → TYPE type_decl_name_with_params • EQUAL type_, EOF / SEMI] + +///| +fn yy_state_282(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_283) + T_EOF | T_SEMI => Reduce(2, NT_type_sig, yy_action_116) + _ => Error + } +} + +// [100, alias_sig → TYPE type_decl_name_with_params EQUAL • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_283(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_284) + _ => Error + } +} + +// [100, alias_sig → TYPE type_decl_name_with_params EQUAL type_ •, EOF / SEMI] + +///| +fn yy_state_284(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_alias_sig, yy_action_115) +} + +// [33, func_sig → FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] + +///| +fn yy_state_285(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_286) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) + _ => Error + } +} + +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [33, func_sig → FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] + +///| +fn yy_state_286(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_method_self_type_coloncolon => Shift(yy_state_219) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_287) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) + _ => Error + } +} + +// [33, func_sig → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] + +///| +fn yy_state_287(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_288) + _ => Error + } +} + +// [33, func_sig → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] + +///| +fn yy_state_288(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_289) + _ => Error + } +} + +// [33, func_sig → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] + +///| +fn yy_state_289(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_290) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } +} + +// [33, func_sig → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, EOF / SEMI] + +///| +fn yy_state_290(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_291) _ => Error } } -// [133, separated_nonempty_list(SEMI,package_import) → package_import •, RPAREN] -// [134, separated_nonempty_list(SEMI,package_import) → package_import • SEMI separated_nonempty_list(SEMI,package_import), RPAREN] +// [33, func_sig → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_6(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_291(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_7) - T_RPAREN => - Reduce(1, NT_separated_nonempty_list_SEMI_package_import_, yy_action_204) + T_THIN_ARROW => Shift(yy_state_292) _ => Error } } -// [4, package_import → • STRING, RPAREN / SEMI] -// [5, package_import → • STRING AS LIDENT, RPAREN / SEMI] -// [133, separated_nonempty_list(SEMI,package_import) → • package_import, RPAREN] -// [134, separated_nonempty_list(SEMI,package_import) → • package_import SEMI separated_nonempty_list(SEMI,package_import), RPAREN] -// [134, separated_nonempty_list(SEMI,package_import) → package_import SEMI • separated_nonempty_list(SEMI,package_import), RPAREN] +// [33, func_sig → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [161, return_type → • type_, EOF / SEMI] +// [162, return_type → • simple_type RAISE, EOF / SEMI] +// [163, return_type → • simple_type RAISE error_type, EOF / SEMI] +// [164, return_type → • simple_type RAISE QUESTION, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_7(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_292(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_package_import => Shift(yy_state_6) - NT_separated_nonempty_list_SEMI_package_import_ => Shift(yy_state_8) - T_STRING => Shift(yy_state_9) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_293) _ => Error } } -// [134, separated_nonempty_list(SEMI,package_import) → package_import SEMI separated_nonempty_list(SEMI,package_import) •, RPAREN] +// [33, func_sig → FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, EOF / SEMI] ///| -fn yy_state_8(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_SEMI_package_import_, - yy_action_203, - ) +fn yy_state_293(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_func_sig, yy_action_114) } -// [4, package_import → STRING •, RPAREN / SEMI] -// [5, package_import → STRING • AS LIDENT, RPAREN / SEMI] +// [32, func_sig → ASYNC • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_9(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_294(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_10) - T_RPAREN | T_SEMI => Reduce(1, NT_package_import, yy_action_202) + T_FN => Shift(yy_state_295) _ => Error } } -// [5, package_import → STRING AS • LIDENT, RPAREN / SEMI] +// [32, func_sig → ASYNC FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] ///| -fn yy_state_10(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_295(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_11) + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_296) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) _ => Error } } -// [5, package_import → STRING AS LIDENT •, RPAREN / SEMI] +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] ///| -fn yy_state_11(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_package_import, yy_action_201) +fn yy_state_296(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_method_self_type_coloncolon => Shift(yy_state_219) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_297) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) + _ => Error + } } -// [3, imports → IMPORT LPAREN separated_nonempty_list(SEMI,package_import) • RPAREN SEMI, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] ///| -fn yy_state_12(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_297(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_13) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_298) _ => Error } } -// [3, imports → IMPORT LPAREN separated_nonempty_list(SEMI,package_import) RPAREN • SEMI, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_13(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_298(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_14) + T_LPAREN => Shift(yy_state_299) _ => Error } } -// [3, imports → IMPORT LPAREN separated_nonempty_list(SEMI,package_import) RPAREN SEMI •, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] ///| -fn yy_state_14(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_imports, yy_action_200) +fn yy_state_299(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_300) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } } -// [1, mbti → LIDENT STRING SEMI • imports sigs EOF, $] -// [2, imports → •, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] -// [3, imports → • IMPORT LPAREN separated_nonempty_list(SEMI,package_import) RPAREN SEMI, ATTRIBUTE / EOF / PUB / PRIV / EXTERN / STRUCT / ENUM / TRAIT / IMPL / TYPEALIAS / TRAITALIAS / FNALIAS / FN / LET / CONST / TYPE / SUBERROR] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_15(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_300(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_IMPORT => Shift(yy_state_4) - NT_imports => Shift(yy_state_16) - T_ATTRIBUTE - | T_EOF - | T_PUB - | T_PRIV - | T_EXTERN - | T_STRUCT - | T_ENUM - | T_TRAIT - | T_IMPL - | T_TYPEALIAS - | T_TRAITALIAS - | T_FNALIAS - | T_FN - | T_LET - | T_CONST - | T_TYPE - | T_SUBERROR => Reduce(0, NT_imports, yy_action_205) + T_RPAREN => Shift(yy_state_301) _ => Error } } -// [1, mbti → LIDENT STRING SEMI imports • sigs EOF, $] -// [6, sigs → •, EOF] -// [7, sigs → • sig_, EOF] -// [8, sigs → • sig_ SEMI sigs, EOF] -// [9, sig_ → • func_sig, EOF / SEMI] -// [10, sig_ → • type_sig, EOF / SEMI] -// [11, sig_ → • alias_sig, EOF / SEMI] -// [12, sig_ → • trait_sig, EOF / SEMI] -// [13, sig_ → • impl_sig, EOF / SEMI] -// [14, sig_ → • const_sig, EOF / SEMI] -// [15, sig_ → • value_sig, EOF / SEMI] -// [16, const_sig → • CONST uident COLON type_ EQUAL constant, EOF / SEMI] -// [17, value_sig → • LET lident COLON type_, EOF / SEMI] -// [18, value_sig → • nonempty_list(attribute) LET lident COLON type_, EOF / SEMI] -// [21, func_sig_no_attr → • FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [22, func_sig → • func_sig_no_attr, EOF / SEMI] -// [23, func_sig → • nonempty_list(ATTRIBUTE) func_sig_no_attr, EOF / SEMI] -// [25, type_sig → • EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [26, type_sig → • PRIV EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [27, type_sig → • PUB pub_attr EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [28, type_sig → • TYPE type_decl_name_with_params, EOF / SEMI] -// [29, type_sig → • PRIV TYPE type_decl_name_with_params, EOF / SEMI] -// [30, type_sig → • PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] -// [31, type_sig → • TYPE type_decl_name_with_params type_, EOF / SEMI] -// [32, type_sig → • PRIV TYPE type_decl_name_with_params type_, EOF / SEMI] -// [33, type_sig → • PUB pub_attr TYPE type_decl_name_with_params type_, EOF / SEMI] -// [34, type_sig → • SUBERROR uident, EOF / SEMI] -// [35, type_sig → • PRIV SUBERROR uident, EOF / SEMI] -// [36, type_sig → • PUB pub_attr SUBERROR uident, EOF / SEMI] -// [37, type_sig → • SUBERROR uident type_, EOF / SEMI] -// [38, type_sig → • PRIV SUBERROR uident type_, EOF / SEMI] -// [39, type_sig → • PUB pub_attr SUBERROR uident type_, EOF / SEMI] -// [40, type_sig → • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [41, type_sig → • PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [42, type_sig → • PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [43, type_sig → • STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [44, type_sig → • PRIV STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [45, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [46, type_sig → • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [47, type_sig → • PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [48, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [49, type_sig → • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [50, type_sig → • PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [51, type_sig → • PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [52, impl_sig → • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] -// [53, impl_sig → • IMPL qualified_uident FOR type_, EOF / SEMI] -// [54, impl_sig → • IMPL uident COLONCOLON lident, EOF / SEMI] -// [55, trait_sig → • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [56, trait_sig → • PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [57, trait_sig → • PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [58, trait_sig → • TRAIT uident, EOF / SEMI] -// [59, trait_sig → • PRIV TRAIT uident, EOF / SEMI] -// [60, trait_sig → • PUB pub_attr TRAIT uident, EOF / SEMI] -// [61, alias_sig → • TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [62, alias_sig → • PRIV TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [63, alias_sig → • PUB pub_attr TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [64, alias_sig → • TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [65, alias_sig → • PRIV TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [66, alias_sig → • PUB pub_attr TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [67, alias_sig → • FNALIAS qualified_uident COLONCOLON lident, EOF / SEMI] -// [139, nonempty_list(ATTRIBUTE) → • ATTRIBUTE, FN] -// [140, nonempty_list(ATTRIBUTE) → • ATTRIBUTE nonempty_list(ATTRIBUTE), FN] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LET] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LET] - -///| -fn yy_state_16(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_ATTRIBUTE => Shift(yy_state_17) - T_FNALIAS => Shift(yy_state_20) - T_TRAITALIAS => Shift(yy_state_28) - T_TYPEALIAS => Shift(yy_state_33) - T_TRAIT => Shift(yy_state_104) - T_IMPL => Shift(yy_state_136) - T_ENUM => Shift(yy_state_162) - T_STRUCT => Shift(yy_state_193) - T_SUBERROR => Shift(yy_state_215) - T_TYPE => Shift(yy_state_221) - T_PUB => Shift(yy_state_224) - T_PRIV => Shift(yy_state_270) - T_EXTERN => Shift(yy_state_310) - NT_nonempty_list_ATTRIBUTE_ => Shift(yy_state_313) - T_FN => Shift(yy_state_315) - NT_func_sig_no_attr => Shift(yy_state_343) - NT_nonempty_list_attribute_ => Shift(yy_state_344) - T_LET => Shift(yy_state_349) - T_CONST => Shift(yy_state_353) - NT_value_sig => Shift(yy_state_368) - NT_const_sig => Shift(yy_state_369) - NT_impl_sig => Shift(yy_state_370) - NT_trait_sig => Shift(yy_state_371) - NT_alias_sig => Shift(yy_state_372) - NT_type_sig => Shift(yy_state_373) - NT_func_sig => Shift(yy_state_374) - NT_sig_ => Shift(yy_state_375) - NT_sigs => Shift(yy_state_378) - T_EOF => Reduce(0, NT_sigs, yy_action_199) - _ => Error - } -} - -// [139, nonempty_list(ATTRIBUTE) → • ATTRIBUTE, FN] -// [139, nonempty_list(ATTRIBUTE) → ATTRIBUTE •, FN] -// [140, nonempty_list(ATTRIBUTE) → • ATTRIBUTE nonempty_list(ATTRIBUTE), FN] -// [140, nonempty_list(ATTRIBUTE) → ATTRIBUTE • nonempty_list(ATTRIBUTE), FN] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LET] -// [173, nonempty_list(attribute) → ATTRIBUTE •, LET] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LET] -// [174, nonempty_list(attribute) → ATTRIBUTE • nonempty_list(attribute), LET] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_17(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_301(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_17) - NT_nonempty_list_attribute_ => Shift(yy_state_18) - NT_nonempty_list_ATTRIBUTE_ => Shift(yy_state_19) - T_FN => Reduce(1, NT_nonempty_list_ATTRIBUTE_, yy_action_198) - T_LET => Reduce(1, NT_nonempty_list_attribute_, yy_action_197) + T_THIN_ARROW => Shift(yy_state_302) _ => Error } } -// [174, nonempty_list(attribute) → ATTRIBUTE nonempty_list(attribute) •, LIDENT / UIDENT / LET / MUTABLE] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [161, return_type → • type_, EOF / SEMI] +// [162, return_type → • simple_type RAISE, EOF / SEMI] +// [163, return_type → • simple_type RAISE error_type, EOF / SEMI] +// [164, return_type → • simple_type RAISE QUESTION, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_18(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_nonempty_list_attribute_, yy_action_195) +fn yy_state_302(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_303) + _ => Error + } } -// [140, nonempty_list(ATTRIBUTE) → ATTRIBUTE nonempty_list(ATTRIBUTE) •, FN] +// [32, func_sig → ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, EOF / SEMI] ///| -fn yy_state_19(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_nonempty_list_ATTRIBUTE_, yy_action_194) +fn yy_state_303(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(10, NT_func_sig, yy_action_113) } -// [67, alias_sig → FNALIAS • qualified_uident COLONCOLON lident, EOF / SEMI] -// [125, qualified_uident → • UIDENT, COLONCOLON] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, COLONCOLON] +// [22, value_sig → LET • lident COLON type_, EOF / SEMI] +// [188, lident → • LIDENT, COLON] ///| -fn yy_state_20(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_304(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_23) - NT_qualified_uident => Shift(yy_state_24) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_305) _ => Error } } -// [126, qualified_uident → PACKAGE_NAME • DOT_UIDENT, COMMA / COLONCOLON / PLUS / RBRACKET / LBRACE / AS / FOR] +// [22, value_sig → LET lident • COLON type_, EOF / SEMI] ///| -fn yy_state_21(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_305(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DOT_UIDENT => Shift(yy_state_22) + T_COLON => Shift(yy_state_306) _ => Error } } -// [126, qualified_uident → PACKAGE_NAME DOT_UIDENT •, COMMA / COLONCOLON / PLUS / RBRACKET / LBRACE / AS / FOR] +// [22, value_sig → LET lident COLON • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_22(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_qualified_uident, yy_action_193) +fn yy_state_306(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_307) + _ => Error + } } -// [125, qualified_uident → UIDENT •, COMMA / COLONCOLON / PLUS / RBRACKET / LBRACE / AS / FOR] +// [22, value_sig → LET lident COLON type_ •, EOF / SEMI] ///| -fn yy_state_23(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_qualified_uident, yy_action_192) -} - -// [67, alias_sig → FNALIAS qualified_uident • COLONCOLON lident, EOF / SEMI] +fn yy_state_307(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_value_sig, yy_action_112) +} + +// [19, const_sig → nonempty_list(attribute) • CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [20, const_sig → nonempty_list(attribute) • PRIV CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [21, const_sig → nonempty_list(attribute) • PUB pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [25, value_sig → nonempty_list(attribute) • LET lident COLON type_, EOF / SEMI] +// [26, value_sig → nonempty_list(attribute) • PRIV LET lident COLON type_, EOF / SEMI] +// [27, value_sig → nonempty_list(attribute) • PUB pub_attr LET lident COLON type_, EOF / SEMI] +// [34, func_sig → nonempty_list(attribute) • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [35, func_sig → nonempty_list(attribute) • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [41, type_sig → nonempty_list(attribute) • TYPE type_decl_name_with_params, EOF / SEMI] +// [42, type_sig → nonempty_list(attribute) • PRIV TYPE type_decl_name_with_params, EOF / SEMI] +// [43, type_sig → nonempty_list(attribute) • PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [47, type_sig → nonempty_list(attribute) • SUBERROR uident option(type_), EOF / SEMI] +// [48, type_sig → nonempty_list(attribute) • PRIV SUBERROR uident option(type_), EOF / SEMI] +// [49, type_sig → nonempty_list(attribute) • PUB pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [53, type_sig → nonempty_list(attribute) • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [54, type_sig → nonempty_list(attribute) • PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) • PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [59, type_sig → nonempty_list(attribute) • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [60, type_sig → nonempty_list(attribute) • PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [61, type_sig → nonempty_list(attribute) • PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [65, type_sig → nonempty_list(attribute) • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [66, type_sig → nonempty_list(attribute) • PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [67, type_sig → nonempty_list(attribute) • PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [71, type_sig → nonempty_list(attribute) • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [72, type_sig → nonempty_list(attribute) • PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [73, type_sig → nonempty_list(attribute) • PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [77, impl_sig → nonempty_list(attribute) • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [78, impl_sig → nonempty_list(attribute) • PRIV IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [79, impl_sig → nonempty_list(attribute) • PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [83, impl_sig → nonempty_list(attribute) • IMPL qualified_uident FOR type_, EOF / SEMI] +// [84, impl_sig → nonempty_list(attribute) • PRIV IMPL qualified_uident FOR type_, EOF / SEMI] +// [85, impl_sig → nonempty_list(attribute) • PUB pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [89, trait_sig → nonempty_list(attribute) • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [90, trait_sig → nonempty_list(attribute) • PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [91, trait_sig → nonempty_list(attribute) • PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [95, trait_sig → nonempty_list(attribute) • TRAIT uident, EOF / SEMI] +// [96, trait_sig → nonempty_list(attribute) • PRIV TRAIT uident, EOF / SEMI] +// [97, trait_sig → nonempty_list(attribute) • PUB pub_attr TRAIT uident, EOF / SEMI] +// [103, alias_sig → nonempty_list(attribute) • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [104, alias_sig → nonempty_list(attribute) • PRIV TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [105, alias_sig → nonempty_list(attribute) • PUB pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [107, alias_sig → nonempty_list(attribute) • FNALIAS uident COLONCOLON lident, EOF / SEMI] +// [111, alias_sig → nonempty_list(attribute) • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [112, alias_sig → nonempty_list(attribute) • PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [113, alias_sig → nonempty_list(attribute) • PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [117, alias_sig → nonempty_list(attribute) • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → nonempty_list(attribute) • PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → nonempty_list(attribute) • PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_24(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_308(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Shift(yy_state_25) + T_USING => Shift(yy_state_309) + T_FNALIAS => Shift(yy_state_320) + T_TRAIT => Shift(yy_state_324) + T_IMPL => Shift(yy_state_330) + T_ENUM => Shift(yy_state_338) + T_STRUCT => Shift(yy_state_343) + T_SUBERROR => Shift(yy_state_351) + T_TYPE => Shift(yy_state_357) + T_FN => Shift(yy_state_361) + T_ASYNC => Shift(yy_state_370) + T_LET => Shift(yy_state_380) + T_PUB => Shift(yy_state_384) + T_PRIV => Shift(yy_state_458) + T_CONST => Shift(yy_state_517) _ => Error } } -// [67, alias_sig → FNALIAS qualified_uident COLONCOLON • lident, EOF / SEMI] -// [130, lident → • LIDENT, EOF / SEMI] +// [111, alias_sig → nonempty_list(attribute) USING • PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [117, alias_sig → nonempty_list(attribute) USING • PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_25(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_309(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_lident => Shift(yy_state_27) + T_PACKAGE_NAME => Shift(yy_state_310) _ => Error } } -// [130, lident → LIDENT •, EOF / LPAREN / COLON / SEMI] +// [111, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME • LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [117, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME • LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_26(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lident, yy_action_191) +fn yy_state_310(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_311) + _ => Error + } } -// [67, alias_sig → FNALIAS qualified_uident COLONCOLON lident •, EOF / SEMI] +// [111, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE • TYPE uident using_binder RBRACE, EOF / SEMI] +// [117, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE • TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_27(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_alias_sig, yy_action_190) +fn yy_state_311(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_TRAIT => Shift(yy_state_312) + T_TYPE => Shift(yy_state_316) + _ => Error + } } -// [64, alias_sig → TRAITALIAS • qualified_uident AS uident, EOF / SEMI] -// [125, qualified_uident → • UIDENT, AS] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, AS] +// [117, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TRAIT • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_28(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_312(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) T_UIDENT => Shift(yy_state_23) - NT_qualified_uident => Shift(yy_state_29) + NT_uident => Shift(yy_state_313) _ => Error } } -// [64, alias_sig → TRAITALIAS qualified_uident • AS uident, EOF / SEMI] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [117, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TRAIT uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_29(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_313(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_30) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_314) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [64, alias_sig → TRAITALIAS qualified_uident AS • uident, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI] +// [117, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TRAIT uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_30(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_314(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_32) + T_RBRACE => Shift(yy_state_315) _ => Error } } -// [129, uident → UIDENT •, UIDENT / EOF / ASYNC / LPAREN / COMMA / COLONCOLON / COLON / SEMI / LBRACKET / RBRACKET / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [117, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_31(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_uident, yy_action_189) +fn yy_state_315(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_alias_sig, yy_action_111) } -// [64, alias_sig → TRAITALIAS qualified_uident AS uident •, EOF / SEMI] - -///| -fn yy_state_32(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_alias_sig, yy_action_188) -} - -// [61, alias_sig → TYPEALIAS • type_ AS type_decl_name_with_params, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, QUESTION / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, QUESTION / AS] -// [86, simple_type → • LPAREN type_ RPAREN, QUESTION / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, QUESTION / AS] -// [88, simple_type → • AMPER qualified_uident_, QUESTION / AS] -// [89, simple_type → • UNDERSCORE, QUESTION / AS] -// [90, type_ → • simple_type, AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, AS] -// [127, qualified_uident_ → • UIDENT, QUESTION / LBRACKET / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, QUESTION / LBRACKET / AS] +// [111, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TYPE • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_33(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_316(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_89) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_317) _ => Error } } -// [128, qualified_uident_ → PACKAGE_NAME • DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [111, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TYPE uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_34(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_317(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DOT_UIDENT => Shift(yy_state_35) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_318) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [128, qualified_uident_ → PACKAGE_NAME DOT_UIDENT •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [111, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TYPE uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_35(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_qualified_uident_, yy_action_187) +fn yy_state_318(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_319) + _ => Error + } } -// [127, qualified_uident_ → UIDENT •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [111, alias_sig → nonempty_list(attribute) USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_36(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_qualified_uident_, yy_action_186) +fn yy_state_319(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_alias_sig, yy_action_110) } -// [91, type_ → ASYNC • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → ASYNC • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → ASYNC • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → ASYNC • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [107, alias_sig → nonempty_list(attribute) FNALIAS • uident COLONCOLON lident, EOF / SEMI] +// [187, uident → • UIDENT, COLONCOLON] ///| -fn yy_state_37(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_320(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_38) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_321) _ => Error } } -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [91, type_ → ASYNC LPAREN • type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → ASYNC LPAREN • type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → ASYNC LPAREN • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → ASYNC LPAREN • type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [107, alias_sig → nonempty_list(attribute) FNALIAS uident • COLONCOLON lident, EOF / SEMI] ///| -fn yy_state_38(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_321(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_RPAREN => Shift(yy_state_39) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_77) + T_COLONCOLON => Shift(yy_state_322) _ => Error } } -// [95, type_ → ASYNC LPAREN RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [107, alias_sig → nonempty_list(attribute) FNALIAS uident COLONCOLON • lident, EOF / SEMI] +// [188, lident → • LIDENT, EOF / SEMI] ///| -fn yy_state_39(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_322(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_40) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_323) _ => Error } } -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → ASYNC LPAREN RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [107, alias_sig → nonempty_list(attribute) FNALIAS uident COLONCOLON lident •, EOF / SEMI] ///| -fn yy_state_40(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_323(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_alias_sig, yy_action_109) +} + +// [89, trait_sig → nonempty_list(attribute) TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [95, trait_sig → nonempty_list(attribute) TRAIT • uident, EOF / SEMI] +// [187, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] + +///| +fn yy_state_324(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - NT_return_type => Shift(yy_state_42) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_325) _ => Error } } -// [99, return_type → type_ •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [89, trait_sig → nonempty_list(attribute) TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [95, trait_sig → nonempty_list(attribute) TRAIT uident •, EOF / SEMI] +// [209, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] ///| -fn yy_state_41(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_return_type, yy_action_185) +fn yy_state_325(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_40) + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => + Shift(yy_state_326) + T_LBRACE => + Reduce( + 0, + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, + yy_action_236, + ) + T_EOF | T_SEMI => Reduce(3, NT_trait_sig, yy_action_108) + _ => Error + } } -// [95, type_ → ASYNC LPAREN RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [89, trait_sig → nonempty_list(attribute) TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] ///| -fn yy_state_42(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_, yy_action_184) +fn yy_state_326(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_327) + _ => Error + } } -// [89, simple_type → UNDERSCORE •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] +// [36, trait_method_sig → • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [37, trait_method_sig → • nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [89, trait_sig → nonempty_list(attribute) TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] +// [211, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT] ///| -fn yy_state_43(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_type, yy_action_183) +fn yy_state_327(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_LIDENT => Shift(yy_state_36) + NT_trait_method_sig => Shift(yy_state_50) + NT_nonempty_list_attribute_ => Shift(yy_state_53) + NT_lident => Shift(yy_state_132) + NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_328) + _ => Error + } } -// [88, simple_type → AMPER • qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] +// [89, trait_sig → nonempty_list(attribute) TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] ///| -fn yy_state_44(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_328(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - NT_qualified_uident_ => Shift(yy_state_45) + T_RBRACE => Shift(yy_state_329) _ => Error } } -// [88, simple_type → AMPER qualified_uident_ •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] +// [89, trait_sig → nonempty_list(attribute) TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] ///| -fn yy_state_45(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_type, yy_action_182) +fn yy_state_329(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_trait_sig, yy_action_107) } -// [87, simple_type → qualified_uident_ • optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [104, optional_type_arguments → • LBRACKET separated_nonempty_list(COMMA,type_) RBRACKET, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [105, optional_type_arguments → •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] - -///| -fn yy_state_46(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LBRACKET => Shift(yy_state_47) - NT_optional_type_arguments => Shift(yy_state_76) - T_EOF - | T_RAISE - | T_EQUAL - | T_RPAREN - | T_COMMA - | T_QUESTION - | T_SEMI - | T_RBRACKET - | T_RBRACE - | T_AS => Reduce(0, NT_optional_type_arguments, yy_action_181) - _ => Error - } -} - -// [84, simple_type → • simple_type QUESTION, COMMA / QUESTION / RBRACKET] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, COMMA / QUESTION / RBRACKET] -// [86, simple_type → • LPAREN type_ RPAREN, COMMA / QUESTION / RBRACKET] -// [87, simple_type → • qualified_uident_ optional_type_arguments, COMMA / QUESTION / RBRACKET] -// [88, simple_type → • AMPER qualified_uident_, COMMA / QUESTION / RBRACKET] -// [89, simple_type → • UNDERSCORE, COMMA / QUESTION / RBRACKET] -// [90, type_ → • simple_type, COMMA / RBRACKET] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, COMMA / RBRACKET] -// [104, optional_type_arguments → LBRACKET • separated_nonempty_list(COMMA,type_) RBRACKET, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, COMMA / QUESTION / LBRACKET / RBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, COMMA / QUESTION / LBRACKET / RBRACKET] -// [171, separated_nonempty_list(COMMA,type_) → • type_, RBRACKET] -// [172, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RBRACKET] +// [77, impl_sig → nonempty_list(attribute) IMPL • type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [83, impl_sig → nonempty_list(attribute) IMPL • qualified_uident FOR type_, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, UIDENT / PACKAGE_NAME] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_47(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_330(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - NT_type_ => Shift(yy_state_48) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_74) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + T_LBRACKET => Shift(yy_state_142) + NT_qualified_uident => Shift(yy_state_331) + NT_type_params_with_constraints => Shift(yy_state_334) _ => Error } } -// [171, separated_nonempty_list(COMMA,type_) → type_ •, RPAREN / RBRACKET] -// [172, separated_nonempty_list(COMMA,type_) → type_ • COMMA separated_nonempty_list(COMMA,type_), RPAREN / RBRACKET] +// [83, impl_sig → nonempty_list(attribute) IMPL qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_48(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_331(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_49) - T_RPAREN | T_RBRACKET => - Reduce(1, NT_separated_nonempty_list_COMMA_type__, yy_action_180) + T_FOR => Shift(yy_state_332) _ => Error } } -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION / RBRACKET] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION / RBRACKET] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION / RBRACKET] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION / RBRACKET] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION / RBRACKET] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION / RBRACKET] -// [90, type_ → • simple_type, RPAREN / COMMA / RBRACKET] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA / RBRACKET] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET / RBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET / RBRACKET] -// [171, separated_nonempty_list(COMMA,type_) → • type_, RPAREN / RBRACKET] -// [172, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN / RBRACKET] -// [172, separated_nonempty_list(COMMA,type_) → type_ COMMA • separated_nonempty_list(COMMA,type_), RPAREN / RBRACKET] +// [83, impl_sig → nonempty_list(attribute) IMPL qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_49(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_332(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - NT_type_ => Shift(yy_state_48) - NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_50) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_333) _ => Error } } -// [172, separated_nonempty_list(COMMA,type_) → type_ COMMA separated_nonempty_list(COMMA,type_) •, RPAREN / RBRACKET] +// [83, impl_sig → nonempty_list(attribute) IMPL qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_50(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_separated_nonempty_list_COMMA_type__, yy_action_179) -} - -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [85, simple_type → LPAREN • type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → LPAREN • type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → LPAREN • type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → LPAREN • type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → LPAREN • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → LPAREN • type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +fn yy_state_333(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_impl_sig, yy_action_106) +} + +// [77, impl_sig → nonempty_list(attribute) IMPL type_params_with_constraints • qualified_uident FOR type_, EOF / SEMI] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_51(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_334(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - T_RPAREN => Shift(yy_state_52) - NT_type_ => Shift(yy_state_61) - NT_simple_type => Shift(yy_state_73) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_qualified_uident => Shift(yy_state_335) _ => Error } } -// [96, type_ → LPAREN RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [77, impl_sig → nonempty_list(attribute) IMPL type_params_with_constraints qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_52(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_335(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_53) + T_FOR => Shift(yy_state_336) _ => Error } } -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → LPAREN RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [77, impl_sig → nonempty_list(attribute) IMPL type_params_with_constraints qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_53(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_336(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_return_type => Shift(yy_state_54) - NT_simple_type => Shift(yy_state_55) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_337) _ => Error } } -// [96, type_ → LPAREN RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [77, impl_sig → nonempty_list(attribute) IMPL type_params_with_constraints qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_54(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_type_, yy_action_178) +fn yy_state_337(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_impl_sig, yy_action_105) } -// [84, simple_type → simple_type • QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → simple_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → simple_type • RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → simple_type • RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → simple_type • RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [71, type_sig → nonempty_list(attribute) ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] +// [187, uident → • UIDENT, LBRACKET / LBRACE] ///| -fn yy_state_55(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_338(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RAISE => Shift(yy_state_56) - T_QUESTION => Shift(yy_state_60) - T_EOF - | T_EQUAL - | T_RPAREN - | T_COMMA - | T_SEMI - | T_RBRACKET - | T_RBRACE - | T_AS => Reduce(1, NT_type_, yy_action_177) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_339) _ => Error } } -// [100, return_type → simple_type RAISE •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → simple_type RAISE • error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → simple_type RAISE • QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [103, error_type → • qualified_uident_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [71, type_sig → nonempty_list(attribute) ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] ///| -fn yy_state_56(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_339(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - NT_qualified_uident_ => Shift(yy_state_57) - T_QUESTION => Shift(yy_state_58) - NT_error_type => Shift(yy_state_59) - T_EOF - | T_EQUAL - | T_RPAREN - | T_COMMA - | T_SEMI - | T_RBRACKET - | T_RBRACE - | T_AS => Reduce(2, NT_return_type, yy_action_176) + T_LBRACE => Shift(yy_state_340) _ => Error } } -// [103, error_type → qualified_uident_ •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] - -///| -fn yy_state_57(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_error_type, yy_action_175) -} - -// [102, return_type → simple_type RAISE QUESTION •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] - -///| -fn yy_state_58(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_return_type, yy_action_174) -} - -// [101, return_type → simple_type RAISE error_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] - -///| -fn yy_state_59(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_return_type, yy_action_173) -} - -// [84, simple_type → simple_type QUESTION •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] +// [71, type_sig → nonempty_list(attribute) ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_60(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_type, yy_action_172) +fn yy_state_340(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_341) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) + _ => Error + } } -// [85, simple_type → LPAREN type_ • COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → LPAREN type_ • RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → LPAREN type_ • COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → LPAREN type_ • COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → LPAREN type_ • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [71, type_sig → nonempty_list(attribute) ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_61(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_341(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_62) - T_COMMA => Shift(yy_state_65) + T_RBRACE => Shift(yy_state_342) _ => Error } } -// [86, simple_type → LPAREN type_ RPAREN •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → LPAREN type_ RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [71, type_sig → nonempty_list(attribute) ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_62(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_THIN_ARROW => Shift(yy_state_63) - T_EOF - | T_RAISE - | T_EQUAL - | T_RPAREN - | T_COMMA - | T_QUESTION - | T_SEMI - | T_RBRACKET - | T_RBRACE - | T_AS => Reduce(3, NT_simple_type, yy_action_171) - _ => Error - } -} - -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → LPAREN type_ RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +fn yy_state_342(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_104) +} + +// [59, type_sig → nonempty_list(attribute) STRUCT • type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [65, type_sig → nonempty_list(attribute) STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] +// [187, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] ///| -fn yy_state_63(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_343(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_64) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_344) _ => Error } } -// [98, type_ → LPAREN type_ RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] - -///| -fn yy_state_64(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_, yy_action_170) -} - -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [85, simple_type → LPAREN type_ COMMA • separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → LPAREN type_ COMMA • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → LPAREN type_ COMMA • separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [171, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] -// [172, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] +// [59, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params • LBRACE record_decl_body RBRACE, EOF / SEMI] +// [65, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] ///| -fn yy_state_65(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_344(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - NT_type_ => Shift(yy_state_48) - T_LPAREN => Shift(yy_state_51) - T_RPAREN => Shift(yy_state_66) - NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_69) - NT_simple_type => Shift(yy_state_73) + T_LPAREN => Shift(yy_state_345) + T_LBRACE => Shift(yy_state_348) _ => Error } } -// [93, type_ → LPAREN type_ COMMA RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [65, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [205, separated_list(COMMA,type_) → •, RPAREN] +// [206, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] ///| -fn yy_state_66(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_345(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_67) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_208) + NT_separated_list_COMMA_type__ => Shift(yy_state_346) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_142) _ => Error } } -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → LPAREN type_ COMMA RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [65, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] ///| -fn yy_state_67(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_346(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_68) + T_RPAREN => Shift(yy_state_347) _ => Error } } -// [93, type_ → LPAREN type_ COMMA RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [65, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] ///| -fn yy_state_68(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_, yy_action_169) +fn yy_state_347(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_103) +} + +// [59, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params LBRACE • record_decl_body RBRACE, EOF / SEMI] +// [124, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [125, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [126, record_decl_constr → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [127, record_decl_constr → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [128, record_decl_constr → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [130, record_decl_body → •, RBRACE] +// [131, record_decl_body → • record_decl_constr, RBRACE] +// [132, record_decl_body → • record_decl_body_nonempty, RBRACE] +// [133, record_decl_body_nonempty → • record_decl_field SEMI record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → • record_decl_field, RBRACE] +// [135, record_decl_body_nonempty → • record_decl_field SEMI record_decl_body_nonempty, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / ASYNC / FN / MUTABLE] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / ASYNC / FN / MUTABLE] + +///| +fn yy_state_348(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_MUTABLE => Shift(yy_state_184) + NT_record_decl_field => Shift(yy_state_212) + T_FN => Shift(yy_state_216) + T_ASYNC => Shift(yy_state_232) + NT_nonempty_list_attribute_ => Shift(yy_state_242) + NT_boption_MUTABLE_ => Shift(yy_state_266) + NT_record_decl_body_nonempty => Shift(yy_state_270) + NT_record_decl_constr => Shift(yy_state_271) + NT_record_decl_body => Shift(yy_state_349) + T_RBRACE => Reduce(0, NT_record_decl_body, yy_action_139) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } } -// [85, simple_type → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) • RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [59, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params LBRACE record_decl_body • RBRACE, EOF / SEMI] ///| -fn yy_state_69(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_349(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_70) + T_RBRACE => Shift(yy_state_350) _ => Error } } -// [85, simple_type → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [59, type_sig → nonempty_list(attribute) STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE •, EOF / SEMI] ///| -fn yy_state_70(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_THIN_ARROW => Shift(yy_state_71) - T_EOF - | T_RAISE - | T_EQUAL - | T_RPAREN - | T_COMMA - | T_QUESTION - | T_SEMI - | T_RBRACKET - | T_RBRACE - | T_AS => Reduce(5, NT_simple_type, yy_action_168) - _ => Error - } -} - -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +fn yy_state_350(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_102) +} + +// [47, type_sig → nonempty_list(attribute) SUBERROR • uident option(type_), EOF / SEMI] +// [53, type_sig → nonempty_list(attribute) SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] ///| -fn yy_state_71(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_351(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_72) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_352) _ => Error } } -// [94, type_ → LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [47, type_sig → nonempty_list(attribute) SUBERROR uident • option(type_), EOF / SEMI] +// [53, type_sig → nonempty_list(attribute) SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [201, option(type_) → •, EOF / SEMI] +// [202, option(type_) → • type_, EOF / SEMI] ///| -fn yy_state_72(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_, yy_action_166) +fn yy_state_352(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_276) + T_LBRACE => Shift(yy_state_353) + NT_option_type__ => Shift(yy_state_356) + T_EOF | T_SEMI => Reduce(0, NT_option_type__, yy_action_120) + _ => Error + } } -// [84, simple_type → simple_type • QUESTION, EOF / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → simple_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [53, type_sig → nonempty_list(attribute) SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_73(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_353(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_QUESTION => Shift(yy_state_60) - T_EOF - | T_EQUAL - | T_RPAREN - | T_COMMA - | T_SEMI - | T_RBRACKET - | T_RBRACE - | T_AS => Reduce(1, NT_type_, yy_action_177) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_354) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [104, optional_type_arguments → LBRACKET separated_nonempty_list(COMMA,type_) • RBRACKET, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] +// [53, type_sig → nonempty_list(attribute) SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_74(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_354(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_75) + T_RBRACE => Shift(yy_state_355) _ => Error } } -// [104, optional_type_arguments → LBRACKET separated_nonempty_list(COMMA,type_) RBRACKET •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] +// [53, type_sig → nonempty_list(attribute) SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_75(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_optional_type_arguments, yy_action_164) +fn yy_state_355(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_101) } -// [87, simple_type → qualified_uident_ optional_type_arguments •, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] +// [47, type_sig → nonempty_list(attribute) SUBERROR uident option(type_) •, EOF / SEMI] ///| -fn yy_state_76(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_type, yy_action_163) +fn yy_state_356(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_type_sig, yy_action_100) } -// [91, type_ → ASYNC LPAREN type_ • COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → ASYNC LPAREN type_ • COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → ASYNC LPAREN type_ • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [41, type_sig → nonempty_list(attribute) TYPE • type_decl_name_with_params, EOF / SEMI] +// [103, alias_sig → nonempty_list(attribute) TYPE • type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / EQUAL / SEMI] +// [187, uident → • UIDENT, EOF / EQUAL / SEMI / LBRACKET] ///| -fn yy_state_77(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_357(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_78) - T_COMMA => Shift(yy_state_81) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_358) _ => Error } } -// [97, type_ → ASYNC LPAREN type_ RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [41, type_sig → nonempty_list(attribute) TYPE type_decl_name_with_params •, EOF / SEMI] +// [103, alias_sig → nonempty_list(attribute) TYPE type_decl_name_with_params • EQUAL type_, EOF / SEMI] ///| -fn yy_state_78(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_358(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_79) + T_EQUAL => Shift(yy_state_359) + T_EOF | T_SEMI => Reduce(3, NT_type_sig, yy_action_99) _ => Error } } -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → ASYNC LPAREN type_ RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [103, alias_sig → nonempty_list(attribute) TYPE type_decl_name_with_params EQUAL • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_79(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_359(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_80) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_360) _ => Error } } -// [97, type_ → ASYNC LPAREN type_ RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [103, alias_sig → nonempty_list(attribute) TYPE type_decl_name_with_params EQUAL type_ •, EOF / SEMI] ///| -fn yy_state_80(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_, yy_action_162) -} - -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [91, type_ → ASYNC LPAREN type_ COMMA • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → ASYNC LPAREN type_ COMMA • separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [171, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] -// [172, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] - -///| -fn yy_state_81(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - NT_type_ => Shift(yy_state_48) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_82) - T_RPAREN => Shift(yy_state_86) - _ => Error - } +fn yy_state_360(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_alias_sig, yy_action_98) } -// [92, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) • RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [35, func_sig → nonempty_list(attribute) FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] ///| -fn yy_state_82(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_361(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_83) + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_362) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) _ => Error } } -// [92, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] ///| -fn yy_state_83(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_362(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_84) + NT_method_self_type_coloncolon => Shift(yy_state_219) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_363) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) _ => Error } } -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] ///| -fn yy_state_84(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_363(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_85) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_364) _ => Error } } -// [92, type_ → ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] - -///| -fn yy_state_85(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(8, NT_type_, yy_action_160) -} - -// [91, type_ → ASYNC LPAREN type_ COMMA RPAREN • THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_86(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_364(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_87) + T_LPAREN => Shift(yy_state_365) _ => Error } } -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / RBRACKET / RBRACE / AS] -// [90, type_ → • simple_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [91, type_ → ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW • return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [99, return_type → • type_, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [100, return_type → • simple_type RAISE, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [101, return_type → • simple_type RAISE error_type, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [102, return_type → • simple_type RAISE QUESTION, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / EQUAL / RPAREN / COMMA / QUESTION / SEMI / LBRACKET / RBRACKET / RBRACE / AS] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] ///| -fn yy_state_87(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_365(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_88) + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_366) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) _ => Error } } -// [91, type_ → ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type •, EOF / EQUAL / RPAREN / COMMA / SEMI / RBRACKET / RBRACE / AS] - -///| -fn yy_state_88(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_, yy_action_157) -} - -// [61, alias_sig → TYPEALIAS type_ • AS type_decl_name_with_params, EOF / SEMI] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_89(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_366(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_90) + T_RPAREN => Shift(yy_state_367) _ => Error } } -// [61, alias_sig → TYPEALIAS type_ AS • type_decl_name_with_params, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI / LBRACKET] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_90(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_367(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_103) + T_THIN_ARROW => Shift(yy_state_368) _ => Error } } -// [79, type_params_no_constraints → • LBRACKET separated_list(COMMA,type_param_no_constraints) RBRACKET, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] -// [80, optional_type_params_no_constraints → •, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] -// [81, optional_type_params_no_constraints → • type_params_no_constraints, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] -// [83, type_decl_name_with_params → uident • optional_type_params_no_constraints, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [161, return_type → • type_, EOF / SEMI] +// [162, return_type → • simple_type RAISE, EOF / SEMI] +// [163, return_type → • simple_type RAISE error_type, EOF / SEMI] +// [164, return_type → • simple_type RAISE QUESTION, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_91(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_368(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_optional_type_params_no_constraints => Shift(yy_state_92) - NT_type_params_no_constraints => Shift(yy_state_93) - T_LBRACKET => Shift(yy_state_94) - T_UIDENT - | T_EOF - | T_ASYNC - | T_LPAREN - | T_SEMI - | T_UNDERSCORE - | T_LBRACE - | T_AMPER - | T_PACKAGE_NAME => - Reduce(0, NT_optional_type_params_no_constraints, yy_action_156) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_369) _ => Error } } -// [83, type_decl_name_with_params → uident optional_type_params_no_constraints •, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [35, func_sig → nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, EOF / SEMI] ///| -fn yy_state_92(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_type_decl_name_with_params, yy_action_155) +fn yy_state_369(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(10, NT_func_sig, yy_action_96) } -// [81, optional_type_params_no_constraints → type_params_no_constraints •, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [34, func_sig → nonempty_list(attribute) ASYNC • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_93(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_optional_type_params_no_constraints, yy_action_154) +fn yy_state_370(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FN => Shift(yy_state_371) + _ => Error + } } -// [77, type_param_no_constraints → • uident, COMMA / RBRACKET] -// [78, type_param_no_constraints → • UNDERSCORE, COMMA / RBRACKET] -// [79, type_params_no_constraints → LBRACKET • separated_list(COMMA,type_param_no_constraints) RBRACKET, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] -// [129, uident → • UIDENT, COMMA / RBRACKET] -// [169, separated_list(COMMA,type_param_no_constraints) → •, RBRACKET] -// [170, separated_list(COMMA,type_param_no_constraints) → • separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] -// [185, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints, RBRACKET] -// [186, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints COMMA separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] +// [34, func_sig → nonempty_list(attribute) ASYNC FN • loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / AMPER] +// [193, loption(type_params_with_constraints) → •, LIDENT / UIDENT / AMPER] +// [194, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT / AMPER] ///| -fn yy_state_94(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_371(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_type_param_no_constraints => Shift(yy_state_95) - T_UNDERSCORE => Shift(yy_state_98) - NT_uident => Shift(yy_state_99) - NT_separated_nonempty_list_COMMA_type_param_no_constraints_ => - Shift(yy_state_100) - NT_separated_list_COMMA_type_param_no_constraints_ => Shift(yy_state_101) - T_RBRACKET => - Reduce( - 0, - NT_separated_list_COMMA_type_param_no_constraints_, - yy_action_153, - ) + T_LBRACKET => Shift(yy_state_142) + NT_type_params_with_constraints => Shift(yy_state_217) + NT_loption_type_params_with_constraints_ => Shift(yy_state_372) + T_LIDENT | T_UIDENT | T_AMPER => + Reduce(0, NT_loption_type_params_with_constraints_, yy_action_135) _ => Error } } -// [185, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints •, RBRACKET] -// [186, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints • COMMA separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] +// [28, method_self_type_coloncolon → • UIDENT COLONCOLON, LIDENT] +// [29, method_self_type_coloncolon → • AMPER UIDENT COLONCOLON, LIDENT] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) • option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [195, option(method_self_type_coloncolon) → •, LIDENT] +// [196, option(method_self_type_coloncolon) → • method_self_type_coloncolon, LIDENT] ///| -fn yy_state_95(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_372(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_96) - T_RBRACKET => - Reduce( - 1, - NT_separated_nonempty_list_COMMA_type_param_no_constraints_, - yy_action_152, - ) + NT_method_self_type_coloncolon => Shift(yy_state_219) + T_AMPER => Shift(yy_state_227) + T_UIDENT => Shift(yy_state_230) + NT_option_method_self_type_coloncolon_ => Shift(yy_state_373) + T_LIDENT => Reduce(0, NT_option_method_self_type_coloncolon_, yy_action_133) _ => Error } } -// [77, type_param_no_constraints → • uident, COMMA / RBRACKET] -// [78, type_param_no_constraints → • UNDERSCORE, COMMA / RBRACKET] -// [129, uident → • UIDENT, COMMA / RBRACKET] -// [185, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints, RBRACKET] -// [186, separated_nonempty_list(COMMA,type_param_no_constraints) → • type_param_no_constraints COMMA separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] -// [186, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints COMMA • separated_nonempty_list(COMMA,type_param_no_constraints), RBRACKET] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] ///| -fn yy_state_96(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_373(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_type_param_no_constraints => Shift(yy_state_95) - NT_separated_nonempty_list_COMMA_type_param_no_constraints_ => - Shift(yy_state_97) - T_UNDERSCORE => Shift(yy_state_98) - NT_uident => Shift(yy_state_99) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_374) _ => Error } } -// [186, separated_nonempty_list(COMMA,type_param_no_constraints) → type_param_no_constraints COMMA separated_nonempty_list(COMMA,type_param_no_constraints) •, RBRACKET] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_97(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_COMMA_type_param_no_constraints_, - yy_action_151, - ) +fn yy_state_374(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_375) + _ => Error + } } -// [78, type_param_no_constraints → UNDERSCORE •, COMMA / RBRACKET] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [168, parameter → • type_, RPAREN / COMMA] +// [169, parameter → • post_label COLON type_, RPAREN / COMMA] +// [170, parameter → • label QUESTION COLON type_, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [189, label → • LIDENT, QUESTION] +// [190, post_label → • POST_LABEL, COLON] +// [197, separated_list(COMMA,parameter) → •, RPAREN] +// [198, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] +// [231, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] +// [232, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] ///| -fn yy_state_98(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_type_param_no_constraints, yy_action_150) +fn yy_state_375(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_parameter => Shift(yy_state_56) + T_POST_LABEL => Shift(yy_state_59) + T_LIDENT => Shift(yy_state_60) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + NT_label => Shift(yy_state_64) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_post_label => Shift(yy_state_120) + NT_type_ => Shift(yy_state_123) + NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_124) + NT_separated_list_COMMA_parameter_ => Shift(yy_state_376) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_227) + _ => Error + } } -// [77, type_param_no_constraints → uident •, COMMA / RBRACKET] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_99(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_type_param_no_constraints, yy_action_149) +fn yy_state_376(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_377) + _ => Error + } } -// [170, separated_list(COMMA,type_param_no_constraints) → separated_nonempty_list(COMMA,type_param_no_constraints) •, RBRACKET] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, EOF / SEMI] ///| -fn yy_state_100(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 1, - NT_separated_list_COMMA_type_param_no_constraints_, - yy_action_148, - ) +fn yy_state_377(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_THIN_ARROW => Shift(yy_state_378) + _ => Error + } } -// [79, type_params_no_constraints → LBRACKET separated_list(COMMA,type_param_no_constraints) • RBRACKET, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / RAISE / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / RAISE / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / RAISE / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [161, return_type → • type_, EOF / SEMI] +// [162, return_type → • simple_type RAISE, EOF / SEMI] +// [163, return_type → • simple_type RAISE error_type, EOF / SEMI] +// [164, return_type → • simple_type RAISE QUESTION, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_101(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_378(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_102) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + NT_type_ => Shift(yy_state_72) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_86) + NT_return_type => Shift(yy_state_379) _ => Error } } -// [79, type_params_no_constraints → LBRACKET separated_list(COMMA,type_param_no_constraints) RBRACKET •, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [34, func_sig → nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, EOF / SEMI] ///| -fn yy_state_102(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_params_no_constraints, yy_action_147) +fn yy_state_379(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(11, NT_func_sig, yy_action_93) } -// [61, alias_sig → TYPEALIAS type_ AS type_decl_name_with_params •, EOF / SEMI] +// [25, value_sig → nonempty_list(attribute) LET • lident COLON type_, EOF / SEMI] +// [188, lident → • LIDENT, COLON] ///| -fn yy_state_103(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_alias_sig, yy_action_146) +fn yy_state_380(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_381) + _ => Error + } } -// [55, trait_sig → TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [58, trait_sig → TRAIT • uident, EOF / SEMI] -// [129, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] +// [25, value_sig → nonempty_list(attribute) LET lident • COLON type_, EOF / SEMI] ///| -fn yy_state_104(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_381(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_105) + T_COLON => Shift(yy_state_382) _ => Error } } -// [55, trait_sig → TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [58, trait_sig → TRAIT uident •, EOF / SEMI] -// [153, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] -// [154, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [25, value_sig → nonempty_list(attribute) LET lident COLON • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] ///| -fn yy_state_105(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_382(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_106) - NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => - Shift(yy_state_111) - T_LBRACE => - Reduce( - 0, - NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, - yy_action_144, - ) - T_EOF | T_SEMI => Reduce(2, NT_trait_sig, yy_action_145) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_383) _ => Error } } -// [125, qualified_uident → • UIDENT, PLUS / LBRACE] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, PLUS / LBRACE] -// [151, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident, LBRACE] -// [152, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident PLUS separated_nonempty_list(PLUS,qualified_uident), LBRACE] -// [154, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → COLON • separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [25, value_sig → nonempty_list(attribute) LET lident COLON type_ •, EOF / SEMI] ///| -fn yy_state_106(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_23) - NT_separated_nonempty_list_PLUS_qualified_uident_ => Shift(yy_state_107) - NT_qualified_uident => Shift(yy_state_108) - _ => Error - } +fn yy_state_383(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_value_sig, yy_action_92) } -// [154, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → COLON separated_nonempty_list(PLUS,qualified_uident) •, LBRACE] +// [21, const_sig → nonempty_list(attribute) PUB • pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [27, value_sig → nonempty_list(attribute) PUB • pub_attr LET lident COLON type_, EOF / SEMI] +// [43, type_sig → nonempty_list(attribute) PUB • pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [49, type_sig → nonempty_list(attribute) PUB • pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) PUB • pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [61, type_sig → nonempty_list(attribute) PUB • pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [67, type_sig → nonempty_list(attribute) PUB • pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [73, type_sig → nonempty_list(attribute) PUB • pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [79, impl_sig → nonempty_list(attribute) PUB • pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [85, impl_sig → nonempty_list(attribute) PUB • pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [91, trait_sig → nonempty_list(attribute) PUB • pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [97, trait_sig → nonempty_list(attribute) PUB • pub_attr TRAIT uident, EOF / SEMI] +// [105, alias_sig → nonempty_list(attribute) PUB • pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [113, alias_sig → nonempty_list(attribute) PUB • pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → nonempty_list(attribute) PUB • pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [180, pub_attr → •, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] +// [181, pub_attr → • LPAREN READONLY RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] +// [182, pub_attr → • LPAREN LIDENT RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] ///| -fn yy_state_107(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 2, - NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, - yy_action_142, - ) +fn yy_state_384(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_385) + NT_pub_attr => Shift(yy_state_390) + T_STRUCT + | T_ENUM + | T_TRAIT + | T_IMPL + | T_LET + | T_CONST + | T_TYPE + | T_SUBERROR + | T_USING => Reduce(0, NT_pub_attr, yy_action_91) + _ => Error + } } -// [151, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident •, LBRACE] -// [152, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident • PLUS separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [181, pub_attr → LPAREN • READONLY RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] +// [182, pub_attr → LPAREN • LIDENT RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] ///| -fn yy_state_108(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_385(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PLUS => Shift(yy_state_109) - T_LBRACE => - Reduce( - 1, - NT_separated_nonempty_list_PLUS_qualified_uident_, - yy_action_141, - ) + T_LIDENT => Shift(yy_state_386) + T_READONLY => Shift(yy_state_388) _ => Error } } -// [125, qualified_uident → • UIDENT, PLUS / LBRACE] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, PLUS / LBRACE] -// [151, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident, LBRACE] -// [152, separated_nonempty_list(PLUS,qualified_uident) → • qualified_uident PLUS separated_nonempty_list(PLUS,qualified_uident), LBRACE] -// [152, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident PLUS • separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [182, pub_attr → LPAREN LIDENT • RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] ///| -fn yy_state_109(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_386(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_23) - NT_qualified_uident => Shift(yy_state_108) - NT_separated_nonempty_list_PLUS_qualified_uident_ => Shift(yy_state_110) + T_RPAREN => Shift(yy_state_387) _ => Error } } -// [152, separated_nonempty_list(PLUS,qualified_uident) → qualified_uident PLUS separated_nonempty_list(PLUS,qualified_uident) •, LBRACE] +// [182, pub_attr → LPAREN LIDENT RPAREN •, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] ///| -fn yy_state_110(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_PLUS_qualified_uident_, - yy_action_140, - ) +fn yy_state_387(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_pub_attr, yy_action_90) } -// [55, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [181, pub_attr → LPAREN READONLY • RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] ///| -fn yy_state_111(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_388(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_112) + T_RPAREN => Shift(yy_state_389) _ => Error } } -// [24, trait_method_sig → • lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] -// [55, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [130, lident → • LIDENT, LPAREN] -// [155, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] -// [156, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [181, pub_attr → LPAREN READONLY RPAREN •, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] ///| -fn yy_state_112(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_trait_method_sig => Shift(yy_state_113) - NT_lident => Shift(yy_state_116) - NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_134) - _ => Error - } +fn yy_state_389(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_pub_attr, yy_action_89) } -// [155, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig •, RBRACE] -// [156, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig • SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [21, const_sig → nonempty_list(attribute) PUB pub_attr • CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [27, value_sig → nonempty_list(attribute) PUB pub_attr • LET lident COLON type_, EOF / SEMI] +// [43, type_sig → nonempty_list(attribute) PUB pub_attr • TYPE type_decl_name_with_params, EOF / SEMI] +// [49, type_sig → nonempty_list(attribute) PUB pub_attr • SUBERROR uident option(type_), EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) PUB pub_attr • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [61, type_sig → nonempty_list(attribute) PUB pub_attr • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [67, type_sig → nonempty_list(attribute) PUB pub_attr • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [73, type_sig → nonempty_list(attribute) PUB pub_attr • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [79, impl_sig → nonempty_list(attribute) PUB pub_attr • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [85, impl_sig → nonempty_list(attribute) PUB pub_attr • IMPL qualified_uident FOR type_, EOF / SEMI] +// [91, trait_sig → nonempty_list(attribute) PUB pub_attr • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [97, trait_sig → nonempty_list(attribute) PUB pub_attr • TRAIT uident, EOF / SEMI] +// [105, alias_sig → nonempty_list(attribute) PUB pub_attr • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_113(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_390(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_114) - T_RBRACE => - Reduce( - 1, - NT_separated_nonempty_list_SEMI_trait_method_sig_, - yy_action_139, - ) + T_USING => Shift(yy_state_391) + T_TRAIT => Shift(yy_state_402) + T_IMPL => Shift(yy_state_408) + T_ENUM => Shift(yy_state_416) + T_STRUCT => Shift(yy_state_421) + T_SUBERROR => Shift(yy_state_429) + T_TYPE => Shift(yy_state_435) + T_LET => Shift(yy_state_439) + T_CONST => Shift(yy_state_443) _ => Error } } -// [24, trait_method_sig → • lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] -// [130, lident → • LIDENT, LPAREN] -// [155, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] -// [156, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] -// [156, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig SEMI • separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr USING • PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr USING • PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_114(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_391(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_trait_method_sig => Shift(yy_state_113) - NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_115) - NT_lident => Shift(yy_state_116) + T_PACKAGE_NAME => Shift(yy_state_392) _ => Error } } -// [156, separated_nonempty_list(SEMI,trait_method_sig) → trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig) •, RBRACE] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME • LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME • LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_115(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_SEMI_trait_method_sig_, - yy_action_138, - ) +fn yy_state_392(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_393) + _ => Error + } } -// [24, trait_method_sig → lident • LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] - -///| -fn yy_state_116(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LPAREN => Shift(yy_state_117) - _ => Error - } -} - -// [24, trait_method_sig → lident LPAREN • separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [111, trait_method_parameter → • type_, RPAREN / COMMA] -// [112, trait_method_parameter → • post_label COLON type_, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [132, post_label → • POST_LABEL, COLON] -// [141, separated_list(COMMA,trait_method_parameter) → •, RPAREN] -// [142, separated_list(COMMA,trait_method_parameter) → • separated_nonempty_list(COMMA,trait_method_parameter), RPAREN] -// [177, separated_nonempty_list(COMMA,trait_method_parameter) → • trait_method_parameter, RPAREN] -// [178, separated_nonempty_list(COMMA,trait_method_parameter) → • trait_method_parameter COMMA separated_nonempty_list(COMMA,trait_method_parameter), RPAREN] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE • TYPE uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE • TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_117(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_393(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_trait_method_parameter => Shift(yy_state_118) - T_POST_LABEL => Shift(yy_state_121) - NT_post_label => Shift(yy_state_122) - NT_type_ => Shift(yy_state_125) - NT_separated_nonempty_list_COMMA_trait_method_parameter_ => - Shift(yy_state_126) - NT_separated_list_COMMA_trait_method_parameter_ => Shift(yy_state_127) - T_RPAREN => - Reduce(0, NT_separated_list_COMMA_trait_method_parameter_, yy_action_137) + T_TRAIT => Shift(yy_state_394) + T_TYPE => Shift(yy_state_398) _ => Error } } -// [177, separated_nonempty_list(COMMA,trait_method_parameter) → trait_method_parameter •, RPAREN] -// [178, separated_nonempty_list(COMMA,trait_method_parameter) → trait_method_parameter • COMMA separated_nonempty_list(COMMA,trait_method_parameter), RPAREN] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_118(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_394(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_119) - T_RPAREN => - Reduce( - 1, - NT_separated_nonempty_list_COMMA_trait_method_parameter_, - yy_action_136, - ) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_395) _ => Error } } -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [111, trait_method_parameter → • type_, RPAREN / COMMA] -// [112, trait_method_parameter → • post_label COLON type_, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [132, post_label → • POST_LABEL, COLON] -// [177, separated_nonempty_list(COMMA,trait_method_parameter) → • trait_method_parameter, RPAREN] -// [178, separated_nonempty_list(COMMA,trait_method_parameter) → • trait_method_parameter COMMA separated_nonempty_list(COMMA,trait_method_parameter), RPAREN] -// [178, separated_nonempty_list(COMMA,trait_method_parameter) → trait_method_parameter COMMA • separated_nonempty_list(COMMA,trait_method_parameter), RPAREN] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_119(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_395(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_trait_method_parameter => Shift(yy_state_118) - NT_separated_nonempty_list_COMMA_trait_method_parameter_ => - Shift(yy_state_120) - T_POST_LABEL => Shift(yy_state_121) - NT_post_label => Shift(yy_state_122) - NT_type_ => Shift(yy_state_125) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_396) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [178, separated_nonempty_list(COMMA,trait_method_parameter) → trait_method_parameter COMMA separated_nonempty_list(COMMA,trait_method_parameter) •, RPAREN] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_120(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_COMMA_trait_method_parameter_, - yy_action_135, - ) +fn yy_state_396(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_397) + _ => Error + } } -// [132, post_label → POST_LABEL •, COLON] +// [119, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_121(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_post_label, yy_action_134) +fn yy_state_397(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(10, NT_alias_sig, yy_action_88) } -// [112, trait_method_parameter → post_label • COLON type_, RPAREN / COMMA] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TYPE • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_122(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_398(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_123) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_399) _ => Error } } -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [112, trait_method_parameter → post_label COLON • type_, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_123(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_399(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_124) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_400) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [112, trait_method_parameter → post_label COLON type_ •, RPAREN / COMMA] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_124(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_trait_method_parameter, yy_action_133) +fn yy_state_400(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_401) + _ => Error + } } -// [111, trait_method_parameter → type_ •, RPAREN / COMMA] +// [113, alias_sig → nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_125(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_trait_method_parameter, yy_action_132) +fn yy_state_401(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(10, NT_alias_sig, yy_action_87) } -// [142, separated_list(COMMA,trait_method_parameter) → separated_nonempty_list(COMMA,trait_method_parameter) •, RPAREN] +// [91, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [97, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT • uident, EOF / SEMI] +// [187, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] ///| -fn yy_state_126(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 1, - NT_separated_list_COMMA_trait_method_parameter_, - yy_action_131, - ) +fn yy_state_402(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_403) + _ => Error + } } -// [24, trait_method_sig → lident LPAREN separated_list(COMMA,trait_method_parameter) • RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [91, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [97, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT uident •, EOF / SEMI] +// [209, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] ///| -fn yy_state_127(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_403(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_128) + T_COLON => Shift(yy_state_40) + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => + Shift(yy_state_404) + T_LBRACE => + Reduce( + 0, + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, + yy_action_236, + ) + T_EOF | T_SEMI => Reduce(5, NT_trait_sig, yy_action_86) _ => Error } } -// [24, trait_method_sig → lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN • THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [91, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] ///| -fn yy_state_128(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_404(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_129) + T_LBRACE => Shift(yy_state_405) _ => Error } } -// [24, trait_method_sig → lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW • return_type boption(eq_underscore), SEMI / RBRACE] -// [84, simple_type → • simple_type QUESTION, RAISE / EQUAL / QUESTION / SEMI / RBRACE] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RAISE / EQUAL / QUESTION / SEMI / RBRACE] -// [86, simple_type → • LPAREN type_ RPAREN, RAISE / EQUAL / QUESTION / SEMI / RBRACE] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RAISE / EQUAL / QUESTION / SEMI / RBRACE] -// [88, simple_type → • AMPER qualified_uident_, RAISE / EQUAL / QUESTION / SEMI / RBRACE] -// [89, simple_type → • UNDERSCORE, RAISE / EQUAL / QUESTION / SEMI / RBRACE] -// [90, type_ → • simple_type, EQUAL / SEMI / RBRACE] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / SEMI / RBRACE] -// [99, return_type → • type_, EQUAL / SEMI / RBRACE] -// [100, return_type → • simple_type RAISE, EQUAL / SEMI / RBRACE] -// [101, return_type → • simple_type RAISE error_type, EQUAL / SEMI / RBRACE] -// [102, return_type → • simple_type RAISE QUESTION, EQUAL / SEMI / RBRACE] -// [127, qualified_uident_ → • UIDENT, RAISE / EQUAL / QUESTION / SEMI / LBRACKET / RBRACE] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RAISE / EQUAL / QUESTION / SEMI / LBRACKET / RBRACE] +// [36, trait_method_sig → • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [37, trait_method_sig → • nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [91, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] +// [211, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT] ///| -fn yy_state_129(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_405(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_130) + T_ATTRIBUTE => Shift(yy_state_17) + T_LIDENT => Shift(yy_state_36) + NT_trait_method_sig => Shift(yy_state_50) + NT_nonempty_list_attribute_ => Shift(yy_state_53) + NT_lident => Shift(yy_state_132) + NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_406) _ => Error } } -// [24, trait_method_sig → lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type • boption(eq_underscore), SEMI / RBRACE] -// [143, boption(eq_underscore) → •, SEMI / RBRACE] -// [144, boption(eq_underscore) → • EQUAL UNDERSCORE, SEMI / RBRACE] +// [91, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] ///| -fn yy_state_130(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_406(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_131) - NT_boption_eq_underscore_ => Shift(yy_state_133) - T_SEMI | T_RBRACE => Reduce(0, NT_boption_eq_underscore_, yy_action_130) + T_RBRACE => Shift(yy_state_407) _ => Error } } -// [144, boption(eq_underscore) → EQUAL • UNDERSCORE, SEMI / RBRACE] +// [91, trait_sig → nonempty_list(attribute) PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] ///| -fn yy_state_131(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_407(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_trait_sig, yy_action_85) +} + +// [79, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL • type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [85, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL • qualified_uident FOR type_, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, UIDENT / PACKAGE_NAME] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] + +///| +fn yy_state_408(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UNDERSCORE => Shift(yy_state_132) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + T_LBRACKET => Shift(yy_state_142) + NT_qualified_uident => Shift(yy_state_409) + NT_type_params_with_constraints => Shift(yy_state_412) _ => Error } } -// [144, boption(eq_underscore) → EQUAL UNDERSCORE •, SEMI / RBRACE] +// [85, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_132(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_boption_eq_underscore_, yy_action_128) +fn yy_state_409(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FOR => Shift(yy_state_410) + _ => Error + } +} + +// [85, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_410(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_411) + _ => Error + } } -// [24, trait_method_sig → lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type boption(eq_underscore) •, SEMI / RBRACE] +// [85, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_133(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_trait_method_sig, yy_action_126) +fn yy_state_411(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_impl_sig, yy_action_84) } -// [55, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] +// [79, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL type_params_with_constraints • qualified_uident FOR type_, EOF / SEMI] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_134(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_412(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_135) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_qualified_uident => Shift(yy_state_413) _ => Error } } -// [55, trait_sig → TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] +// [79, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL type_params_with_constraints qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_135(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_trait_sig, yy_action_125) +fn yy_state_413(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FOR => Shift(yy_state_414) + _ => Error + } } -// [52, impl_sig → IMPL • type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] -// [53, impl_sig → IMPL • qualified_uident FOR type_, EOF / SEMI] -// [54, impl_sig → IMPL • uident COLONCOLON lident, EOF / SEMI] -// [76, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, UIDENT / PACKAGE_NAME] -// [125, qualified_uident → • UIDENT, FOR] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] -// [129, uident → • UIDENT, COLONCOLON] - -///| -fn yy_state_136(_lookahead : YYSymbol) -> YYDecision { +// [79, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_414(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_137) - T_LBRACKET => Shift(yy_state_138) - NT_uident => Shift(yy_state_152) - NT_qualified_uident => Shift(yy_state_155) - NT_type_params_with_constraints => Shift(yy_state_158) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_415) _ => Error } } -// [125, qualified_uident → UIDENT •, FOR] -// [129, uident → UIDENT •, COLONCOLON] +// [79, impl_sig → nonempty_list(attribute) PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_137(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_415(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_impl_sig, yy_action_83) +} + +// [73, type_sig → nonempty_list(attribute) PUB pub_attr ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] +// [187, uident → • UIDENT, LBRACKET / LBRACE] + +///| +fn yy_state_416(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Reduce(1, NT_qualified_uident, yy_action_192) - T_COLONCOLON => Reduce(1, NT_uident, yy_action_189) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_417) _ => Error } } -// [74, type_param_with_constraints → • uident, COMMA / RBRACKET] -// [75, type_param_with_constraints → • uident COLON separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] -// [76, type_params_with_constraints → LBRACKET • separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT / PACKAGE_NAME] -// [129, uident → • UIDENT, COMMA / COLON / RBRACKET] -// [167, separated_list(COMMA,type_param_with_constraints) → •, RBRACKET] -// [168, separated_list(COMMA,type_param_with_constraints) → • separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] -// [183, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints, RBRACKET] -// [184, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints COMMA separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] +// [73, type_sig → nonempty_list(attribute) PUB pub_attr ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] ///| -fn yy_state_138(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_417(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_type_param_with_constraints => Shift(yy_state_139) - NT_uident => Shift(yy_state_142) - NT_separated_nonempty_list_COMMA_type_param_with_constraints_ => - Shift(yy_state_149) - NT_separated_list_COMMA_type_param_with_constraints_ => Shift(yy_state_150) - T_RBRACKET => - Reduce( - 0, - NT_separated_list_COMMA_type_param_with_constraints_, - yy_action_124, - ) + T_LBRACE => Shift(yy_state_418) _ => Error } } -// [183, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints •, RBRACKET] -// [184, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints • COMMA separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] +// [73, type_sig → nonempty_list(attribute) PUB pub_attr ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_139(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_418(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_140) - T_RBRACKET => - Reduce( - 1, - NT_separated_nonempty_list_COMMA_type_param_with_constraints_, - yy_action_123, - ) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_419) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [74, type_param_with_constraints → • uident, COMMA / RBRACKET] -// [75, type_param_with_constraints → • uident COLON separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] -// [129, uident → • UIDENT, COMMA / COLON / RBRACKET] -// [183, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints, RBRACKET] -// [184, separated_nonempty_list(COMMA,type_param_with_constraints) → • type_param_with_constraints COMMA separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] -// [184, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints COMMA • separated_nonempty_list(COMMA,type_param_with_constraints), RBRACKET] +// [73, type_sig → nonempty_list(attribute) PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_140(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_419(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_type_param_with_constraints => Shift(yy_state_139) - NT_separated_nonempty_list_COMMA_type_param_with_constraints_ => - Shift(yy_state_141) - NT_uident => Shift(yy_state_142) + T_RBRACE => Shift(yy_state_420) _ => Error } } -// [184, separated_nonempty_list(COMMA,type_param_with_constraints) → type_param_with_constraints COMMA separated_nonempty_list(COMMA,type_param_with_constraints) •, RBRACKET] +// [73, type_sig → nonempty_list(attribute) PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_141(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_COMMA_type_param_with_constraints_, - yy_action_122, - ) +fn yy_state_420(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_type_sig, yy_action_82) } -// [74, type_param_with_constraints → uident •, COMMA / RBRACKET] -// [75, type_param_with_constraints → uident • COLON separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] +// [61, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT • type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [67, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] +// [187, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] ///| -fn yy_state_142(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_421(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_143) - T_COMMA | T_RBRACKET => - Reduce(1, NT_type_param_with_constraints, yy_action_121) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_422) _ => Error } } -// [75, type_param_with_constraints → uident COLON • separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] -// [82, type_constraint → • qualified_uident, COMMA / PLUS / RBRACKET] -// [125, qualified_uident → • UIDENT, COMMA / PLUS / RBRACKET] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, COMMA / PLUS / RBRACKET] -// [165, separated_nonempty_list(PLUS,type_constraint) → • type_constraint, COMMA / RBRACKET] -// [166, separated_nonempty_list(PLUS,type_constraint) → • type_constraint PLUS separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] +// [61, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params • LBRACE record_decl_body RBRACE, EOF / SEMI] +// [67, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] ///| -fn yy_state_143(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_422(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_23) - NT_type_constraint => Shift(yy_state_144) - NT_qualified_uident => Shift(yy_state_147) - NT_separated_nonempty_list_PLUS_type_constraint_ => Shift(yy_state_148) + T_LPAREN => Shift(yy_state_423) + T_LBRACE => Shift(yy_state_426) _ => Error } } -// [165, separated_nonempty_list(PLUS,type_constraint) → type_constraint •, COMMA / RBRACKET] -// [166, separated_nonempty_list(PLUS,type_constraint) → type_constraint • PLUS separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] - -///| -fn yy_state_144(_lookahead : YYSymbol) -> YYDecision { +// [67, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [205, separated_list(COMMA,type_) → •, RPAREN] +// [206, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] + +///| +fn yy_state_423(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PLUS => Shift(yy_state_145) - T_COMMA | T_RBRACKET => - Reduce(1, NT_separated_nonempty_list_PLUS_type_constraint_, yy_action_120) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_208) + NT_separated_list_COMMA_type__ => Shift(yy_state_424) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_142) _ => Error } } -// [82, type_constraint → • qualified_uident, COMMA / PLUS / RBRACKET] -// [125, qualified_uident → • UIDENT, COMMA / PLUS / RBRACKET] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, COMMA / PLUS / RBRACKET] -// [165, separated_nonempty_list(PLUS,type_constraint) → • type_constraint, COMMA / RBRACKET] -// [166, separated_nonempty_list(PLUS,type_constraint) → • type_constraint PLUS separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] -// [166, separated_nonempty_list(PLUS,type_constraint) → type_constraint PLUS • separated_nonempty_list(PLUS,type_constraint), COMMA / RBRACKET] +// [67, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] ///| -fn yy_state_145(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_424(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_23) - NT_type_constraint => Shift(yy_state_144) - NT_separated_nonempty_list_PLUS_type_constraint_ => Shift(yy_state_146) - NT_qualified_uident => Shift(yy_state_147) + T_RPAREN => Shift(yy_state_425) _ => Error } } -// [166, separated_nonempty_list(PLUS,type_constraint) → type_constraint PLUS separated_nonempty_list(PLUS,type_constraint) •, COMMA / RBRACKET] +// [67, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] ///| -fn yy_state_146(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_PLUS_type_constraint_, - yy_action_119, - ) +fn yy_state_425(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_type_sig, yy_action_81) } -// [82, type_constraint → qualified_uident •, COMMA / PLUS / RBRACKET] +// [61, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LBRACE • record_decl_body RBRACE, EOF / SEMI] +// [124, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [125, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [126, record_decl_constr → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [127, record_decl_constr → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [128, record_decl_constr → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [130, record_decl_body → •, RBRACE] +// [131, record_decl_body → • record_decl_constr, RBRACE] +// [132, record_decl_body → • record_decl_body_nonempty, RBRACE] +// [133, record_decl_body_nonempty → • record_decl_field SEMI record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → • record_decl_field, RBRACE] +// [135, record_decl_body_nonempty → • record_decl_field SEMI record_decl_body_nonempty, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / ASYNC / FN / MUTABLE] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / ASYNC / FN / MUTABLE] ///| -fn yy_state_147(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_type_constraint, yy_action_118) +fn yy_state_426(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_MUTABLE => Shift(yy_state_184) + NT_record_decl_field => Shift(yy_state_212) + T_FN => Shift(yy_state_216) + T_ASYNC => Shift(yy_state_232) + NT_nonempty_list_attribute_ => Shift(yy_state_242) + NT_boption_MUTABLE_ => Shift(yy_state_266) + NT_record_decl_body_nonempty => Shift(yy_state_270) + NT_record_decl_constr => Shift(yy_state_271) + NT_record_decl_body => Shift(yy_state_427) + T_RBRACE => Reduce(0, NT_record_decl_body, yy_action_139) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } } -// [75, type_param_with_constraints → uident COLON separated_nonempty_list(PLUS,type_constraint) •, COMMA / RBRACKET] +// [61, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body • RBRACE, EOF / SEMI] ///| -fn yy_state_148(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_param_with_constraints, yy_action_117) +fn yy_state_427(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_428) + _ => Error + } } -// [168, separated_list(COMMA,type_param_with_constraints) → separated_nonempty_list(COMMA,type_param_with_constraints) •, RBRACKET] +// [61, type_sig → nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE •, EOF / SEMI] ///| -fn yy_state_149(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 1, - NT_separated_list_COMMA_type_param_with_constraints_, - yy_action_116, - ) +fn yy_state_428(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_type_sig, yy_action_80) } -// [76, type_params_with_constraints → LBRACKET separated_list(COMMA,type_param_with_constraints) • RBRACKET, LIDENT / UIDENT / PACKAGE_NAME] +// [49, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR • uident option(type_), EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] ///| -fn yy_state_150(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_429(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_151) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_430) _ => Error } } -// [76, type_params_with_constraints → LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET •, LIDENT / UIDENT / PACKAGE_NAME] - -///| -fn yy_state_151(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_params_with_constraints, yy_action_115) +// [49, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR uident • option(type_), EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [201, option(type_) → •, EOF / SEMI] +// [202, option(type_) → • type_, EOF / SEMI] + +///| +fn yy_state_430(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_276) + T_LBRACE => Shift(yy_state_431) + NT_option_type__ => Shift(yy_state_434) + T_EOF | T_SEMI => Reduce(0, NT_option_type__, yy_action_120) + _ => Error + } } -// [54, impl_sig → IMPL uident • COLONCOLON lident, EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_152(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_431(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Shift(yy_state_153) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_432) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [54, impl_sig → IMPL uident COLONCOLON • lident, EOF / SEMI] -// [130, lident → • LIDENT, EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_153(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_432(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_lident => Shift(yy_state_154) + T_RBRACE => Shift(yy_state_433) _ => Error } } -// [54, impl_sig → IMPL uident COLONCOLON lident •, EOF / SEMI] +// [55, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_154(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_impl_sig, yy_action_114) +fn yy_state_433(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_type_sig, yy_action_79) } -// [53, impl_sig → IMPL qualified_uident • FOR type_, EOF / SEMI] +// [49, type_sig → nonempty_list(attribute) PUB pub_attr SUBERROR uident option(type_) •, EOF / SEMI] ///| -fn yy_state_155(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_434(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_78) +} + +// [43, type_sig → nonempty_list(attribute) PUB pub_attr TYPE • type_decl_name_with_params, EOF / SEMI] +// [105, alias_sig → nonempty_list(attribute) PUB pub_attr TYPE • type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / EQUAL / SEMI] +// [187, uident → • UIDENT, EOF / EQUAL / SEMI / LBRACKET] + +///| +fn yy_state_435(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_156) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_436) _ => Error } } -// [53, impl_sig → IMPL qualified_uident FOR • type_, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [43, type_sig → nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params •, EOF / SEMI] +// [105, alias_sig → nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params • EQUAL type_, EOF / SEMI] ///| -fn yy_state_156(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_436(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_437) + T_EOF | T_SEMI => Reduce(5, NT_type_sig, yy_action_77) + _ => Error + } +} + +// [105, alias_sig → nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params EQUAL • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_437(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_157) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_438) _ => Error } } -// [53, impl_sig → IMPL qualified_uident FOR type_ •, EOF / SEMI] +// [105, alias_sig → nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params EQUAL type_ •, EOF / SEMI] ///| -fn yy_state_157(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_impl_sig, yy_action_113) +fn yy_state_438(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_alias_sig, yy_action_76) } -// [52, impl_sig → IMPL type_params_with_constraints • qualified_uident FOR type_, EOF / SEMI] -// [125, qualified_uident → • UIDENT, FOR] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] +// [27, value_sig → nonempty_list(attribute) PUB pub_attr LET • lident COLON type_, EOF / SEMI] +// [188, lident → • LIDENT, COLON] ///| -fn yy_state_158(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_439(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_23) - NT_qualified_uident => Shift(yy_state_159) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_440) _ => Error } } -// [52, impl_sig → IMPL type_params_with_constraints qualified_uident • FOR type_, EOF / SEMI] +// [27, value_sig → nonempty_list(attribute) PUB pub_attr LET lident • COLON type_, EOF / SEMI] ///| -fn yy_state_159(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_440(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_160) + T_COLON => Shift(yy_state_441) _ => Error } } -// [52, impl_sig → IMPL type_params_with_constraints qualified_uident FOR • type_, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] - -///| -fn yy_state_160(_lookahead : YYSymbol) -> YYDecision { +// [27, value_sig → nonempty_list(attribute) PUB pub_attr LET lident COLON • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_441(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_161) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_442) _ => Error } } -// [52, impl_sig → IMPL type_params_with_constraints qualified_uident FOR type_ •, EOF / SEMI] +// [27, value_sig → nonempty_list(attribute) PUB pub_attr LET lident COLON type_ •, EOF / SEMI] ///| -fn yy_state_161(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_impl_sig, yy_action_112) +fn yy_state_442(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_value_sig, yy_action_75) } -// [49, type_sig → ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] -// [129, uident → • UIDENT, LBRACKET / LBRACE] +// [21, const_sig → nonempty_list(attribute) PUB pub_attr CONST • uident COLON type_ EQUAL constant, EOF / SEMI] +// [187, uident → • UIDENT, COLON] ///| -fn yy_state_162(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_443(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_163) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_444) _ => Error } } -// [49, type_sig → ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [21, const_sig → nonempty_list(attribute) PUB pub_attr CONST uident • COLON type_ EQUAL constant, EOF / SEMI] ///| -fn yy_state_163(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_444(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_164) + T_COLON => Shift(yy_state_445) _ => Error } } -// [49, type_sig → ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [68, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [69, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [145, separated_list(SEMI,enum_constructor) → •, RBRACE] -// [146, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] -// [173, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] -// [179, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] - -///| -fn yy_state_164(_lookahead : YYSymbol) -> YYDecision { +// [21, const_sig → nonempty_list(attribute) PUB pub_attr CONST uident COLON • type_ EQUAL constant, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EQUAL / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, EQUAL / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, EQUAL / QUESTION] +// [151, simple_type → • UNDERSCORE, EQUAL / QUESTION] +// [152, type_ → • simple_type, EQUAL] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [185, qualified_uident_ → • UIDENT, EQUAL / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / QUESTION / LBRACKET] + +///| +fn yy_state_445(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_enum_constructor => Shift(yy_state_165) - T_ATTRIBUTE => Shift(yy_state_168) - NT_nonempty_list_attribute_ => Shift(yy_state_169) - T_UIDENT => Shift(yy_state_187) - NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_190) - NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_191) - T_RBRACE => - Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_111) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_446) _ => Error } } -// [179, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor •, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor • SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [21, const_sig → nonempty_list(attribute) PUB pub_attr CONST uident COLON type_ • EQUAL constant, EOF / SEMI] ///| -fn yy_state_165(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_446(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_166) - T_RBRACE => - Reduce( - 1, - NT_separated_nonempty_list_SEMI_enum_constructor_, - yy_action_110, - ) + T_EQUAL => Shift(yy_state_447) _ => Error } } -// [68, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [69, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [173, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] -// [179, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor SEMI • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [21, const_sig → nonempty_list(attribute) PUB pub_attr CONST uident COLON type_ EQUAL • constant, EOF / SEMI] +// [171, constant → • TRUE, EOF / SEMI] +// [172, constant → • FALSE, EOF / SEMI] +// [173, constant → • BYTE, EOF / SEMI] +// [174, constant → • BYTES, EOF / SEMI] +// [175, constant → • CHAR, EOF / SEMI] +// [176, constant → • INT, EOF / SEMI] +// [177, constant → • FLOAT, EOF / SEMI] +// [178, constant → • DOUBLE, EOF / SEMI] +// [179, constant → • STRING, EOF / SEMI] ///| -fn yy_state_166(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_447(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_enum_constructor => Shift(yy_state_165) - NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_167) - T_ATTRIBUTE => Shift(yy_state_168) - NT_nonempty_list_attribute_ => Shift(yy_state_169) - T_UIDENT => Shift(yy_state_187) + T_STRING => Shift(yy_state_448) + T_DOUBLE => Shift(yy_state_449) + T_FLOAT => Shift(yy_state_450) + T_INT => Shift(yy_state_451) + T_CHAR => Shift(yy_state_452) + T_BYTES => Shift(yy_state_453) + T_BYTE => Shift(yy_state_454) + T_FALSE => Shift(yy_state_455) + T_TRUE => Shift(yy_state_456) + NT_constant => Shift(yy_state_457) _ => Error } } -// [180, separated_nonempty_list(SEMI,enum_constructor) → enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor) •, RBRACE] +// [179, constant → STRING •, EOF / SEMI] ///| -fn yy_state_167(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_SEMI_enum_constructor_, - yy_action_109, - ) +fn yy_state_448(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_74) } -// [173, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / UIDENT / MUTABLE] -// [173, nonempty_list(attribute) → ATTRIBUTE •, LIDENT / UIDENT / MUTABLE] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / UIDENT / MUTABLE] -// [174, nonempty_list(attribute) → ATTRIBUTE • nonempty_list(attribute), LIDENT / UIDENT / MUTABLE] +// [178, constant → DOUBLE •, EOF / SEMI] ///| -fn yy_state_168(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - NT_nonempty_list_attribute_ => Shift(yy_state_18) - T_ATTRIBUTE => Shift(yy_state_168) - T_LIDENT | T_UIDENT | T_MUTABLE => - Reduce(1, NT_nonempty_list_attribute_, yy_action_197) - _ => Error - } +fn yy_state_449(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_73) } -// [69, enum_constructor → nonempty_list(attribute) • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [177, constant → FLOAT •, EOF / SEMI] ///| -fn yy_state_169(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_UIDENT => Shift(yy_state_170) - _ => Error - } +fn yy_state_450(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_72) } -// [69, enum_constructor → nonempty_list(attribute) UIDENT • option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [159, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → •, EQUAL / SEMI / RBRACE] -// [160, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → • LPAREN separated_nonempty_list(COMMA,constructor_param) RPAREN, EQUAL / SEMI / RBRACE] +// [176, constant → INT •, EOF / SEMI] ///| -fn yy_state_170(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LPAREN => Shift(yy_state_171) - NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__ => - Shift(yy_state_183) - T_EQUAL | T_SEMI | T_RBRACE => - Reduce( - 0, - NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__, - yy_action_108, - ) - _ => Error - } +fn yy_state_451(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_71) } -// [70, constructor_param → • boption(MUTABLE) type_, RPAREN / COMMA] -// [71, constructor_param → • boption(MUTABLE) post_label COLON type_, RPAREN / COMMA] -// [157, separated_nonempty_list(COMMA,constructor_param) → • constructor_param, RPAREN] -// [158, separated_nonempty_list(COMMA,constructor_param) → • constructor_param COMMA separated_nonempty_list(COMMA,constructor_param), RPAREN] -// [160, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → LPAREN • separated_nonempty_list(COMMA,constructor_param) RPAREN, EQUAL / SEMI / RBRACE] -// [163, boption(MUTABLE) → •, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] -// [164, boption(MUTABLE) → • MUTABLE, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] +// [175, constant → CHAR •, EOF / SEMI] ///| -fn yy_state_171(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_MUTABLE => Shift(yy_state_172) - NT_separated_nonempty_list_COMMA_constructor_param_ => Shift(yy_state_173) - NT_constructor_param => Shift(yy_state_175) - NT_boption_MUTABLE_ => Shift(yy_state_178) - T_UIDENT - | T_POST_LABEL - | T_ASYNC - | T_LPAREN - | T_UNDERSCORE - | T_AMPER - | T_PACKAGE_NAME => Reduce(0, NT_boption_MUTABLE_, yy_action_107) - _ => Error - } +fn yy_state_452(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_70) } -// [164, boption(MUTABLE) → MUTABLE •, LIDENT / UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] +// [174, constant → BYTES •, EOF / SEMI] ///| -fn yy_state_172(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_boption_MUTABLE_, yy_action_106) +fn yy_state_453(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_69) } -// [160, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → LPAREN separated_nonempty_list(COMMA,constructor_param) • RPAREN, EQUAL / SEMI / RBRACE] +// [173, constant → BYTE •, EOF / SEMI] ///| -fn yy_state_173(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_RPAREN => Shift(yy_state_174) - _ => Error - } +fn yy_state_454(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_68) } -// [160, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → LPAREN separated_nonempty_list(COMMA,constructor_param) RPAREN •, EQUAL / SEMI / RBRACE] +// [172, constant → FALSE •, EOF / SEMI] ///| -fn yy_state_174(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__, - yy_action_104, - ) +fn yy_state_455(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_67) } -// [157, separated_nonempty_list(COMMA,constructor_param) → constructor_param •, RPAREN] -// [158, separated_nonempty_list(COMMA,constructor_param) → constructor_param • COMMA separated_nonempty_list(COMMA,constructor_param), RPAREN] +// [171, constant → TRUE •, EOF / SEMI] ///| -fn yy_state_175(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_COMMA => Shift(yy_state_176) - T_RPAREN => - Reduce( - 1, - NT_separated_nonempty_list_COMMA_constructor_param_, - yy_action_103, - ) - _ => Error - } +fn yy_state_456(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_constant, yy_action_66) } -// [70, constructor_param → • boption(MUTABLE) type_, RPAREN / COMMA] -// [71, constructor_param → • boption(MUTABLE) post_label COLON type_, RPAREN / COMMA] -// [157, separated_nonempty_list(COMMA,constructor_param) → • constructor_param, RPAREN] -// [158, separated_nonempty_list(COMMA,constructor_param) → • constructor_param COMMA separated_nonempty_list(COMMA,constructor_param), RPAREN] -// [158, separated_nonempty_list(COMMA,constructor_param) → constructor_param COMMA • separated_nonempty_list(COMMA,constructor_param), RPAREN] -// [163, boption(MUTABLE) → •, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] -// [164, boption(MUTABLE) → • MUTABLE, UIDENT / POST_LABEL / ASYNC / LPAREN / UNDERSCORE / AMPER / PACKAGE_NAME] +// [21, const_sig → nonempty_list(attribute) PUB pub_attr CONST uident COLON type_ EQUAL constant •, EOF / SEMI] ///| -fn yy_state_176(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_MUTABLE => Shift(yy_state_172) - NT_constructor_param => Shift(yy_state_175) - NT_separated_nonempty_list_COMMA_constructor_param_ => Shift(yy_state_177) - NT_boption_MUTABLE_ => Shift(yy_state_178) - T_UIDENT - | T_POST_LABEL - | T_ASYNC - | T_LPAREN - | T_UNDERSCORE - | T_AMPER - | T_PACKAGE_NAME => Reduce(0, NT_boption_MUTABLE_, yy_action_107) - _ => Error - } +fn yy_state_457(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_const_sig, yy_action_65) } -// [158, separated_nonempty_list(COMMA,constructor_param) → constructor_param COMMA separated_nonempty_list(COMMA,constructor_param) •, RPAREN] - -///| -fn yy_state_177(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_COMMA_constructor_param_, - yy_action_102, - ) -} - -// [70, constructor_param → boption(MUTABLE) • type_, RPAREN / COMMA] -// [71, constructor_param → boption(MUTABLE) • post_label COLON type_, RPAREN / COMMA] -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [132, post_label → • POST_LABEL, COLON] +// [20, const_sig → nonempty_list(attribute) PRIV • CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [26, value_sig → nonempty_list(attribute) PRIV • LET lident COLON type_, EOF / SEMI] +// [42, type_sig → nonempty_list(attribute) PRIV • TYPE type_decl_name_with_params, EOF / SEMI] +// [48, type_sig → nonempty_list(attribute) PRIV • SUBERROR uident option(type_), EOF / SEMI] +// [54, type_sig → nonempty_list(attribute) PRIV • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [60, type_sig → nonempty_list(attribute) PRIV • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [66, type_sig → nonempty_list(attribute) PRIV • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [72, type_sig → nonempty_list(attribute) PRIV • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [78, impl_sig → nonempty_list(attribute) PRIV • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [84, impl_sig → nonempty_list(attribute) PRIV • IMPL qualified_uident FOR type_, EOF / SEMI] +// [90, trait_sig → nonempty_list(attribute) PRIV • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [96, trait_sig → nonempty_list(attribute) PRIV • TRAIT uident, EOF / SEMI] +// [104, alias_sig → nonempty_list(attribute) PRIV • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [112, alias_sig → nonempty_list(attribute) PRIV • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → nonempty_list(attribute) PRIV • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_178(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_458(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - T_POST_LABEL => Shift(yy_state_121) - NT_post_label => Shift(yy_state_179) - NT_type_ => Shift(yy_state_182) + T_USING => Shift(yy_state_459) + T_TRAIT => Shift(yy_state_470) + T_IMPL => Shift(yy_state_476) + T_ENUM => Shift(yy_state_484) + T_STRUCT => Shift(yy_state_489) + T_SUBERROR => Shift(yy_state_497) + T_TYPE => Shift(yy_state_503) + T_LET => Shift(yy_state_507) + T_CONST => Shift(yy_state_511) _ => Error } } -// [71, constructor_param → boption(MUTABLE) post_label • COLON type_, RPAREN / COMMA] +// [112, alias_sig → nonempty_list(attribute) PRIV USING • PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → nonempty_list(attribute) PRIV USING • PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_179(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_459(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_180) + T_PACKAGE_NAME => Shift(yy_state_460) _ => Error } } -// [71, constructor_param → boption(MUTABLE) post_label COLON • type_, RPAREN / COMMA] -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [112, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME • LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME • LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_180(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_460(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_181) + T_LBRACE => Shift(yy_state_461) _ => Error } } -// [71, constructor_param → boption(MUTABLE) post_label COLON type_ •, RPAREN / COMMA] +// [112, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE • TYPE uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE • TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_181(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_constructor_param, yy_action_101) +fn yy_state_461(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_TRAIT => Shift(yy_state_462) + T_TYPE => Shift(yy_state_466) + _ => Error + } } -// [70, constructor_param → boption(MUTABLE) type_ •, RPAREN / COMMA] +// [118, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TRAIT • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_182(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_constructor_param, yy_action_100) +fn yy_state_462(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_463) + _ => Error + } } -// [69, enum_constructor → nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) • option(eq_tag), SEMI / RBRACE] -// [161, option(eq_tag) → •, SEMI / RBRACE] -// [162, option(eq_tag) → • EQUAL INT, SEMI / RBRACE] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [118, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TRAIT uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_183(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_463(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_184) - NT_option_eq_tag_ => Shift(yy_state_186) - T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_tag_, yy_action_99) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_464) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [162, option(eq_tag) → EQUAL • INT, SEMI / RBRACE] +// [118, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_184(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_464(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_INT => Shift(yy_state_185) + T_RBRACE => Shift(yy_state_465) _ => Error } } -// [162, option(eq_tag) → EQUAL INT •, SEMI / RBRACE] +// [118, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_185(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_option_eq_tag_, yy_action_97) +fn yy_state_465(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_alias_sig, yy_action_64) } -// [69, enum_constructor → nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag) •, SEMI / RBRACE] +// [112, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TYPE • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_186(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_enum_constructor, yy_action_96) +fn yy_state_466(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_467) + _ => Error + } } -// [68, enum_constructor → UIDENT • option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [159, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → •, EQUAL / SEMI / RBRACE] -// [160, option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) → • LPAREN separated_nonempty_list(COMMA,constructor_param) RPAREN, EQUAL / SEMI / RBRACE] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [112, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TYPE uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_187(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LPAREN => Shift(yy_state_171) - NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__ => - Shift(yy_state_188) - T_EQUAL | T_SEMI | T_RBRACE => - Reduce( - 0, - NT_option_delimited_LPAREN_separated_nonempty_list_COMMA_constructor_param__RPAREN__, - yy_action_108, - ) +fn yy_state_467(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_468) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [68, enum_constructor → UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) • option(eq_tag), SEMI / RBRACE] -// [161, option(eq_tag) → •, SEMI / RBRACE] -// [162, option(eq_tag) → • EQUAL INT, SEMI / RBRACE] +// [112, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_188(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_468(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_184) - NT_option_eq_tag_ => Shift(yy_state_189) - T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_tag_, yy_action_99) + T_RBRACE => Shift(yy_state_469) _ => Error } } -// [68, enum_constructor → UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag) •, SEMI / RBRACE] +// [112, alias_sig → nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_189(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_enum_constructor, yy_action_95) +fn yy_state_469(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_alias_sig, yy_action_63) } -// [146, separated_list(SEMI,enum_constructor) → separated_nonempty_list(SEMI,enum_constructor) •, RBRACE] +// [90, trait_sig → nonempty_list(attribute) PRIV TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [96, trait_sig → nonempty_list(attribute) PRIV TRAIT • uident, EOF / SEMI] +// [187, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] ///| -fn yy_state_190(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_separated_list_SEMI_enum_constructor_, yy_action_94) +fn yy_state_470(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_471) + _ => Error + } } -// [49, type_sig → ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] +// [90, trait_sig → nonempty_list(attribute) PRIV TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [96, trait_sig → nonempty_list(attribute) PRIV TRAIT uident •, EOF / SEMI] +// [209, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] ///| -fn yy_state_191(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_471(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_192) + T_COLON => Shift(yy_state_40) + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => + Shift(yy_state_472) + T_LBRACE => + Reduce( + 0, + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, + yy_action_236, + ) + T_EOF | T_SEMI => Reduce(4, NT_trait_sig, yy_action_62) _ => Error } } -// [49, type_sig → ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] +// [90, trait_sig → nonempty_list(attribute) PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] ///| -fn yy_state_192(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_sig, yy_action_93) +fn yy_state_472(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_473) + _ => Error + } } -// [43, type_sig → STRUCT • type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [46, type_sig → STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] -// [129, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] +// [36, trait_method_sig → • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [37, trait_method_sig → • nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [90, trait_sig → nonempty_list(attribute) PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] +// [211, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT] ///| -fn yy_state_193(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_473(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_194) + T_ATTRIBUTE => Shift(yy_state_17) + T_LIDENT => Shift(yy_state_36) + NT_trait_method_sig => Shift(yy_state_50) + NT_nonempty_list_attribute_ => Shift(yy_state_53) + NT_lident => Shift(yy_state_132) + NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_474) _ => Error } } -// [43, type_sig → STRUCT type_decl_name_with_params • LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [46, type_sig → STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [90, trait_sig → nonempty_list(attribute) PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] ///| -fn yy_state_194(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_474(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_195) - T_LBRACE => Shift(yy_state_199) + T_RBRACE => Shift(yy_state_475) _ => Error } } -// [46, type_sig → STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [149, separated_list(COMMA,type_) → •, RPAREN] -// [150, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] -// [171, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] -// [172, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] +// [90, trait_sig → nonempty_list(attribute) PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] ///| -fn yy_state_195(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_475(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_trait_sig, yy_action_61) +} + +// [78, impl_sig → nonempty_list(attribute) PRIV IMPL • type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [84, impl_sig → nonempty_list(attribute) PRIV IMPL • qualified_uident FOR type_, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, UIDENT / PACKAGE_NAME] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] + +///| +fn yy_state_476(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - NT_type_ => Shift(yy_state_48) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_196) - NT_separated_list_COMMA_type__ => Shift(yy_state_197) - T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_92) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + T_LBRACKET => Shift(yy_state_142) + NT_qualified_uident => Shift(yy_state_477) + NT_type_params_with_constraints => Shift(yy_state_480) _ => Error } } -// [150, separated_list(COMMA,type_) → separated_nonempty_list(COMMA,type_) •, RPAREN] +// [84, impl_sig → nonempty_list(attribute) PRIV IMPL qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_196(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_separated_list_COMMA_type__, yy_action_91) +fn yy_state_477(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FOR => Shift(yy_state_478) + _ => Error + } } -// [46, type_sig → STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] - -///| -fn yy_state_197(_lookahead : YYSymbol) -> YYDecision { +// [84, impl_sig → nonempty_list(attribute) PRIV IMPL qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_478(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_198) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_479) _ => Error } } -// [46, type_sig → STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] +// [84, impl_sig → nonempty_list(attribute) PRIV IMPL qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_198(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_sig, yy_action_90) +fn yy_state_479(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_impl_sig, yy_action_60) } -// [43, type_sig → STRUCT type_decl_name_with_params LBRACE • separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [72, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [73, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [147, separated_list(SEMI,record_decl_field) → •, RBRACE] -// [148, separated_list(SEMI,record_decl_field) → • separated_nonempty_list(SEMI,record_decl_field), RBRACE] -// [163, boption(MUTABLE) → •, LIDENT] -// [164, boption(MUTABLE) → • MUTABLE, LIDENT] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / MUTABLE] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / MUTABLE] -// [181, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field, RBRACE] -// [182, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field SEMI separated_nonempty_list(SEMI,record_decl_field), RBRACE] +// [78, impl_sig → nonempty_list(attribute) PRIV IMPL type_params_with_constraints • qualified_uident FOR type_, EOF / SEMI] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_199(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_480(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_168) - T_MUTABLE => Shift(yy_state_172) - NT_record_decl_field => Shift(yy_state_200) - NT_nonempty_list_attribute_ => Shift(yy_state_203) - NT_boption_MUTABLE_ => Shift(yy_state_208) - NT_separated_nonempty_list_SEMI_record_decl_field_ => Shift(yy_state_212) - NT_separated_list_SEMI_record_decl_field_ => Shift(yy_state_213) - T_RBRACE => - Reduce(0, NT_separated_list_SEMI_record_decl_field_, yy_action_89) - T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_107) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_qualified_uident => Shift(yy_state_481) _ => Error } } -// [181, separated_nonempty_list(SEMI,record_decl_field) → record_decl_field •, RBRACE] -// [182, separated_nonempty_list(SEMI,record_decl_field) → record_decl_field • SEMI separated_nonempty_list(SEMI,record_decl_field), RBRACE] +// [78, impl_sig → nonempty_list(attribute) PRIV IMPL type_params_with_constraints qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_200(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_481(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_201) - T_RBRACE => - Reduce( - 1, - NT_separated_nonempty_list_SEMI_record_decl_field_, - yy_action_88, - ) + T_FOR => Shift(yy_state_482) _ => Error } } -// [72, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [73, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [163, boption(MUTABLE) → •, LIDENT] -// [164, boption(MUTABLE) → • MUTABLE, LIDENT] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / MUTABLE] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / MUTABLE] -// [181, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field, RBRACE] -// [182, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field SEMI separated_nonempty_list(SEMI,record_decl_field), RBRACE] -// [182, separated_nonempty_list(SEMI,record_decl_field) → record_decl_field SEMI • separated_nonempty_list(SEMI,record_decl_field), RBRACE] - -///| -fn yy_state_201(_lookahead : YYSymbol) -> YYDecision { +// [78, impl_sig → nonempty_list(attribute) PRIV IMPL type_params_with_constraints qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_482(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_168) - T_MUTABLE => Shift(yy_state_172) - NT_record_decl_field => Shift(yy_state_200) - NT_separated_nonempty_list_SEMI_record_decl_field_ => Shift(yy_state_202) - NT_nonempty_list_attribute_ => Shift(yy_state_203) - NT_boption_MUTABLE_ => Shift(yy_state_208) - T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_107) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_483) _ => Error } } -// [182, separated_nonempty_list(SEMI,record_decl_field) → record_decl_field SEMI separated_nonempty_list(SEMI,record_decl_field) •, RBRACE] +// [78, impl_sig → nonempty_list(attribute) PRIV IMPL type_params_with_constraints qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_202(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_SEMI_record_decl_field_, - yy_action_87, - ) +fn yy_state_483(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_impl_sig, yy_action_59) } -// [73, record_decl_field → nonempty_list(attribute) • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [163, boption(MUTABLE) → •, LIDENT] -// [164, boption(MUTABLE) → • MUTABLE, LIDENT] +// [72, type_sig → nonempty_list(attribute) PRIV ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] +// [187, uident → • UIDENT, LBRACKET / LBRACE] ///| -fn yy_state_203(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_484(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MUTABLE => Shift(yy_state_172) - NT_boption_MUTABLE_ => Shift(yy_state_204) - T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_107) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_485) _ => Error } } -// [73, record_decl_field → nonempty_list(attribute) boption(MUTABLE) • LIDENT COLON type_, SEMI / RBRACE] +// [72, type_sig → nonempty_list(attribute) PRIV ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] ///| -fn yy_state_204(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_485(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_205) + T_LBRACE => Shift(yy_state_486) _ => Error } } -// [73, record_decl_field → nonempty_list(attribute) boption(MUTABLE) LIDENT • COLON type_, SEMI / RBRACE] +// [72, type_sig → nonempty_list(attribute) PRIV ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_205(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_486(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_206) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_487) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [73, record_decl_field → nonempty_list(attribute) boption(MUTABLE) LIDENT COLON • type_, SEMI / RBRACE] -// [84, simple_type → • simple_type QUESTION, QUESTION / SEMI / RBRACE] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, QUESTION / SEMI / RBRACE] -// [86, simple_type → • LPAREN type_ RPAREN, QUESTION / SEMI / RBRACE] -// [87, simple_type → • qualified_uident_ optional_type_arguments, QUESTION / SEMI / RBRACE] -// [88, simple_type → • AMPER qualified_uident_, QUESTION / SEMI / RBRACE] -// [89, simple_type → • UNDERSCORE, QUESTION / SEMI / RBRACE] -// [90, type_ → • simple_type, SEMI / RBRACE] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [127, qualified_uident_ → • UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] +// [72, type_sig → nonempty_list(attribute) PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_206(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_487(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_207) + T_RBRACE => Shift(yy_state_488) _ => Error } } -// [73, record_decl_field → nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_ •, SEMI / RBRACE] +// [72, type_sig → nonempty_list(attribute) PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_207(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_record_decl_field, yy_action_86) +fn yy_state_488(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_58) } -// [72, record_decl_field → boption(MUTABLE) • LIDENT COLON type_, SEMI / RBRACE] +// [60, type_sig → nonempty_list(attribute) PRIV STRUCT • type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [66, type_sig → nonempty_list(attribute) PRIV STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] +// [187, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] ///| -fn yy_state_208(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_489(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_209) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_490) _ => Error } } -// [72, record_decl_field → boption(MUTABLE) LIDENT • COLON type_, SEMI / RBRACE] +// [60, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params • LBRACE record_decl_body RBRACE, EOF / SEMI] +// [66, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] ///| -fn yy_state_209(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_490(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_491) + T_LBRACE => Shift(yy_state_494) + _ => Error + } +} + +// [66, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [205, separated_list(COMMA,type_) → •, RPAREN] +// [206, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] + +///| +fn yy_state_491(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_210) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_208) + NT_separated_list_COMMA_type__ => Shift(yy_state_492) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_142) _ => Error } } -// [72, record_decl_field → boption(MUTABLE) LIDENT COLON • type_, SEMI / RBRACE] -// [84, simple_type → • simple_type QUESTION, QUESTION / SEMI / RBRACE] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, QUESTION / SEMI / RBRACE] -// [86, simple_type → • LPAREN type_ RPAREN, QUESTION / SEMI / RBRACE] -// [87, simple_type → • qualified_uident_ optional_type_arguments, QUESTION / SEMI / RBRACE] -// [88, simple_type → • AMPER qualified_uident_, QUESTION / SEMI / RBRACE] -// [89, simple_type → • UNDERSCORE, QUESTION / SEMI / RBRACE] -// [90, type_ → • simple_type, SEMI / RBRACE] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, SEMI / RBRACE] -// [127, qualified_uident_ → • UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, QUESTION / SEMI / LBRACKET / RBRACE] +// [66, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] ///| -fn yy_state_210(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_492(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_211) + T_RPAREN => Shift(yy_state_493) _ => Error } } -// [72, record_decl_field → boption(MUTABLE) LIDENT COLON type_ •, SEMI / RBRACE] +// [66, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] ///| -fn yy_state_211(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_record_decl_field, yy_action_85) +fn yy_state_493(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_57) } -// [148, separated_list(SEMI,record_decl_field) → separated_nonempty_list(SEMI,record_decl_field) •, RBRACE] +// [60, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LBRACE • record_decl_body RBRACE, EOF / SEMI] +// [124, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [125, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [126, record_decl_constr → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [127, record_decl_constr → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [128, record_decl_constr → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [130, record_decl_body → •, RBRACE] +// [131, record_decl_body → • record_decl_constr, RBRACE] +// [132, record_decl_body → • record_decl_body_nonempty, RBRACE] +// [133, record_decl_body_nonempty → • record_decl_field SEMI record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → • record_decl_field, RBRACE] +// [135, record_decl_body_nonempty → • record_decl_field SEMI record_decl_body_nonempty, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / ASYNC / FN / MUTABLE] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / ASYNC / FN / MUTABLE] ///| -fn yy_state_212(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_separated_list_SEMI_record_decl_field_, yy_action_84) +fn yy_state_494(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + T_MUTABLE => Shift(yy_state_184) + NT_record_decl_field => Shift(yy_state_212) + T_FN => Shift(yy_state_216) + T_ASYNC => Shift(yy_state_232) + NT_nonempty_list_attribute_ => Shift(yy_state_242) + NT_boption_MUTABLE_ => Shift(yy_state_266) + NT_record_decl_body_nonempty => Shift(yy_state_270) + NT_record_decl_constr => Shift(yy_state_271) + NT_record_decl_body => Shift(yy_state_495) + T_RBRACE => Reduce(0, NT_record_decl_body, yy_action_139) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) + _ => Error + } } -// [43, type_sig → STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) • RBRACE, EOF / SEMI] +// [60, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body • RBRACE, EOF / SEMI] ///| -fn yy_state_213(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_495(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_214) + T_RBRACE => Shift(yy_state_496) _ => Error } } -// [43, type_sig → STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE •, EOF / SEMI] +// [60, type_sig → nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE •, EOF / SEMI] ///| -fn yy_state_214(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_sig, yy_action_83) +fn yy_state_496(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_56) } -// [34, type_sig → SUBERROR • uident, EOF / SEMI] -// [37, type_sig → SUBERROR • uident type_, EOF / SEMI] -// [40, type_sig → SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [129, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [48, type_sig → nonempty_list(attribute) PRIV SUBERROR • uident option(type_), EOF / SEMI] +// [54, type_sig → nonempty_list(attribute) PRIV SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] ///| -fn yy_state_215(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_497(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_216) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_498) _ => Error } } -// [34, type_sig → SUBERROR uident •, EOF / SEMI] -// [37, type_sig → SUBERROR uident • type_, EOF / SEMI] -// [40, type_sig → SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] - -///| -fn yy_state_216(_lookahead : YYSymbol) -> YYDecision { +// [48, type_sig → nonempty_list(attribute) PRIV SUBERROR uident • option(type_), EOF / SEMI] +// [54, type_sig → nonempty_list(attribute) PRIV SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [201, option(type_) → •, EOF / SEMI] +// [202, option(type_) → • type_, EOF / SEMI] + +///| +fn yy_state_498(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - T_LBRACE => Shift(yy_state_217) - NT_type_ => Shift(yy_state_220) - T_EOF | T_SEMI => Reduce(2, NT_type_sig, yy_action_82) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_276) + T_LBRACE => Shift(yy_state_499) + NT_option_type__ => Shift(yy_state_502) + T_EOF | T_SEMI => Reduce(0, NT_option_type__, yy_action_120) _ => Error } } -// [40, type_sig → SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [68, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [69, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [145, separated_list(SEMI,enum_constructor) → •, RBRACE] -// [146, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] -// [173, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] -// [179, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [54, type_sig → nonempty_list(attribute) PRIV SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_217(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_499(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_enum_constructor => Shift(yy_state_165) - T_ATTRIBUTE => Shift(yy_state_168) - NT_nonempty_list_attribute_ => Shift(yy_state_169) - T_UIDENT => Shift(yy_state_187) - NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_190) - NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_218) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_500) T_RBRACE => - Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_111) + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [40, type_sig → SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] +// [54, type_sig → nonempty_list(attribute) PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_218(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_500(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_219) + T_RBRACE => Shift(yy_state_501) _ => Error } } -// [40, type_sig → SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] +// [54, type_sig → nonempty_list(attribute) PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_219(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_sig, yy_action_81) +fn yy_state_501(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_55) } -// [37, type_sig → SUBERROR uident type_ •, EOF / SEMI] +// [48, type_sig → nonempty_list(attribute) PRIV SUBERROR uident option(type_) •, EOF / SEMI] ///| -fn yy_state_220(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_sig, yy_action_80) +fn yy_state_502(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_sig, yy_action_54) } -// [28, type_sig → TYPE • type_decl_name_with_params, EOF / SEMI] -// [31, type_sig → TYPE • type_decl_name_with_params type_, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / AMPER / PACKAGE_NAME] -// [129, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / LBRACKET / UNDERSCORE / AMPER / PACKAGE_NAME] +// [42, type_sig → nonempty_list(attribute) PRIV TYPE • type_decl_name_with_params, EOF / SEMI] +// [104, alias_sig → nonempty_list(attribute) PRIV TYPE • type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / EQUAL / SEMI] +// [187, uident → • UIDENT, EOF / EQUAL / SEMI / LBRACKET] ///| -fn yy_state_221(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_503(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_222) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_504) _ => Error } } -// [28, type_sig → TYPE type_decl_name_with_params •, EOF / SEMI] -// [31, type_sig → TYPE type_decl_name_with_params • type_, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [42, type_sig → nonempty_list(attribute) PRIV TYPE type_decl_name_with_params •, EOF / SEMI] +// [104, alias_sig → nonempty_list(attribute) PRIV TYPE type_decl_name_with_params • EQUAL type_, EOF / SEMI] ///| -fn yy_state_222(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_504(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_223) - T_EOF | T_SEMI => Reduce(2, NT_type_sig, yy_action_79) + T_EQUAL => Shift(yy_state_505) + T_EOF | T_SEMI => Reduce(4, NT_type_sig, yy_action_53) _ => Error } } -// [31, type_sig → TYPE type_decl_name_with_params type_ •, EOF / SEMI] - -///| -fn yy_state_223(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_sig, yy_action_78) -} - -// [27, type_sig → PUB • pub_attr EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [30, type_sig → PUB • pub_attr TYPE type_decl_name_with_params, EOF / SEMI] -// [33, type_sig → PUB • pub_attr TYPE type_decl_name_with_params type_, EOF / SEMI] -// [36, type_sig → PUB • pub_attr SUBERROR uident, EOF / SEMI] -// [39, type_sig → PUB • pub_attr SUBERROR uident type_, EOF / SEMI] -// [42, type_sig → PUB • pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [45, type_sig → PUB • pub_attr STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [48, type_sig → PUB • pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [51, type_sig → PUB • pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [57, trait_sig → PUB • pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [60, trait_sig → PUB • pub_attr TRAIT uident, EOF / SEMI] -// [63, alias_sig → PUB • pub_attr TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [66, alias_sig → PUB • pub_attr TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [122, pub_attr → •, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] -// [123, pub_attr → • LPAREN READONLY RPAREN, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] -// [124, pub_attr → • LPAREN LIDENT RPAREN, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] - -///| -fn yy_state_224(_lookahead : YYSymbol) -> YYDecision { +// [104, alias_sig → nonempty_list(attribute) PRIV TYPE type_decl_name_with_params EQUAL • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_505(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_225) - NT_pub_attr => Shift(yy_state_230) - T_EXTERN - | T_STRUCT - | T_ENUM - | T_TRAIT - | T_TYPEALIAS - | T_TRAITALIAS - | T_TYPE - | T_SUBERROR => Reduce(0, NT_pub_attr, yy_action_77) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_506) _ => Error } } -// [123, pub_attr → LPAREN • READONLY RPAREN, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] -// [124, pub_attr → LPAREN • LIDENT RPAREN, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] +// [104, alias_sig → nonempty_list(attribute) PRIV TYPE type_decl_name_with_params EQUAL type_ •, EOF / SEMI] ///| -fn yy_state_225(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LIDENT => Shift(yy_state_226) - T_READONLY => Shift(yy_state_228) - _ => Error - } +fn yy_state_506(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_alias_sig, yy_action_52) } -// [124, pub_attr → LPAREN LIDENT • RPAREN, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] +// [26, value_sig → nonempty_list(attribute) PRIV LET • lident COLON type_, EOF / SEMI] +// [188, lident → • LIDENT, COLON] ///| -fn yy_state_226(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_507(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_227) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_508) _ => Error } } -// [124, pub_attr → LPAREN LIDENT RPAREN •, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] - -///| -fn yy_state_227(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_pub_attr, yy_action_76) -} - -// [123, pub_attr → LPAREN READONLY • RPAREN, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] +// [26, value_sig → nonempty_list(attribute) PRIV LET lident • COLON type_, EOF / SEMI] ///| -fn yy_state_228(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_508(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_229) + T_COLON => Shift(yy_state_509) _ => Error } } -// [123, pub_attr → LPAREN READONLY RPAREN •, EXTERN / STRUCT / ENUM / TRAIT / TYPEALIAS / TRAITALIAS / TYPE / SUBERROR] - -///| -fn yy_state_229(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_pub_attr, yy_action_75) -} - -// [27, type_sig → PUB pub_attr • EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [30, type_sig → PUB pub_attr • TYPE type_decl_name_with_params, EOF / SEMI] -// [33, type_sig → PUB pub_attr • TYPE type_decl_name_with_params type_, EOF / SEMI] -// [36, type_sig → PUB pub_attr • SUBERROR uident, EOF / SEMI] -// [39, type_sig → PUB pub_attr • SUBERROR uident type_, EOF / SEMI] -// [42, type_sig → PUB pub_attr • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [45, type_sig → PUB pub_attr • STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [48, type_sig → PUB pub_attr • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [51, type_sig → PUB pub_attr • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [57, trait_sig → PUB pub_attr • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [60, trait_sig → PUB pub_attr • TRAIT uident, EOF / SEMI] -// [63, alias_sig → PUB pub_attr • TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [66, alias_sig → PUB pub_attr • TRAITALIAS qualified_uident AS uident, EOF / SEMI] - -///| -fn yy_state_230(_lookahead : YYSymbol) -> YYDecision { +// [26, value_sig → nonempty_list(attribute) PRIV LET lident COLON • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_509(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TRAITALIAS => Shift(yy_state_231) - T_TYPEALIAS => Shift(yy_state_235) - T_TRAIT => Shift(yy_state_239) - T_ENUM => Shift(yy_state_245) - T_STRUCT => Shift(yy_state_250) - T_SUBERROR => Shift(yy_state_258) - T_TYPE => Shift(yy_state_264) - T_EXTERN => Shift(yy_state_267) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_510) _ => Error } } -// [66, alias_sig → PUB pub_attr TRAITALIAS • qualified_uident AS uident, EOF / SEMI] -// [125, qualified_uident → • UIDENT, AS] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, AS] +// [26, value_sig → nonempty_list(attribute) PRIV LET lident COLON type_ •, EOF / SEMI] ///| -fn yy_state_231(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) - T_UIDENT => Shift(yy_state_23) - NT_qualified_uident => Shift(yy_state_232) - _ => Error - } +fn yy_state_510(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_value_sig, yy_action_51) } -// [66, alias_sig → PUB pub_attr TRAITALIAS qualified_uident • AS uident, EOF / SEMI] +// [20, const_sig → nonempty_list(attribute) PRIV CONST • uident COLON type_ EQUAL constant, EOF / SEMI] +// [187, uident → • UIDENT, COLON] ///| -fn yy_state_232(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_511(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_233) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_512) _ => Error } } -// [66, alias_sig → PUB pub_attr TRAITALIAS qualified_uident AS • uident, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI] +// [20, const_sig → nonempty_list(attribute) PRIV CONST uident • COLON type_ EQUAL constant, EOF / SEMI] ///| -fn yy_state_233(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_512(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_234) + T_COLON => Shift(yy_state_513) _ => Error } } -// [66, alias_sig → PUB pub_attr TRAITALIAS qualified_uident AS uident •, EOF / SEMI] - -///| -fn yy_state_234(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_alias_sig, yy_action_74) -} - -// [63, alias_sig → PUB pub_attr TYPEALIAS • type_ AS type_decl_name_with_params, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, QUESTION / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, QUESTION / AS] -// [86, simple_type → • LPAREN type_ RPAREN, QUESTION / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, QUESTION / AS] -// [88, simple_type → • AMPER qualified_uident_, QUESTION / AS] -// [89, simple_type → • UNDERSCORE, QUESTION / AS] -// [90, type_ → • simple_type, AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, AS] -// [127, qualified_uident_ → • UIDENT, QUESTION / LBRACKET / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, QUESTION / LBRACKET / AS] - -///| -fn yy_state_235(_lookahead : YYSymbol) -> YYDecision { +// [20, const_sig → nonempty_list(attribute) PRIV CONST uident COLON • type_ EQUAL constant, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EQUAL / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, EQUAL / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, EQUAL / QUESTION] +// [151, simple_type → • UNDERSCORE, EQUAL / QUESTION] +// [152, type_ → • simple_type, EQUAL] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [185, qualified_uident_ → • UIDENT, EQUAL / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / QUESTION / LBRACKET] + +///| +fn yy_state_513(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_236) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_514) _ => Error } } -// [63, alias_sig → PUB pub_attr TYPEALIAS type_ • AS type_decl_name_with_params, EOF / SEMI] +// [20, const_sig → nonempty_list(attribute) PRIV CONST uident COLON type_ • EQUAL constant, EOF / SEMI] ///| -fn yy_state_236(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_514(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_237) + T_EQUAL => Shift(yy_state_515) _ => Error } } -// [63, alias_sig → PUB pub_attr TYPEALIAS type_ AS • type_decl_name_with_params, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI / LBRACKET] +// [20, const_sig → nonempty_list(attribute) PRIV CONST uident COLON type_ EQUAL • constant, EOF / SEMI] +// [171, constant → • TRUE, EOF / SEMI] +// [172, constant → • FALSE, EOF / SEMI] +// [173, constant → • BYTE, EOF / SEMI] +// [174, constant → • BYTES, EOF / SEMI] +// [175, constant → • CHAR, EOF / SEMI] +// [176, constant → • INT, EOF / SEMI] +// [177, constant → • FLOAT, EOF / SEMI] +// [178, constant → • DOUBLE, EOF / SEMI] +// [179, constant → • STRING, EOF / SEMI] ///| -fn yy_state_237(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_515(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_238) + T_STRING => Shift(yy_state_448) + T_DOUBLE => Shift(yy_state_449) + T_FLOAT => Shift(yy_state_450) + T_INT => Shift(yy_state_451) + T_CHAR => Shift(yy_state_452) + T_BYTES => Shift(yy_state_453) + T_BYTE => Shift(yy_state_454) + T_FALSE => Shift(yy_state_455) + T_TRUE => Shift(yy_state_456) + NT_constant => Shift(yy_state_516) _ => Error } } -// [63, alias_sig → PUB pub_attr TYPEALIAS type_ AS type_decl_name_with_params •, EOF / SEMI] +// [20, const_sig → nonempty_list(attribute) PRIV CONST uident COLON type_ EQUAL constant •, EOF / SEMI] ///| -fn yy_state_238(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_alias_sig, yy_action_73) +fn yy_state_516(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_const_sig, yy_action_50) } -// [57, trait_sig → PUB pub_attr TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [60, trait_sig → PUB pub_attr TRAIT • uident, EOF / SEMI] -// [129, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] +// [19, const_sig → nonempty_list(attribute) CONST • uident COLON type_ EQUAL constant, EOF / SEMI] +// [187, uident → • UIDENT, COLON] ///| -fn yy_state_239(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_517(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_240) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_518) _ => Error } } -// [57, trait_sig → PUB pub_attr TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [60, trait_sig → PUB pub_attr TRAIT uident •, EOF / SEMI] -// [153, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] -// [154, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [19, const_sig → nonempty_list(attribute) CONST uident • COLON type_ EQUAL constant, EOF / SEMI] ///| -fn yy_state_240(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_518(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_106) - NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => - Shift(yy_state_241) - T_LBRACE => - Reduce( - 0, - NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, - yy_action_144, - ) - T_EOF | T_SEMI => Reduce(4, NT_trait_sig, yy_action_72) + T_COLON => Shift(yy_state_519) _ => Error } } -// [57, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] - -///| -fn yy_state_241(_lookahead : YYSymbol) -> YYDecision { +// [19, const_sig → nonempty_list(attribute) CONST uident COLON • type_ EQUAL constant, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EQUAL / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, EQUAL / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, EQUAL / QUESTION] +// [151, simple_type → • UNDERSCORE, EQUAL / QUESTION] +// [152, type_ → • simple_type, EQUAL] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [185, qualified_uident_ → • UIDENT, EQUAL / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / QUESTION / LBRACKET] + +///| +fn yy_state_519(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_242) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_520) _ => Error } } -// [24, trait_method_sig → • lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] -// [57, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [130, lident → • LIDENT, LPAREN] -// [155, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] -// [156, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [19, const_sig → nonempty_list(attribute) CONST uident COLON type_ • EQUAL constant, EOF / SEMI] ///| -fn yy_state_242(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_520(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_trait_method_sig => Shift(yy_state_113) - NT_lident => Shift(yy_state_116) - NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_243) + T_EQUAL => Shift(yy_state_521) _ => Error } } -// [57, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] +// [19, const_sig → nonempty_list(attribute) CONST uident COLON type_ EQUAL • constant, EOF / SEMI] +// [171, constant → • TRUE, EOF / SEMI] +// [172, constant → • FALSE, EOF / SEMI] +// [173, constant → • BYTE, EOF / SEMI] +// [174, constant → • BYTES, EOF / SEMI] +// [175, constant → • CHAR, EOF / SEMI] +// [176, constant → • INT, EOF / SEMI] +// [177, constant → • FLOAT, EOF / SEMI] +// [178, constant → • DOUBLE, EOF / SEMI] +// [179, constant → • STRING, EOF / SEMI] ///| -fn yy_state_243(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_521(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_244) + T_STRING => Shift(yy_state_448) + T_DOUBLE => Shift(yy_state_449) + T_FLOAT => Shift(yy_state_450) + T_INT => Shift(yy_state_451) + T_CHAR => Shift(yy_state_452) + T_BYTES => Shift(yy_state_453) + T_BYTE => Shift(yy_state_454) + T_FALSE => Shift(yy_state_455) + T_TRUE => Shift(yy_state_456) + NT_constant => Shift(yy_state_522) _ => Error } } -// [57, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] +// [19, const_sig → nonempty_list(attribute) CONST uident COLON type_ EQUAL constant •, EOF / SEMI] ///| -fn yy_state_244(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(8, NT_trait_sig, yy_action_71) +fn yy_state_522(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_const_sig, yy_action_48) } -// [51, type_sig → PUB pub_attr ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] -// [129, uident → • UIDENT, LBRACKET / LBRACE] +// [18, const_sig → PUB • pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [24, value_sig → PUB • pub_attr LET lident COLON type_, EOF / SEMI] +// [40, type_sig → PUB • pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [46, type_sig → PUB • pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [52, type_sig → PUB • pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [58, type_sig → PUB • pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [64, type_sig → PUB • pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [70, type_sig → PUB • pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [76, impl_sig → PUB • pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [82, impl_sig → PUB • pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [88, trait_sig → PUB • pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [94, trait_sig → PUB • pub_attr TRAIT uident, EOF / SEMI] +// [102, alias_sig → PUB • pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [110, alias_sig → PUB • pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → PUB • pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [180, pub_attr → •, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] +// [181, pub_attr → • LPAREN READONLY RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] +// [182, pub_attr → • LPAREN LIDENT RPAREN, STRUCT / ENUM / TRAIT / IMPL / LET / CONST / TYPE / SUBERROR / USING] ///| -fn yy_state_245(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_523(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_246) + T_LPAREN => Shift(yy_state_385) + NT_pub_attr => Shift(yy_state_524) + T_STRUCT + | T_ENUM + | T_TRAIT + | T_IMPL + | T_LET + | T_CONST + | T_TYPE + | T_SUBERROR + | T_USING => Reduce(0, NT_pub_attr, yy_action_91) _ => Error } } -// [51, type_sig → PUB pub_attr ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [18, const_sig → PUB pub_attr • CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [24, value_sig → PUB pub_attr • LET lident COLON type_, EOF / SEMI] +// [40, type_sig → PUB pub_attr • TYPE type_decl_name_with_params, EOF / SEMI] +// [46, type_sig → PUB pub_attr • SUBERROR uident option(type_), EOF / SEMI] +// [52, type_sig → PUB pub_attr • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [58, type_sig → PUB pub_attr • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [64, type_sig → PUB pub_attr • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [70, type_sig → PUB pub_attr • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [76, impl_sig → PUB pub_attr • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [82, impl_sig → PUB pub_attr • IMPL qualified_uident FOR type_, EOF / SEMI] +// [88, trait_sig → PUB pub_attr • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [94, trait_sig → PUB pub_attr • TRAIT uident, EOF / SEMI] +// [102, alias_sig → PUB pub_attr • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [110, alias_sig → PUB pub_attr • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → PUB pub_attr • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_246(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_524(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_247) + T_USING => Shift(yy_state_525) + T_TRAIT => Shift(yy_state_536) + T_IMPL => Shift(yy_state_542) + T_ENUM => Shift(yy_state_550) + T_STRUCT => Shift(yy_state_555) + T_SUBERROR => Shift(yy_state_563) + T_TYPE => Shift(yy_state_569) + T_LET => Shift(yy_state_573) + T_CONST => Shift(yy_state_577) _ => Error } } -// [51, type_sig → PUB pub_attr ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [68, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [69, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [145, separated_list(SEMI,enum_constructor) → •, RBRACE] -// [146, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] -// [173, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] -// [179, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [110, alias_sig → PUB pub_attr USING • PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → PUB pub_attr USING • PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_247(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_525(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_enum_constructor => Shift(yy_state_165) - T_ATTRIBUTE => Shift(yy_state_168) - NT_nonempty_list_attribute_ => Shift(yy_state_169) - T_UIDENT => Shift(yy_state_187) - NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_190) - NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_248) - T_RBRACE => - Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_111) + T_PACKAGE_NAME => Shift(yy_state_526) _ => Error } } -// [51, type_sig → PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] +// [110, alias_sig → PUB pub_attr USING PACKAGE_NAME • LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → PUB pub_attr USING PACKAGE_NAME • LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_248(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_526(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_249) + T_LBRACE => Shift(yy_state_527) _ => Error } } -// [51, type_sig → PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] +// [110, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE • TYPE uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE • TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_249(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_sig, yy_action_70) +fn yy_state_527(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_TRAIT => Shift(yy_state_528) + T_TYPE => Shift(yy_state_532) + _ => Error + } } -// [45, type_sig → PUB pub_attr STRUCT • type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [48, type_sig → PUB pub_attr STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] -// [129, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] +// [116, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_250(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_528(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_251) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_529) _ => Error } } -// [45, type_sig → PUB pub_attr STRUCT type_decl_name_with_params • LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [48, type_sig → PUB pub_attr STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [116, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_251(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_529(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_252) - T_LBRACE => Shift(yy_state_255) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_530) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [48, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [149, separated_list(COMMA,type_) → •, RPAREN] -// [150, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] -// [171, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] -// [172, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] +// [116, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_252(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_530(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - NT_type_ => Shift(yy_state_48) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_196) - NT_separated_list_COMMA_type__ => Shift(yy_state_253) - T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_92) + T_RBRACE => Shift(yy_state_531) _ => Error } } -// [48, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] +// [116, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_253(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_RPAREN => Shift(yy_state_254) - _ => Error - } +fn yy_state_531(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_alias_sig, yy_action_47) } -// [48, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] +// [110, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TYPE • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_254(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_sig, yy_action_69) +fn yy_state_532(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_533) + _ => Error + } } -// [45, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LBRACE • separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [72, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [73, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [147, separated_list(SEMI,record_decl_field) → •, RBRACE] -// [148, separated_list(SEMI,record_decl_field) → • separated_nonempty_list(SEMI,record_decl_field), RBRACE] -// [163, boption(MUTABLE) → •, LIDENT] -// [164, boption(MUTABLE) → • MUTABLE, LIDENT] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / MUTABLE] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / MUTABLE] -// [181, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field, RBRACE] -// [182, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field SEMI separated_nonempty_list(SEMI,record_decl_field), RBRACE] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [110, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_255(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_533(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_168) - T_MUTABLE => Shift(yy_state_172) - NT_record_decl_field => Shift(yy_state_200) - NT_nonempty_list_attribute_ => Shift(yy_state_203) - NT_boption_MUTABLE_ => Shift(yy_state_208) - NT_separated_nonempty_list_SEMI_record_decl_field_ => Shift(yy_state_212) - NT_separated_list_SEMI_record_decl_field_ => Shift(yy_state_256) - T_RBRACE => - Reduce(0, NT_separated_list_SEMI_record_decl_field_, yy_action_89) - T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_107) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_534) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [45, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) • RBRACE, EOF / SEMI] +// [110, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_256(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_534(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_257) + T_RBRACE => Shift(yy_state_535) _ => Error } } -// [45, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE •, EOF / SEMI] +// [110, alias_sig → PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_257(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_sig, yy_action_68) +fn yy_state_535(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_alias_sig, yy_action_46) } -// [36, type_sig → PUB pub_attr SUBERROR • uident, EOF / SEMI] -// [39, type_sig → PUB pub_attr SUBERROR • uident type_, EOF / SEMI] -// [42, type_sig → PUB pub_attr SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [129, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [88, trait_sig → PUB pub_attr TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [94, trait_sig → PUB pub_attr TRAIT • uident, EOF / SEMI] +// [187, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] ///| -fn yy_state_258(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_536(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_259) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_537) _ => Error } } -// [36, type_sig → PUB pub_attr SUBERROR uident •, EOF / SEMI] -// [39, type_sig → PUB pub_attr SUBERROR uident • type_, EOF / SEMI] -// [42, type_sig → PUB pub_attr SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [88, trait_sig → PUB pub_attr TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [94, trait_sig → PUB pub_attr TRAIT uident •, EOF / SEMI] +// [209, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] ///| -fn yy_state_259(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_537(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - T_LBRACE => Shift(yy_state_260) - NT_type_ => Shift(yy_state_263) - T_EOF | T_SEMI => Reduce(4, NT_type_sig, yy_action_67) + T_COLON => Shift(yy_state_40) + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => + Shift(yy_state_538) + T_LBRACE => + Reduce( + 0, + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, + yy_action_236, + ) + T_EOF | T_SEMI => Reduce(4, NT_trait_sig, yy_action_45) _ => Error } } -// [42, type_sig → PUB pub_attr SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [68, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [69, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [145, separated_list(SEMI,enum_constructor) → •, RBRACE] -// [146, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] -// [173, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] -// [179, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [88, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] ///| -fn yy_state_260(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_538(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_enum_constructor => Shift(yy_state_165) - T_ATTRIBUTE => Shift(yy_state_168) - NT_nonempty_list_attribute_ => Shift(yy_state_169) - T_UIDENT => Shift(yy_state_187) - NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_190) - NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_261) - T_RBRACE => - Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_111) + T_LBRACE => Shift(yy_state_539) _ => Error } } -// [42, type_sig → PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] +// [36, trait_method_sig → • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [37, trait_method_sig → • nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [88, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] +// [211, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT] ///| -fn yy_state_261(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_539(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_262) + T_ATTRIBUTE => Shift(yy_state_17) + T_LIDENT => Shift(yy_state_36) + NT_trait_method_sig => Shift(yy_state_50) + NT_nonempty_list_attribute_ => Shift(yy_state_53) + NT_lident => Shift(yy_state_132) + NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_540) _ => Error } } -// [42, type_sig → PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] +// [88, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] ///| -fn yy_state_262(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_sig, yy_action_66) +fn yy_state_540(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_541) + _ => Error + } } -// [39, type_sig → PUB pub_attr SUBERROR uident type_ •, EOF / SEMI] +// [88, trait_sig → PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] ///| -fn yy_state_263(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_sig, yy_action_65) +fn yy_state_541(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_trait_sig, yy_action_44) } -// [30, type_sig → PUB pub_attr TYPE • type_decl_name_with_params, EOF / SEMI] -// [33, type_sig → PUB pub_attr TYPE • type_decl_name_with_params type_, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / AMPER / PACKAGE_NAME] -// [129, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / LBRACKET / UNDERSCORE / AMPER / PACKAGE_NAME] +// [76, impl_sig → PUB pub_attr IMPL • type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [82, impl_sig → PUB pub_attr IMPL • qualified_uident FOR type_, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, UIDENT / PACKAGE_NAME] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_264(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_542(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_265) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + T_LBRACKET => Shift(yy_state_142) + NT_qualified_uident => Shift(yy_state_543) + NT_type_params_with_constraints => Shift(yy_state_546) _ => Error } } -// [30, type_sig → PUB pub_attr TYPE type_decl_name_with_params •, EOF / SEMI] -// [33, type_sig → PUB pub_attr TYPE type_decl_name_with_params • type_, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [82, impl_sig → PUB pub_attr IMPL qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_265(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_543(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FOR => Shift(yy_state_544) + _ => Error + } +} + +// [82, impl_sig → PUB pub_attr IMPL qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_544(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_266) - T_EOF | T_SEMI => Reduce(4, NT_type_sig, yy_action_64) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_545) _ => Error } } -// [33, type_sig → PUB pub_attr TYPE type_decl_name_with_params type_ •, EOF / SEMI] +// [82, impl_sig → PUB pub_attr IMPL qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_266(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_sig, yy_action_63) +fn yy_state_545(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_impl_sig, yy_action_43) } -// [27, type_sig → PUB pub_attr EXTERN • TYPE type_decl_name_with_params, EOF / SEMI] +// [76, impl_sig → PUB pub_attr IMPL type_params_with_constraints • qualified_uident FOR type_, EOF / SEMI] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_267(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_546(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_268) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_qualified_uident => Shift(yy_state_547) _ => Error } } -// [27, type_sig → PUB pub_attr EXTERN TYPE • type_decl_name_with_params, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI / LBRACKET] +// [76, impl_sig → PUB pub_attr IMPL type_params_with_constraints qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_268(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_547(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_269) + T_FOR => Shift(yy_state_548) _ => Error } } -// [27, type_sig → PUB pub_attr EXTERN TYPE type_decl_name_with_params •, EOF / SEMI] - -///| -fn yy_state_269(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_sig, yy_action_61) +// [76, impl_sig → PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_548(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_549) + _ => Error + } } -// [26, type_sig → PRIV • EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [29, type_sig → PRIV • TYPE type_decl_name_with_params, EOF / SEMI] -// [32, type_sig → PRIV • TYPE type_decl_name_with_params type_, EOF / SEMI] -// [35, type_sig → PRIV • SUBERROR uident, EOF / SEMI] -// [38, type_sig → PRIV • SUBERROR uident type_, EOF / SEMI] -// [41, type_sig → PRIV • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [44, type_sig → PRIV • STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [47, type_sig → PRIV • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [50, type_sig → PRIV • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [56, trait_sig → PRIV • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [59, trait_sig → PRIV • TRAIT uident, EOF / SEMI] -// [62, alias_sig → PRIV • TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [65, alias_sig → PRIV • TRAITALIAS qualified_uident AS uident, EOF / SEMI] +// [76, impl_sig → PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_270(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_TRAITALIAS => Shift(yy_state_271) - T_TYPEALIAS => Shift(yy_state_275) - T_TRAIT => Shift(yy_state_279) - T_ENUM => Shift(yy_state_285) - T_STRUCT => Shift(yy_state_290) - T_SUBERROR => Shift(yy_state_298) - T_TYPE => Shift(yy_state_304) - T_EXTERN => Shift(yy_state_307) - _ => Error - } +fn yy_state_549(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_impl_sig, yy_action_42) } -// [65, alias_sig → PRIV TRAITALIAS • qualified_uident AS uident, EOF / SEMI] -// [125, qualified_uident → • UIDENT, AS] -// [126, qualified_uident → • PACKAGE_NAME DOT_UIDENT, AS] +// [70, type_sig → PUB pub_attr ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] +// [187, uident → • UIDENT, LBRACKET / LBRACE] ///| -fn yy_state_271(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_550(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_21) T_UIDENT => Shift(yy_state_23) - NT_qualified_uident => Shift(yy_state_272) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_551) _ => Error } } -// [65, alias_sig → PRIV TRAITALIAS qualified_uident • AS uident, EOF / SEMI] +// [70, type_sig → PUB pub_attr ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] ///| -fn yy_state_272(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_551(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_273) + T_LBRACE => Shift(yy_state_552) _ => Error } } -// [65, alias_sig → PRIV TRAITALIAS qualified_uident AS • uident, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI] +// [70, type_sig → PUB pub_attr ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_273(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_552(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_274) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_553) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [65, alias_sig → PRIV TRAITALIAS qualified_uident AS uident •, EOF / SEMI] +// [70, type_sig → PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_274(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_alias_sig, yy_action_60) -} - -// [62, alias_sig → PRIV TYPEALIAS • type_ AS type_decl_name_with_params, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, QUESTION / AS] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, QUESTION / AS] -// [86, simple_type → • LPAREN type_ RPAREN, QUESTION / AS] -// [87, simple_type → • qualified_uident_ optional_type_arguments, QUESTION / AS] -// [88, simple_type → • AMPER qualified_uident_, QUESTION / AS] -// [89, simple_type → • UNDERSCORE, QUESTION / AS] -// [90, type_ → • simple_type, AS] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, AS] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, AS] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, AS] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, AS] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, AS] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, AS] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, AS] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, AS] -// [127, qualified_uident_ → • UIDENT, QUESTION / LBRACKET / AS] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, QUESTION / LBRACKET / AS] - -///| -fn yy_state_275(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_553(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_276) + T_RBRACE => Shift(yy_state_554) _ => Error } } -// [62, alias_sig → PRIV TYPEALIAS type_ • AS type_decl_name_with_params, EOF / SEMI] +// [70, type_sig → PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_276(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_AS => Shift(yy_state_277) - _ => Error - } +fn yy_state_554(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_41) } -// [62, alias_sig → PRIV TYPEALIAS type_ AS • type_decl_name_with_params, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI / LBRACKET] +// [58, type_sig → PUB pub_attr STRUCT • type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [64, type_sig → PUB pub_attr STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] +// [187, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] ///| -fn yy_state_277(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_555(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_278) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_556) _ => Error } } -// [62, alias_sig → PRIV TYPEALIAS type_ AS type_decl_name_with_params •, EOF / SEMI] +// [58, type_sig → PUB pub_attr STRUCT type_decl_name_with_params • LBRACE record_decl_body RBRACE, EOF / SEMI] +// [64, type_sig → PUB pub_attr STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] ///| -fn yy_state_278(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_alias_sig, yy_action_59) +fn yy_state_556(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_557) + T_LBRACE => Shift(yy_state_560) + _ => Error + } } -// [56, trait_sig → PRIV TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [59, trait_sig → PRIV TRAIT • uident, EOF / SEMI] -// [129, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] - -///| -fn yy_state_279(_lookahead : YYSymbol) -> YYDecision { +// [64, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [205, separated_list(COMMA,type_) → •, RPAREN] +// [206, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] + +///| +fn yy_state_557(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_280) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_208) + NT_separated_list_COMMA_type__ => Shift(yy_state_558) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_142) _ => Error } } -// [56, trait_sig → PRIV TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [59, trait_sig → PRIV TRAIT uident •, EOF / SEMI] -// [153, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] -// [154, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] +// [64, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] ///| -fn yy_state_280(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_558(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_106) - NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => - Shift(yy_state_281) - T_LBRACE => - Reduce( - 0, - NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, - yy_action_144, - ) - T_EOF | T_SEMI => Reduce(3, NT_trait_sig, yy_action_58) + T_RPAREN => Shift(yy_state_559) _ => Error } } -// [56, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [64, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] ///| -fn yy_state_281(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LBRACE => Shift(yy_state_282) - _ => Error - } +fn yy_state_559(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_40) } -// [24, trait_method_sig → • lident LPAREN separated_list(COMMA,trait_method_parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] -// [56, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [130, lident → • LIDENT, LPAREN] -// [155, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] -// [156, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [58, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LBRACE • record_decl_body RBRACE, EOF / SEMI] +// [124, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [125, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [126, record_decl_constr → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [127, record_decl_constr → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [128, record_decl_constr → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [130, record_decl_body → •, RBRACE] +// [131, record_decl_body → • record_decl_constr, RBRACE] +// [132, record_decl_body → • record_decl_body_nonempty, RBRACE] +// [133, record_decl_body_nonempty → • record_decl_field SEMI record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → • record_decl_field, RBRACE] +// [135, record_decl_body_nonempty → • record_decl_field SEMI record_decl_body_nonempty, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / ASYNC / FN / MUTABLE] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / ASYNC / FN / MUTABLE] ///| -fn yy_state_282(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_560(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_trait_method_sig => Shift(yy_state_113) - NT_lident => Shift(yy_state_116) - NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_283) + T_ATTRIBUTE => Shift(yy_state_17) + T_MUTABLE => Shift(yy_state_184) + NT_record_decl_field => Shift(yy_state_212) + T_FN => Shift(yy_state_216) + T_ASYNC => Shift(yy_state_232) + NT_nonempty_list_attribute_ => Shift(yy_state_242) + NT_boption_MUTABLE_ => Shift(yy_state_266) + NT_record_decl_body_nonempty => Shift(yy_state_270) + NT_record_decl_constr => Shift(yy_state_271) + NT_record_decl_body => Shift(yy_state_561) + T_RBRACE => Reduce(0, NT_record_decl_body, yy_action_139) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) _ => Error } } -// [56, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] +// [58, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body • RBRACE, EOF / SEMI] ///| -fn yy_state_283(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_561(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_284) + T_RBRACE => Shift(yy_state_562) _ => Error } } -// [56, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] +// [58, type_sig → PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE •, EOF / SEMI] ///| -fn yy_state_284(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_trait_sig, yy_action_57) +fn yy_state_562(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_39) } -// [50, type_sig → PRIV ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] -// [129, uident → • UIDENT, LBRACKET / LBRACE] +// [46, type_sig → PUB pub_attr SUBERROR • uident option(type_), EOF / SEMI] +// [52, type_sig → PUB pub_attr SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] ///| -fn yy_state_285(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_563(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_286) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_564) _ => Error } } -// [50, type_sig → PRIV ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] - -///| -fn yy_state_286(_lookahead : YYSymbol) -> YYDecision { +// [46, type_sig → PUB pub_attr SUBERROR uident • option(type_), EOF / SEMI] +// [52, type_sig → PUB pub_attr SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [201, option(type_) → •, EOF / SEMI] +// [202, option(type_) → • type_, EOF / SEMI] + +///| +fn yy_state_564(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_287) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_276) + T_LBRACE => Shift(yy_state_565) + NT_option_type__ => Shift(yy_state_568) + T_EOF | T_SEMI => Reduce(0, NT_option_type__, yy_action_120) _ => Error } } -// [50, type_sig → PRIV ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [68, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [69, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [145, separated_list(SEMI,enum_constructor) → •, RBRACE] -// [146, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] -// [173, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] -// [179, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [52, type_sig → PUB pub_attr SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_287(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_565(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_enum_constructor => Shift(yy_state_165) - T_ATTRIBUTE => Shift(yy_state_168) - NT_nonempty_list_attribute_ => Shift(yy_state_169) - T_UIDENT => Shift(yy_state_187) - NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_190) - NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_288) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_566) T_RBRACE => - Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_111) + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [50, type_sig → PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] +// [52, type_sig → PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_288(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_566(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_289) + T_RBRACE => Shift(yy_state_567) _ => Error } } -// [50, type_sig → PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] +// [52, type_sig → PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_289(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_sig, yy_action_56) +fn yy_state_567(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_type_sig, yy_action_38) } -// [44, type_sig → PRIV STRUCT • type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [47, type_sig → PRIV STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] -// [129, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] +// [46, type_sig → PUB pub_attr SUBERROR uident option(type_) •, EOF / SEMI] ///| -fn yy_state_290(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_291) - _ => Error - } +fn yy_state_568(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_type_sig, yy_action_37) } -// [44, type_sig → PRIV STRUCT type_decl_name_with_params • LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [47, type_sig → PRIV STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [40, type_sig → PUB pub_attr TYPE • type_decl_name_with_params, EOF / SEMI] +// [102, alias_sig → PUB pub_attr TYPE • type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / EQUAL / SEMI] +// [187, uident → • UIDENT, EOF / EQUAL / SEMI / LBRACKET] ///| -fn yy_state_291(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_569(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_292) - T_LBRACE => Shift(yy_state_295) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_570) _ => Error } } -// [47, type_sig → PRIV STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [149, separated_list(COMMA,type_) → •, RPAREN] -// [150, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] -// [171, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] -// [172, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] +// [40, type_sig → PUB pub_attr TYPE type_decl_name_with_params •, EOF / SEMI] +// [102, alias_sig → PUB pub_attr TYPE type_decl_name_with_params • EQUAL type_, EOF / SEMI] ///| -fn yy_state_292(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_570(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - NT_type_ => Shift(yy_state_48) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_196) - NT_separated_list_COMMA_type__ => Shift(yy_state_293) - T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_92) + T_EQUAL => Shift(yy_state_571) + T_EOF | T_SEMI => Reduce(4, NT_type_sig, yy_action_36) _ => Error } } -// [47, type_sig → PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] - -///| -fn yy_state_293(_lookahead : YYSymbol) -> YYDecision { +// [102, alias_sig → PUB pub_attr TYPE type_decl_name_with_params EQUAL • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_571(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_294) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_572) _ => Error } } -// [47, type_sig → PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] +// [102, alias_sig → PUB pub_attr TYPE type_decl_name_with_params EQUAL type_ •, EOF / SEMI] ///| -fn yy_state_294(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_sig, yy_action_55) +fn yy_state_572(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_alias_sig, yy_action_35) } -// [44, type_sig → PRIV STRUCT type_decl_name_with_params LBRACE • separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [72, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [73, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] -// [147, separated_list(SEMI,record_decl_field) → •, RBRACE] -// [148, separated_list(SEMI,record_decl_field) → • separated_nonempty_list(SEMI,record_decl_field), RBRACE] -// [163, boption(MUTABLE) → •, LIDENT] -// [164, boption(MUTABLE) → • MUTABLE, LIDENT] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / MUTABLE] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / MUTABLE] -// [181, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field, RBRACE] -// [182, separated_nonempty_list(SEMI,record_decl_field) → • record_decl_field SEMI separated_nonempty_list(SEMI,record_decl_field), RBRACE] +// [24, value_sig → PUB pub_attr LET • lident COLON type_, EOF / SEMI] +// [188, lident → • LIDENT, COLON] ///| -fn yy_state_295(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_573(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_168) - T_MUTABLE => Shift(yy_state_172) - NT_record_decl_field => Shift(yy_state_200) - NT_nonempty_list_attribute_ => Shift(yy_state_203) - NT_boption_MUTABLE_ => Shift(yy_state_208) - NT_separated_nonempty_list_SEMI_record_decl_field_ => Shift(yy_state_212) - NT_separated_list_SEMI_record_decl_field_ => Shift(yy_state_296) - T_RBRACE => - Reduce(0, NT_separated_list_SEMI_record_decl_field_, yy_action_89) - T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_107) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_574) _ => Error } } -// [44, type_sig → PRIV STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) • RBRACE, EOF / SEMI] +// [24, value_sig → PUB pub_attr LET lident • COLON type_, EOF / SEMI] ///| -fn yy_state_296(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_574(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_575) + _ => Error + } +} + +// [24, value_sig → PUB pub_attr LET lident COLON • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_575(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_297) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_576) _ => Error } } -// [44, type_sig → PRIV STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE •, EOF / SEMI] +// [24, value_sig → PUB pub_attr LET lident COLON type_ •, EOF / SEMI] ///| -fn yy_state_297(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_sig, yy_action_54) +fn yy_state_576(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_value_sig, yy_action_34) } -// [35, type_sig → PRIV SUBERROR • uident, EOF / SEMI] -// [38, type_sig → PRIV SUBERROR • uident type_, EOF / SEMI] -// [41, type_sig → PRIV SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [129, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] +// [18, const_sig → PUB pub_attr CONST • uident COLON type_ EQUAL constant, EOF / SEMI] +// [187, uident → • UIDENT, COLON] ///| -fn yy_state_298(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_577(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_299) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_578) _ => Error } } -// [35, type_sig → PRIV SUBERROR uident •, EOF / SEMI] -// [38, type_sig → PRIV SUBERROR uident • type_, EOF / SEMI] -// [41, type_sig → PRIV SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [18, const_sig → PUB pub_attr CONST uident • COLON type_ EQUAL constant, EOF / SEMI] ///| -fn yy_state_299(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_578(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - T_LBRACE => Shift(yy_state_300) - NT_type_ => Shift(yy_state_303) - T_EOF | T_SEMI => Reduce(3, NT_type_sig, yy_action_53) + T_COLON => Shift(yy_state_579) _ => Error } } -// [41, type_sig → PRIV SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [68, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [69, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] -// [145, separated_list(SEMI,enum_constructor) → •, RBRACE] -// [146, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] -// [173, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] -// [179, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] -// [180, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] - -///| -fn yy_state_300(_lookahead : YYSymbol) -> YYDecision { +// [18, const_sig → PUB pub_attr CONST uident COLON • type_ EQUAL constant, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EQUAL / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, EQUAL / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, EQUAL / QUESTION] +// [151, simple_type → • UNDERSCORE, EQUAL / QUESTION] +// [152, type_ → • simple_type, EQUAL] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [185, qualified_uident_ → • UIDENT, EQUAL / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / QUESTION / LBRACKET] + +///| +fn yy_state_579(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_enum_constructor => Shift(yy_state_165) - T_ATTRIBUTE => Shift(yy_state_168) - NT_nonempty_list_attribute_ => Shift(yy_state_169) - T_UIDENT => Shift(yy_state_187) - NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_190) - NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_301) - T_RBRACE => - Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_111) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_580) _ => Error } } -// [41, type_sig → PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] +// [18, const_sig → PUB pub_attr CONST uident COLON type_ • EQUAL constant, EOF / SEMI] ///| -fn yy_state_301(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_580(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_302) + T_EQUAL => Shift(yy_state_581) _ => Error } } -// [41, type_sig → PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] +// [18, const_sig → PUB pub_attr CONST uident COLON type_ EQUAL • constant, EOF / SEMI] +// [171, constant → • TRUE, EOF / SEMI] +// [172, constant → • FALSE, EOF / SEMI] +// [173, constant → • BYTE, EOF / SEMI] +// [174, constant → • BYTES, EOF / SEMI] +// [175, constant → • CHAR, EOF / SEMI] +// [176, constant → • INT, EOF / SEMI] +// [177, constant → • FLOAT, EOF / SEMI] +// [178, constant → • DOUBLE, EOF / SEMI] +// [179, constant → • STRING, EOF / SEMI] ///| -fn yy_state_302(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_sig, yy_action_52) +fn yy_state_581(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_STRING => Shift(yy_state_448) + T_DOUBLE => Shift(yy_state_449) + T_FLOAT => Shift(yy_state_450) + T_INT => Shift(yy_state_451) + T_CHAR => Shift(yy_state_452) + T_BYTES => Shift(yy_state_453) + T_BYTE => Shift(yy_state_454) + T_FALSE => Shift(yy_state_455) + T_TRUE => Shift(yy_state_456) + NT_constant => Shift(yy_state_582) + _ => Error + } } -// [38, type_sig → PRIV SUBERROR uident type_ •, EOF / SEMI] +// [18, const_sig → PUB pub_attr CONST uident COLON type_ EQUAL constant •, EOF / SEMI] ///| -fn yy_state_303(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_type_sig, yy_action_51) +fn yy_state_582(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_const_sig, yy_action_32) } -// [29, type_sig → PRIV TYPE • type_decl_name_with_params, EOF / SEMI] -// [32, type_sig → PRIV TYPE • type_decl_name_with_params type_, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / AMPER / PACKAGE_NAME] -// [129, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / LBRACKET / UNDERSCORE / AMPER / PACKAGE_NAME] +// [17, const_sig → PRIV • CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [23, value_sig → PRIV • LET lident COLON type_, EOF / SEMI] +// [39, type_sig → PRIV • TYPE type_decl_name_with_params, EOF / SEMI] +// [45, type_sig → PRIV • SUBERROR uident option(type_), EOF / SEMI] +// [51, type_sig → PRIV • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [57, type_sig → PRIV • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [63, type_sig → PRIV • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [69, type_sig → PRIV • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [75, impl_sig → PRIV • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [81, impl_sig → PRIV • IMPL qualified_uident FOR type_, EOF / SEMI] +// [87, trait_sig → PRIV • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [93, trait_sig → PRIV • TRAIT uident, EOF / SEMI] +// [101, alias_sig → PRIV • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [109, alias_sig → PRIV • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [115, alias_sig → PRIV • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_304(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_583(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_305) + T_USING => Shift(yy_state_584) + T_TRAIT => Shift(yy_state_595) + T_IMPL => Shift(yy_state_601) + T_ENUM => Shift(yy_state_609) + T_STRUCT => Shift(yy_state_614) + T_SUBERROR => Shift(yy_state_622) + T_TYPE => Shift(yy_state_628) + T_LET => Shift(yy_state_632) + T_CONST => Shift(yy_state_636) _ => Error } } -// [29, type_sig → PRIV TYPE type_decl_name_with_params •, EOF / SEMI] -// [32, type_sig → PRIV TYPE type_decl_name_with_params • type_, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [109, alias_sig → PRIV USING • PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [115, alias_sig → PRIV USING • PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_305(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_584(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_306) - T_EOF | T_SEMI => Reduce(3, NT_type_sig, yy_action_50) + T_PACKAGE_NAME => Shift(yy_state_585) _ => Error } } -// [32, type_sig → PRIV TYPE type_decl_name_with_params type_ •, EOF / SEMI] - -///| -fn yy_state_306(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_type_sig, yy_action_49) -} - -// [26, type_sig → PRIV EXTERN • TYPE type_decl_name_with_params, EOF / SEMI] +// [109, alias_sig → PRIV USING PACKAGE_NAME • LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [115, alias_sig → PRIV USING PACKAGE_NAME • LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_307(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_585(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_308) + T_LBRACE => Shift(yy_state_586) _ => Error } } -// [26, type_sig → PRIV EXTERN TYPE • type_decl_name_with_params, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI / LBRACKET] +// [109, alias_sig → PRIV USING PACKAGE_NAME LBRACE • TYPE uident using_binder RBRACE, EOF / SEMI] +// [115, alias_sig → PRIV USING PACKAGE_NAME LBRACE • TRAIT uident using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_308(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_586(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_309) + T_TRAIT => Shift(yy_state_587) + T_TYPE => Shift(yy_state_591) _ => Error } } -// [26, type_sig → PRIV EXTERN TYPE type_decl_name_with_params •, EOF / SEMI] +// [115, alias_sig → PRIV USING PACKAGE_NAME LBRACE TRAIT • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_309(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_type_sig, yy_action_47) +fn yy_state_587(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_588) + _ => Error + } } -// [25, type_sig → EXTERN • TYPE type_decl_name_with_params, EOF / SEMI] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [115, alias_sig → PRIV USING PACKAGE_NAME LBRACE TRAIT uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_310(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_588(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_311) + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_589) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) _ => Error } } -// [25, type_sig → EXTERN TYPE • type_decl_name_with_params, EOF / SEMI] -// [83, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / SEMI] -// [129, uident → • UIDENT, EOF / SEMI / LBRACKET] +// [115, alias_sig → PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_311(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_589(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_91) - NT_type_decl_name_with_params => Shift(yy_state_312) + T_RBRACE => Shift(yy_state_590) _ => Error } } -// [25, type_sig → EXTERN TYPE type_decl_name_with_params •, EOF / SEMI] +// [115, alias_sig → PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_312(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_sig, yy_action_45) +fn yy_state_590(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_alias_sig, yy_action_31) } -// [21, func_sig_no_attr → • FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [23, func_sig → nonempty_list(ATTRIBUTE) • func_sig_no_attr, EOF / SEMI] +// [109, alias_sig → PRIV USING PACKAGE_NAME LBRACE TYPE • uident using_binder RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, RBRACE / AS] ///| -fn yy_state_313(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_591(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_func_sig_no_attr => Shift(yy_state_314) - T_FN => Shift(yy_state_315) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_592) _ => Error } } -// [23, func_sig → nonempty_list(ATTRIBUTE) func_sig_no_attr •, EOF / SEMI] +// [98, using_binder → •, RBRACE] +// [99, using_binder → • AS uident, RBRACE] +// [109, alias_sig → PRIV USING PACKAGE_NAME LBRACE TYPE uident • using_binder RBRACE, EOF / SEMI] ///| -fn yy_state_314(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_sig, yy_action_44) +fn yy_state_592(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_AS => Shift(yy_state_27) + NT_using_binder => Shift(yy_state_593) + T_RBRACE => Reduce(0, NT_using_binder, yy_action_243) + _ => Error + } } -// [21, func_sig_no_attr → FN • loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [76, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, LIDENT / UIDENT] -// [135, loption(type_params_with_constraints) → •, LIDENT / UIDENT] -// [136, loption(type_params_with_constraints) → • type_params_with_constraints, LIDENT / UIDENT] +// [109, alias_sig → PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder • RBRACE, EOF / SEMI] ///| -fn yy_state_315(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_593(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_138) - NT_type_params_with_constraints => Shift(yy_state_316) - NT_loption_type_params_with_constraints_ => Shift(yy_state_317) - T_LIDENT | T_UIDENT => - Reduce(0, NT_loption_type_params_with_constraints_, yy_action_43) + T_RBRACE => Shift(yy_state_594) _ => Error } } -// [136, loption(type_params_with_constraints) → type_params_with_constraints •, LIDENT / UIDENT] +// [109, alias_sig → PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE •, EOF / SEMI] ///| -fn yy_state_316(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_loption_type_params_with_constraints_, yy_action_42) +fn yy_state_594(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_alias_sig, yy_action_30) } -// [19, method_prefix → •, LIDENT] -// [20, method_prefix → • uident COLONCOLON, LIDENT] -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) • method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [129, uident → • UIDENT, COLONCOLON] +// [87, trait_sig → PRIV TRAIT • uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [93, trait_sig → PRIV TRAIT • uident, EOF / SEMI] +// [187, uident → • UIDENT, EOF / COLON / SEMI / LBRACE] ///| -fn yy_state_317(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_595(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_method_prefix => Shift(yy_state_318) - NT_uident => Shift(yy_state_341) - T_LIDENT => Reduce(0, NT_method_prefix, yy_action_41) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_596) _ => Error } } -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) method_prefix • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [130, lident → • LIDENT, LPAREN] +// [87, trait_sig → PRIV TRAIT uident • loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [93, trait_sig → PRIV TRAIT uident •, EOF / SEMI] +// [209, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → •, LBRACE] +// [210, loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) → • COLON separated_nonempty_list(PLUS,qualified_uident), LBRACE] ///| -fn yy_state_318(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_596(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_lident => Shift(yy_state_319) + T_COLON => Shift(yy_state_40) + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___ => + Shift(yy_state_597) + T_LBRACE => + Reduce( + 0, + NT_loption_preceded_COLON_separated_nonempty_list_PLUS_qualified_uident___, + yy_action_236, + ) + T_EOF | T_SEMI => Reduce(3, NT_trait_sig, yy_action_29) _ => Error } } -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) method_prefix lident • LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] - -///| -fn yy_state_319(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LPAREN => Shift(yy_state_320) - _ => Error - } -} - -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) method_prefix lident LPAREN • separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [106, parameter → • type_, RPAREN / COMMA] -// [107, parameter → • post_label COLON type_, RPAREN / COMMA] -// [108, parameter → • post_label COLON type_ EQUAL DOTDOT, RPAREN / COMMA] -// [109, parameter → • post_label COLON type_ EQUAL UNDERSCORE, RPAREN / COMMA] -// [110, parameter → • label QUESTION COLON type_, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [131, label → • LIDENT, QUESTION] -// [132, post_label → • POST_LABEL, COLON] -// [137, separated_list(COMMA,parameter) → •, RPAREN] -// [138, separated_list(COMMA,parameter) → • separated_nonempty_list(COMMA,parameter), RPAREN] -// [175, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] -// [176, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] +// [87, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) • LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] ///| -fn yy_state_320(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_597(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - T_POST_LABEL => Shift(yy_state_121) - NT_parameter => Shift(yy_state_321) - T_LIDENT => Shift(yy_state_324) - NT_label => Shift(yy_state_325) - NT_post_label => Shift(yy_state_329) - NT_type_ => Shift(yy_state_335) - NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_336) - NT_separated_list_COMMA_parameter_ => Shift(yy_state_337) - T_RPAREN => Reduce(0, NT_separated_list_COMMA_parameter_, yy_action_40) + T_LBRACE => Shift(yy_state_598) _ => Error } } -// [175, separated_nonempty_list(COMMA,parameter) → parameter •, RPAREN] -// [176, separated_nonempty_list(COMMA,parameter) → parameter • COMMA separated_nonempty_list(COMMA,parameter), RPAREN] - -///| -fn yy_state_321(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_COMMA => Shift(yy_state_322) - T_RPAREN => - Reduce(1, NT_separated_nonempty_list_COMMA_parameter_, yy_action_39) - _ => Error - } -} - -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [106, parameter → • type_, RPAREN / COMMA] -// [107, parameter → • post_label COLON type_, RPAREN / COMMA] -// [108, parameter → • post_label COLON type_ EQUAL DOTDOT, RPAREN / COMMA] -// [109, parameter → • post_label COLON type_ EQUAL UNDERSCORE, RPAREN / COMMA] -// [110, parameter → • label QUESTION COLON type_, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [131, label → • LIDENT, QUESTION] -// [132, post_label → • POST_LABEL, COLON] -// [175, separated_nonempty_list(COMMA,parameter) → • parameter, RPAREN] -// [176, separated_nonempty_list(COMMA,parameter) → • parameter COMMA separated_nonempty_list(COMMA,parameter), RPAREN] -// [176, separated_nonempty_list(COMMA,parameter) → parameter COMMA • separated_nonempty_list(COMMA,parameter), RPAREN] +// [36, trait_method_sig → • lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [37, trait_method_sig → • nonempty_list(attribute) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type boption(eq_underscore), SEMI / RBRACE] +// [87, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE • separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [188, lident → • LIDENT, LPAREN] +// [211, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig, RBRACE] +// [212, separated_nonempty_list(SEMI,trait_method_sig) → • trait_method_sig SEMI separated_nonempty_list(SEMI,trait_method_sig), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT] ///| -fn yy_state_322(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_598(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - T_POST_LABEL => Shift(yy_state_121) - NT_parameter => Shift(yy_state_321) - NT_separated_nonempty_list_COMMA_parameter_ => Shift(yy_state_323) - T_LIDENT => Shift(yy_state_324) - NT_label => Shift(yy_state_325) - NT_post_label => Shift(yy_state_329) - NT_type_ => Shift(yy_state_335) + T_ATTRIBUTE => Shift(yy_state_17) + T_LIDENT => Shift(yy_state_36) + NT_trait_method_sig => Shift(yy_state_50) + NT_nonempty_list_attribute_ => Shift(yy_state_53) + NT_lident => Shift(yy_state_132) + NT_separated_nonempty_list_SEMI_trait_method_sig_ => Shift(yy_state_599) _ => Error } } -// [176, separated_nonempty_list(COMMA,parameter) → parameter COMMA separated_nonempty_list(COMMA,parameter) •, RPAREN] +// [87, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) • RBRACE, EOF / SEMI] ///| -fn yy_state_323(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead( - 3, - NT_separated_nonempty_list_COMMA_parameter_, - yy_action_38, - ) +fn yy_state_599(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_600) + _ => Error + } } -// [131, label → LIDENT •, QUESTION] +// [87, trait_sig → PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE •, EOF / SEMI] ///| -fn yy_state_324(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_label, yy_action_37) +fn yy_state_600(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_trait_sig, yy_action_28) } -// [110, parameter → label • QUESTION COLON type_, RPAREN / COMMA] +// [75, impl_sig → PRIV IMPL • type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [81, impl_sig → PRIV IMPL • qualified_uident FOR type_, EOF / SEMI] +// [138, type_params_with_constraints → • LBRACKET separated_list(COMMA,type_param_with_constraints) RBRACKET, UIDENT / PACKAGE_NAME] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_325(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_601(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_QUESTION => Shift(yy_state_326) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + T_LBRACKET => Shift(yy_state_142) + NT_qualified_uident => Shift(yy_state_602) + NT_type_params_with_constraints => Shift(yy_state_605) _ => Error } } -// [110, parameter → label QUESTION • COLON type_, RPAREN / COMMA] +// [81, impl_sig → PRIV IMPL qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_326(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_602(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_327) + T_FOR => Shift(yy_state_603) _ => Error } } -// [84, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] -// [110, parameter → label QUESTION COLON • type_, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] - -///| -fn yy_state_327(_lookahead : YYSymbol) -> YYDecision { +// [81, impl_sig → PRIV IMPL qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_603(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_328) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_604) _ => Error } } -// [110, parameter → label QUESTION COLON type_ •, RPAREN / COMMA] +// [81, impl_sig → PRIV IMPL qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_328(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_parameter, yy_action_36) +fn yy_state_604(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_impl_sig, yy_action_27) } -// [107, parameter → post_label • COLON type_, RPAREN / COMMA] -// [108, parameter → post_label • COLON type_ EQUAL DOTDOT, RPAREN / COMMA] -// [109, parameter → post_label • COLON type_ EQUAL UNDERSCORE, RPAREN / COMMA] +// [75, impl_sig → PRIV IMPL type_params_with_constraints • qualified_uident FOR type_, EOF / SEMI] +// [183, qualified_uident → • UIDENT, FOR] +// [184, qualified_uident → • PACKAGE_NAME DOT_UIDENT, FOR] ///| -fn yy_state_329(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_605(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_330) + T_PACKAGE_NAME => Shift(yy_state_45) + T_UIDENT => Shift(yy_state_47) + NT_qualified_uident => Shift(yy_state_606) _ => Error } } -// [84, simple_type → • simple_type QUESTION, EQUAL / RPAREN / COMMA / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / RPAREN / COMMA / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, EQUAL / RPAREN / COMMA / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / RPAREN / COMMA / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, EQUAL / RPAREN / COMMA / QUESTION] -// [89, simple_type → • UNDERSCORE, EQUAL / RPAREN / COMMA / QUESTION] -// [90, type_ → • simple_type, EQUAL / RPAREN / COMMA] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL / RPAREN / COMMA] -// [107, parameter → post_label COLON • type_, RPAREN / COMMA] -// [108, parameter → post_label COLON • type_ EQUAL DOTDOT, RPAREN / COMMA] -// [109, parameter → post_label COLON • type_ EQUAL UNDERSCORE, RPAREN / COMMA] -// [127, qualified_uident_ → • UIDENT, EQUAL / RPAREN / COMMA / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / RPAREN / COMMA / QUESTION / LBRACKET] +// [75, impl_sig → PRIV IMPL type_params_with_constraints qualified_uident • FOR type_, EOF / SEMI] ///| -fn yy_state_330(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_606(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_331) + T_FOR => Shift(yy_state_607) _ => Error } } -// [107, parameter → post_label COLON type_ •, RPAREN / COMMA] -// [108, parameter → post_label COLON type_ • EQUAL DOTDOT, RPAREN / COMMA] -// [109, parameter → post_label COLON type_ • EQUAL UNDERSCORE, RPAREN / COMMA] - -///| -fn yy_state_331(_lookahead : YYSymbol) -> YYDecision { +// [75, impl_sig → PRIV IMPL type_params_with_constraints qualified_uident FOR • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_607(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_332) - T_RPAREN | T_COMMA => Reduce(3, NT_parameter, yy_action_35) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_608) _ => Error } } -// [108, parameter → post_label COLON type_ EQUAL • DOTDOT, RPAREN / COMMA] -// [109, parameter → post_label COLON type_ EQUAL • UNDERSCORE, RPAREN / COMMA] +// [75, impl_sig → PRIV IMPL type_params_with_constraints qualified_uident FOR type_ •, EOF / SEMI] ///| -fn yy_state_332(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_608(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_impl_sig, yy_action_26) +} + +// [69, type_sig → PRIV ENUM • type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LBRACE] +// [187, uident → • UIDENT, LBRACKET / LBRACE] + +///| +fn yy_state_609(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UNDERSCORE => Shift(yy_state_333) - T_DOTDOT => Shift(yy_state_334) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_610) _ => Error } } -// [109, parameter → post_label COLON type_ EQUAL UNDERSCORE •, RPAREN / COMMA] +// [69, type_sig → PRIV ENUM type_decl_name_with_params • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] ///| -fn yy_state_333(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_parameter, yy_action_34) +fn yy_state_610(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_611) + _ => Error + } } -// [108, parameter → post_label COLON type_ EQUAL DOTDOT •, RPAREN / COMMA] +// [69, type_sig → PRIV ENUM type_decl_name_with_params LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_334(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_parameter, yy_action_33) +fn yy_state_611(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_612) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) + _ => Error + } } -// [106, parameter → type_ •, RPAREN / COMMA] +// [69, type_sig → PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_335(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_parameter, yy_action_32) +fn yy_state_612(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_613) + _ => Error + } } -// [138, separated_list(COMMA,parameter) → separated_nonempty_list(COMMA,parameter) •, RPAREN] +// [69, type_sig → PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_336(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_separated_list_COMMA_parameter_, yy_action_31) +fn yy_state_613(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_25) } -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) • RPAREN THIN_ARROW return_type, EOF / SEMI] +// [57, type_sig → PRIV STRUCT • type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [63, type_sig → PRIV STRUCT • type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, LPAREN / LBRACE] +// [187, uident → • UIDENT, LPAREN / LBRACKET / LBRACE] ///| -fn yy_state_337(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_614(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_338) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_615) _ => Error } } -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN • THIN_ARROW return_type, EOF / SEMI] +// [57, type_sig → PRIV STRUCT type_decl_name_with_params • LBRACE record_decl_body RBRACE, EOF / SEMI] +// [63, type_sig → PRIV STRUCT type_decl_name_with_params • LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] ///| -fn yy_state_338(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_615(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_616) + T_LBRACE => Shift(yy_state_619) + _ => Error + } +} + +// [63, type_sig → PRIV STRUCT type_decl_name_with_params LPAREN • separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, RPAREN / COMMA / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, RPAREN / COMMA / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, RPAREN / COMMA / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, RPAREN / COMMA / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, RPAREN / COMMA / QUESTION] +// [151, simple_type → • UNDERSCORE, RPAREN / COMMA / QUESTION] +// [152, type_ → • simple_type, RPAREN / COMMA] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, RPAREN / COMMA] +// [185, qualified_uident_ → • UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, RPAREN / COMMA / QUESTION / LBRACKET] +// [205, separated_list(COMMA,type_) → •, RPAREN] +// [206, separated_list(COMMA,type_) → • separated_nonempty_list(COMMA,type_), RPAREN] +// [227, separated_nonempty_list(COMMA,type_) → • type_, RPAREN] +// [228, separated_nonempty_list(COMMA,type_) → • type_ COMMA separated_nonempty_list(COMMA,type_), RPAREN] + +///| +fn yy_state_616(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_THIN_ARROW => Shift(yy_state_339) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + NT_type_ => Shift(yy_state_79) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_separated_nonempty_list_COMMA_type__ => Shift(yy_state_208) + NT_separated_list_COMMA_type__ => Shift(yy_state_617) + T_RPAREN => Reduce(0, NT_separated_list_COMMA_type__, yy_action_142) _ => Error } } -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW • return_type, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / RAISE / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / RAISE / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / RAISE / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / RAISE / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / RAISE / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / RAISE / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [99, return_type → • type_, EOF / SEMI] -// [100, return_type → • simple_type RAISE, EOF / SEMI] -// [101, return_type → • simple_type RAISE error_type, EOF / SEMI] -// [102, return_type → • simple_type RAISE QUESTION, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / RAISE / QUESTION / SEMI / LBRACKET] +// [63, type_sig → PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) • RPAREN, EOF / SEMI] ///| -fn yy_state_339(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_617(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - NT_type_ => Shift(yy_state_41) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_55) - NT_return_type => Shift(yy_state_340) + T_RPAREN => Shift(yy_state_618) _ => Error } } -// [21, func_sig_no_attr → FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type •, EOF / SEMI] +// [63, type_sig → PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN •, EOF / SEMI] ///| -fn yy_state_340(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(9, NT_func_sig_no_attr, yy_action_29) +fn yy_state_618(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_24) } -// [20, method_prefix → uident • COLONCOLON, LIDENT] +// [57, type_sig → PRIV STRUCT type_decl_name_with_params LBRACE • record_decl_body RBRACE, EOF / SEMI] +// [124, record_decl_field → • boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [125, record_decl_field → • nonempty_list(attribute) boption(MUTABLE) LIDENT COLON type_, SEMI / RBRACE] +// [126, record_decl_constr → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [127, record_decl_constr → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [128, record_decl_constr → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [129, record_decl_constr → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, RBRACE] +// [130, record_decl_body → •, RBRACE] +// [131, record_decl_body → • record_decl_constr, RBRACE] +// [132, record_decl_body → • record_decl_body_nonempty, RBRACE] +// [133, record_decl_body_nonempty → • record_decl_field SEMI record_decl_constr, RBRACE] +// [134, record_decl_body_nonempty → • record_decl_field, RBRACE] +// [135, record_decl_body_nonempty → • record_decl_field SEMI record_decl_body_nonempty, RBRACE] +// [219, boption(MUTABLE) → •, LIDENT] +// [220, boption(MUTABLE) → • MUTABLE, LIDENT] +// [229, nonempty_list(attribute) → • ATTRIBUTE, LIDENT / ASYNC / FN / MUTABLE] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LIDENT / ASYNC / FN / MUTABLE] ///| -fn yy_state_341(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_619(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Shift(yy_state_342) + T_ATTRIBUTE => Shift(yy_state_17) + T_MUTABLE => Shift(yy_state_184) + NT_record_decl_field => Shift(yy_state_212) + T_FN => Shift(yy_state_216) + T_ASYNC => Shift(yy_state_232) + NT_nonempty_list_attribute_ => Shift(yy_state_242) + NT_boption_MUTABLE_ => Shift(yy_state_266) + NT_record_decl_body_nonempty => Shift(yy_state_270) + NT_record_decl_constr => Shift(yy_state_271) + NT_record_decl_body => Shift(yy_state_620) + T_RBRACE => Reduce(0, NT_record_decl_body, yy_action_139) + T_LIDENT => Reduce(0, NT_boption_MUTABLE_, yy_action_157) _ => Error } } -// [20, method_prefix → uident COLONCOLON •, LIDENT] +// [57, type_sig → PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body • RBRACE, EOF / SEMI] ///| -fn yy_state_342(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_method_prefix, yy_action_28) +fn yy_state_620(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_621) + _ => Error + } } -// [22, func_sig → func_sig_no_attr •, EOF / SEMI] +// [57, type_sig → PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE •, EOF / SEMI] ///| -fn yy_state_343(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_func_sig, yy_action_27) +fn yy_state_621(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_23) } -// [18, value_sig → nonempty_list(attribute) • LET lident COLON type_, EOF / SEMI] +// [45, type_sig → PRIV SUBERROR • uident option(type_), EOF / SEMI] +// [51, type_sig → PRIV SUBERROR • uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [187, uident → • UIDENT, UIDENT / EOF / ASYNC / LPAREN / SEMI / UNDERSCORE / LBRACE / AMPER / PACKAGE_NAME] ///| -fn yy_state_344(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_622(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LET => Shift(yy_state_345) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_623) _ => Error } } -// [18, value_sig → nonempty_list(attribute) LET • lident COLON type_, EOF / SEMI] -// [130, lident → • LIDENT, COLON] - -///| -fn yy_state_345(_lookahead : YYSymbol) -> YYDecision { +// [45, type_sig → PRIV SUBERROR uident • option(type_), EOF / SEMI] +// [51, type_sig → PRIV SUBERROR uident • LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [201, option(type_) → •, EOF / SEMI] +// [202, option(type_) → • type_, EOF / SEMI] + +///| +fn yy_state_623(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_lident => Shift(yy_state_346) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_276) + T_LBRACE => Shift(yy_state_624) + NT_option_type__ => Shift(yy_state_627) + T_EOF | T_SEMI => Reduce(0, NT_option_type__, yy_action_120) _ => Error } } -// [18, value_sig → nonempty_list(attribute) LET lident • COLON type_, EOF / SEMI] +// [51, type_sig → PRIV SUBERROR uident LBRACE • separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [120, enum_constructor → • UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [121, enum_constructor → • nonempty_list(attribute) UIDENT option(delimited(LPAREN,separated_nonempty_list(COMMA,constructor_param),RPAREN)) option(eq_tag), SEMI / RBRACE] +// [203, separated_list(SEMI,enum_constructor) → •, RBRACE] +// [204, separated_list(SEMI,enum_constructor) → • separated_nonempty_list(SEMI,enum_constructor), RBRACE] +// [229, nonempty_list(attribute) → • ATTRIBUTE, UIDENT] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), UIDENT] +// [233, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor, RBRACE] +// [234, separated_nonempty_list(SEMI,enum_constructor) → • enum_constructor SEMI separated_nonempty_list(SEMI,enum_constructor), RBRACE] ///| -fn yy_state_346(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_624(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_347) + T_ATTRIBUTE => Shift(yy_state_17) + NT_enum_constructor => Shift(yy_state_178) + NT_nonempty_list_attribute_ => Shift(yy_state_181) + T_UIDENT => Shift(yy_state_199) + NT_separated_nonempty_list_SEMI_enum_constructor_ => Shift(yy_state_202) + NT_separated_list_SEMI_enum_constructor_ => Shift(yy_state_625) + T_RBRACE => + Reduce(0, NT_separated_list_SEMI_enum_constructor_, yy_action_161) _ => Error } } -// [18, value_sig → nonempty_list(attribute) LET lident COLON • type_, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [51, type_sig → PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) • RBRACE, EOF / SEMI] ///| -fn yy_state_347(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_625(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_348) + T_RBRACE => Shift(yy_state_626) _ => Error } } -// [18, value_sig → nonempty_list(attribute) LET lident COLON type_ •, EOF / SEMI] +// [51, type_sig → PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE •, EOF / SEMI] ///| -fn yy_state_348(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_value_sig, yy_action_25) +fn yy_state_626(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_type_sig, yy_action_22) } -// [17, value_sig → LET • lident COLON type_, EOF / SEMI] -// [130, lident → • LIDENT, COLON] +// [45, type_sig → PRIV SUBERROR uident option(type_) •, EOF / SEMI] ///| -fn yy_state_349(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_627(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_type_sig, yy_action_21) +} + +// [39, type_sig → PRIV TYPE • type_decl_name_with_params, EOF / SEMI] +// [101, alias_sig → PRIV TYPE • type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [145, type_decl_name_with_params → • uident optional_type_params_no_constraints, EOF / EQUAL / SEMI] +// [187, uident → • UIDENT, EOF / EQUAL / SEMI / LBRACKET] + +///| +fn yy_state_628(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_26) - NT_lident => Shift(yy_state_350) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_164) + NT_type_decl_name_with_params => Shift(yy_state_629) _ => Error } } -// [17, value_sig → LET lident • COLON type_, EOF / SEMI] +// [39, type_sig → PRIV TYPE type_decl_name_with_params •, EOF / SEMI] +// [101, alias_sig → PRIV TYPE type_decl_name_with_params • EQUAL type_, EOF / SEMI] ///| -fn yy_state_350(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_629(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_351) + T_EQUAL => Shift(yy_state_630) + T_EOF | T_SEMI => Reduce(3, NT_type_sig, yy_action_20) _ => Error } } -// [17, value_sig → LET lident COLON • type_, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] -// [86, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] -// [88, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] -// [89, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] -// [90, type_ → • simple_type, EOF / SEMI] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] -// [127, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] - -///| -fn yy_state_351(_lookahead : YYSymbol) -> YYDecision { +// [101, alias_sig → PRIV TYPE type_decl_name_with_params EQUAL • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_630(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_352) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_631) _ => Error } } -// [17, value_sig → LET lident COLON type_ •, EOF / SEMI] +// [101, alias_sig → PRIV TYPE type_decl_name_with_params EQUAL type_ •, EOF / SEMI] ///| -fn yy_state_352(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_value_sig, yy_action_23) +fn yy_state_631(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_alias_sig, yy_action_19) } -// [16, const_sig → CONST • uident COLON type_ EQUAL constant, EOF / SEMI] -// [129, uident → • UIDENT, COLON] +// [23, value_sig → PRIV LET • lident COLON type_, EOF / SEMI] +// [188, lident → • LIDENT, COLON] ///| -fn yy_state_353(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_632(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_31) - NT_uident => Shift(yy_state_354) + T_LIDENT => Shift(yy_state_36) + NT_lident => Shift(yy_state_633) _ => Error } } -// [16, const_sig → CONST uident • COLON type_ EQUAL constant, EOF / SEMI] +// [23, value_sig → PRIV LET lident • COLON type_, EOF / SEMI] ///| -fn yy_state_354(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_633(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_355) + T_COLON => Shift(yy_state_634) _ => Error } } -// [16, const_sig → CONST uident COLON • type_ EQUAL constant, EOF / SEMI] -// [84, simple_type → • simple_type QUESTION, EQUAL / QUESTION] -// [85, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / QUESTION] -// [86, simple_type → • LPAREN type_ RPAREN, EQUAL / QUESTION] -// [87, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / QUESTION] -// [88, simple_type → • AMPER qualified_uident_, EQUAL / QUESTION] -// [89, simple_type → • UNDERSCORE, EQUAL / QUESTION] -// [90, type_ → • simple_type, EQUAL] -// [91, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] -// [92, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] -// [93, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] -// [94, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] -// [95, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL] -// [96, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL] -// [97, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] -// [98, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] -// [127, qualified_uident_ → • UIDENT, EQUAL / QUESTION / LBRACKET] -// [128, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / QUESTION / LBRACKET] - -///| -fn yy_state_355(_lookahead : YYSymbol) -> YYDecision { +// [23, value_sig → PRIV LET lident COLON • type_, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EOF / QUESTION / SEMI] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EOF / QUESTION / SEMI] +// [148, simple_type → • LPAREN type_ RPAREN, EOF / QUESTION / SEMI] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EOF / QUESTION / SEMI] +// [150, simple_type → • AMPER qualified_uident_, EOF / QUESTION / SEMI] +// [151, simple_type → • UNDERSCORE, EOF / QUESTION / SEMI] +// [152, type_ → • simple_type, EOF / SEMI] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EOF / SEMI] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EOF / SEMI] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EOF / SEMI] +// [185, qualified_uident_ → • UIDENT, EOF / QUESTION / SEMI / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EOF / QUESTION / SEMI / LBRACKET] + +///| +fn yy_state_634(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_34) - T_UIDENT => Shift(yy_state_36) - T_ASYNC => Shift(yy_state_37) - T_UNDERSCORE => Shift(yy_state_43) - T_AMPER => Shift(yy_state_44) - NT_qualified_uident_ => Shift(yy_state_46) - T_LPAREN => Shift(yy_state_51) - NT_simple_type => Shift(yy_state_73) - NT_type_ => Shift(yy_state_356) + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_635) _ => Error } } -// [16, const_sig → CONST uident COLON type_ • EQUAL constant, EOF / SEMI] +// [23, value_sig → PRIV LET lident COLON type_ •, EOF / SEMI] ///| -fn yy_state_356(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_635(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_value_sig, yy_action_18) +} + +// [17, const_sig → PRIV CONST • uident COLON type_ EQUAL constant, EOF / SEMI] +// [187, uident → • UIDENT, COLON] + +///| +fn yy_state_636(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_357) + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_637) _ => Error } } -// [16, const_sig → CONST uident COLON type_ EQUAL • constant, EOF / SEMI] -// [113, constant → • TRUE, EOF / SEMI] -// [114, constant → • FALSE, EOF / SEMI] -// [115, constant → • BYTE, EOF / SEMI] -// [116, constant → • BYTES, EOF / SEMI] -// [117, constant → • CHAR, EOF / SEMI] -// [118, constant → • INT, EOF / SEMI] -// [119, constant → • FLOAT, EOF / SEMI] -// [120, constant → • DOUBLE, EOF / SEMI] -// [121, constant → • STRING, EOF / SEMI] +// [17, const_sig → PRIV CONST uident • COLON type_ EQUAL constant, EOF / SEMI] ///| -fn yy_state_357(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_637(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_358) - T_DOUBLE => Shift(yy_state_359) - T_FLOAT => Shift(yy_state_360) - T_INT => Shift(yy_state_361) - T_CHAR => Shift(yy_state_362) - T_BYTES => Shift(yy_state_363) - T_BYTE => Shift(yy_state_364) - T_FALSE => Shift(yy_state_365) - T_TRUE => Shift(yy_state_366) - NT_constant => Shift(yy_state_367) + T_COLON => Shift(yy_state_638) _ => Error } } -// [121, constant → STRING •, EOF / SEMI] - -///| -fn yy_state_358(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_22) +// [17, const_sig → PRIV CONST uident COLON • type_ EQUAL constant, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EQUAL / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, EQUAL / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, EQUAL / QUESTION] +// [151, simple_type → • UNDERSCORE, EQUAL / QUESTION] +// [152, type_ → • simple_type, EQUAL] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [185, qualified_uident_ → • UIDENT, EQUAL / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / QUESTION / LBRACKET] + +///| +fn yy_state_638(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_639) + _ => Error + } } -// [120, constant → DOUBLE •, EOF / SEMI] +// [17, const_sig → PRIV CONST uident COLON type_ • EQUAL constant, EOF / SEMI] ///| -fn yy_state_359(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_21) +fn yy_state_639(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_640) + _ => Error + } } -// [119, constant → FLOAT •, EOF / SEMI] +// [17, const_sig → PRIV CONST uident COLON type_ EQUAL • constant, EOF / SEMI] +// [171, constant → • TRUE, EOF / SEMI] +// [172, constant → • FALSE, EOF / SEMI] +// [173, constant → • BYTE, EOF / SEMI] +// [174, constant → • BYTES, EOF / SEMI] +// [175, constant → • CHAR, EOF / SEMI] +// [176, constant → • INT, EOF / SEMI] +// [177, constant → • FLOAT, EOF / SEMI] +// [178, constant → • DOUBLE, EOF / SEMI] +// [179, constant → • STRING, EOF / SEMI] ///| -fn yy_state_360(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_20) +fn yy_state_640(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_STRING => Shift(yy_state_448) + T_DOUBLE => Shift(yy_state_449) + T_FLOAT => Shift(yy_state_450) + T_INT => Shift(yy_state_451) + T_CHAR => Shift(yy_state_452) + T_BYTES => Shift(yy_state_453) + T_BYTE => Shift(yy_state_454) + T_FALSE => Shift(yy_state_455) + T_TRUE => Shift(yy_state_456) + NT_constant => Shift(yy_state_641) + _ => Error + } } -// [118, constant → INT •, EOF / SEMI] +// [17, const_sig → PRIV CONST uident COLON type_ EQUAL constant •, EOF / SEMI] ///| -fn yy_state_361(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_19) +fn yy_state_641(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_const_sig, yy_action_16) } -// [117, constant → CHAR •, EOF / SEMI] +// [16, const_sig → CONST • uident COLON type_ EQUAL constant, EOF / SEMI] +// [187, uident → • UIDENT, COLON] ///| -fn yy_state_362(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_18) +fn yy_state_642(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_UIDENT => Shift(yy_state_23) + NT_uident => Shift(yy_state_643) + _ => Error + } } -// [116, constant → BYTES •, EOF / SEMI] +// [16, const_sig → CONST uident • COLON type_ EQUAL constant, EOF / SEMI] ///| -fn yy_state_363(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_17) +fn yy_state_643(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_COLON => Shift(yy_state_644) + _ => Error + } } -// [115, constant → BYTE •, EOF / SEMI] - -///| -fn yy_state_364(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_16) +// [16, const_sig → CONST uident COLON • type_ EQUAL constant, EOF / SEMI] +// [146, simple_type → • simple_type QUESTION, EQUAL / QUESTION] +// [147, simple_type → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN, EQUAL / QUESTION] +// [148, simple_type → • LPAREN type_ RPAREN, EQUAL / QUESTION] +// [149, simple_type → • qualified_uident_ optional_type_arguments, EQUAL / QUESTION] +// [150, simple_type → • AMPER qualified_uident_, EQUAL / QUESTION] +// [151, simple_type → • UNDERSCORE, EQUAL / QUESTION] +// [152, type_ → • simple_type, EQUAL] +// [153, type_ → • ASYNC LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [154, type_ → • ASYNC LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [155, type_ → • LPAREN type_ COMMA RPAREN THIN_ARROW return_type, EQUAL] +// [156, type_ → • LPAREN type_ COMMA separated_nonempty_list(COMMA,type_) RPAREN THIN_ARROW return_type, EQUAL] +// [157, type_ → • ASYNC LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [158, type_ → • LPAREN RPAREN THIN_ARROW return_type, EQUAL] +// [159, type_ → • ASYNC LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [160, type_ → • LPAREN type_ RPAREN THIN_ARROW return_type, EQUAL] +// [185, qualified_uident_ → • UIDENT, EQUAL / QUESTION / LBRACKET] +// [186, qualified_uident_ → • PACKAGE_NAME DOT_UIDENT, EQUAL / QUESTION / LBRACKET] + +///| +fn yy_state_644(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_PACKAGE_NAME => Shift(yy_state_61) + T_UIDENT => Shift(yy_state_63) + T_ASYNC => Shift(yy_state_68) + T_UNDERSCORE => Shift(yy_state_74) + T_AMPER => Shift(yy_state_75) + NT_qualified_uident_ => Shift(yy_state_77) + T_LPAREN => Shift(yy_state_82) + NT_simple_type => Shift(yy_state_104) + NT_type_ => Shift(yy_state_645) + _ => Error + } } -// [114, constant → FALSE •, EOF / SEMI] +// [16, const_sig → CONST uident COLON type_ • EQUAL constant, EOF / SEMI] ///| -fn yy_state_365(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_15) +fn yy_state_645(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_646) + _ => Error + } } -// [113, constant → TRUE •, EOF / SEMI] - -///| -fn yy_state_366(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constant, yy_action_14) +// [16, const_sig → CONST uident COLON type_ EQUAL • constant, EOF / SEMI] +// [171, constant → • TRUE, EOF / SEMI] +// [172, constant → • FALSE, EOF / SEMI] +// [173, constant → • BYTE, EOF / SEMI] +// [174, constant → • BYTES, EOF / SEMI] +// [175, constant → • CHAR, EOF / SEMI] +// [176, constant → • INT, EOF / SEMI] +// [177, constant → • FLOAT, EOF / SEMI] +// [178, constant → • DOUBLE, EOF / SEMI] +// [179, constant → • STRING, EOF / SEMI] + +///| +fn yy_state_646(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_STRING => Shift(yy_state_448) + T_DOUBLE => Shift(yy_state_449) + T_FLOAT => Shift(yy_state_450) + T_INT => Shift(yy_state_451) + T_CHAR => Shift(yy_state_452) + T_BYTES => Shift(yy_state_453) + T_BYTE => Shift(yy_state_454) + T_FALSE => Shift(yy_state_455) + T_TRUE => Shift(yy_state_456) + NT_constant => Shift(yy_state_647) + _ => Error + } } // [16, const_sig → CONST uident COLON type_ EQUAL constant •, EOF / SEMI] ///| -fn yy_state_367(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_647(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_const_sig, yy_action_13) } // [15, sig_ → value_sig •, EOF / SEMI] ///| -fn yy_state_368(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_648(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_sig_, yy_action_12) } // [14, sig_ → const_sig •, EOF / SEMI] ///| -fn yy_state_369(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_649(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_sig_, yy_action_11) } // [13, sig_ → impl_sig •, EOF / SEMI] ///| -fn yy_state_370(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_650(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_sig_, yy_action_10) } // [12, sig_ → trait_sig •, EOF / SEMI] ///| -fn yy_state_371(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_651(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_sig_, yy_action_9) } // [11, sig_ → alias_sig •, EOF / SEMI] ///| -fn yy_state_372(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_652(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_sig_, yy_action_8) } // [10, sig_ → type_sig •, EOF / SEMI] ///| -fn yy_state_373(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_653(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_sig_, yy_action_7) } // [9, sig_ → func_sig •, EOF / SEMI] ///| -fn yy_state_374(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_654(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_sig_, yy_action_6) } @@ -10562,9 +17134,9 @@ fn yy_state_374(_lookahead : YYSymbol) -> YYDecision { // [8, sigs → sig_ • SEMI sigs, EOF] ///| -fn yy_state_375(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_655(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_376) + T_SEMI => Shift(yy_state_656) T_EOF => Reduce(1, NT_sigs, yy_action_5) _ => Error } @@ -10582,91 +17154,133 @@ fn yy_state_375(_lookahead : YYSymbol) -> YYDecision { // [14, sig_ → • const_sig, EOF / SEMI] // [15, sig_ → • value_sig, EOF / SEMI] // [16, const_sig → • CONST uident COLON type_ EQUAL constant, EOF / SEMI] -// [17, value_sig → • LET lident COLON type_, EOF / SEMI] -// [18, value_sig → • nonempty_list(attribute) LET lident COLON type_, EOF / SEMI] -// [21, func_sig_no_attr → • FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [22, func_sig → • func_sig_no_attr, EOF / SEMI] -// [23, func_sig → • nonempty_list(ATTRIBUTE) func_sig_no_attr, EOF / SEMI] -// [25, type_sig → • EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [26, type_sig → • PRIV EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [27, type_sig → • PUB pub_attr EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [28, type_sig → • TYPE type_decl_name_with_params, EOF / SEMI] -// [29, type_sig → • PRIV TYPE type_decl_name_with_params, EOF / SEMI] -// [30, type_sig → • PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] -// [31, type_sig → • TYPE type_decl_name_with_params type_, EOF / SEMI] -// [32, type_sig → • PRIV TYPE type_decl_name_with_params type_, EOF / SEMI] -// [33, type_sig → • PUB pub_attr TYPE type_decl_name_with_params type_, EOF / SEMI] -// [34, type_sig → • SUBERROR uident, EOF / SEMI] -// [35, type_sig → • PRIV SUBERROR uident, EOF / SEMI] -// [36, type_sig → • PUB pub_attr SUBERROR uident, EOF / SEMI] -// [37, type_sig → • SUBERROR uident type_, EOF / SEMI] -// [38, type_sig → • PRIV SUBERROR uident type_, EOF / SEMI] -// [39, type_sig → • PUB pub_attr SUBERROR uident type_, EOF / SEMI] -// [40, type_sig → • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [41, type_sig → • PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [42, type_sig → • PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [43, type_sig → • STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [44, type_sig → • PRIV STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [45, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [46, type_sig → • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [47, type_sig → • PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [48, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [49, type_sig → • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [50, type_sig → • PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [51, type_sig → • PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [52, impl_sig → • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] -// [53, impl_sig → • IMPL qualified_uident FOR type_, EOF / SEMI] -// [54, impl_sig → • IMPL uident COLONCOLON lident, EOF / SEMI] -// [55, trait_sig → • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [56, trait_sig → • PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [57, trait_sig → • PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [58, trait_sig → • TRAIT uident, EOF / SEMI] -// [59, trait_sig → • PRIV TRAIT uident, EOF / SEMI] -// [60, trait_sig → • PUB pub_attr TRAIT uident, EOF / SEMI] -// [61, alias_sig → • TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [62, alias_sig → • PRIV TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [63, alias_sig → • PUB pub_attr TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [64, alias_sig → • TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [65, alias_sig → • PRIV TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [66, alias_sig → • PUB pub_attr TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [67, alias_sig → • FNALIAS qualified_uident COLONCOLON lident, EOF / SEMI] -// [139, nonempty_list(ATTRIBUTE) → • ATTRIBUTE, FN] -// [140, nonempty_list(ATTRIBUTE) → • ATTRIBUTE nonempty_list(ATTRIBUTE), FN] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LET] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LET] - -///| -fn yy_state_376(_lookahead : YYSymbol) -> YYDecision { +// [17, const_sig → • PRIV CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [18, const_sig → • PUB pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [19, const_sig → • nonempty_list(attribute) CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [20, const_sig → • nonempty_list(attribute) PRIV CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [21, const_sig → • nonempty_list(attribute) PUB pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [22, value_sig → • LET lident COLON type_, EOF / SEMI] +// [23, value_sig → • PRIV LET lident COLON type_, EOF / SEMI] +// [24, value_sig → • PUB pub_attr LET lident COLON type_, EOF / SEMI] +// [25, value_sig → • nonempty_list(attribute) LET lident COLON type_, EOF / SEMI] +// [26, value_sig → • nonempty_list(attribute) PRIV LET lident COLON type_, EOF / SEMI] +// [27, value_sig → • nonempty_list(attribute) PUB pub_attr LET lident COLON type_, EOF / SEMI] +// [32, func_sig → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [33, func_sig → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [34, func_sig → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [35, func_sig → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [38, type_sig → • TYPE type_decl_name_with_params, EOF / SEMI] +// [39, type_sig → • PRIV TYPE type_decl_name_with_params, EOF / SEMI] +// [40, type_sig → • PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [41, type_sig → • nonempty_list(attribute) TYPE type_decl_name_with_params, EOF / SEMI] +// [42, type_sig → • nonempty_list(attribute) PRIV TYPE type_decl_name_with_params, EOF / SEMI] +// [43, type_sig → • nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [44, type_sig → • SUBERROR uident option(type_), EOF / SEMI] +// [45, type_sig → • PRIV SUBERROR uident option(type_), EOF / SEMI] +// [46, type_sig → • PUB pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [47, type_sig → • nonempty_list(attribute) SUBERROR uident option(type_), EOF / SEMI] +// [48, type_sig → • nonempty_list(attribute) PRIV SUBERROR uident option(type_), EOF / SEMI] +// [49, type_sig → • nonempty_list(attribute) PUB pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [50, type_sig → • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [51, type_sig → • PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [52, type_sig → • PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [53, type_sig → • nonempty_list(attribute) SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [54, type_sig → • nonempty_list(attribute) PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [55, type_sig → • nonempty_list(attribute) PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [56, type_sig → • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [57, type_sig → • PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [58, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [59, type_sig → • nonempty_list(attribute) STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [60, type_sig → • nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [61, type_sig → • nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [62, type_sig → • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [63, type_sig → • PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [64, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [65, type_sig → • nonempty_list(attribute) STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [66, type_sig → • nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [67, type_sig → • nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [68, type_sig → • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [69, type_sig → • PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [70, type_sig → • PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [71, type_sig → • nonempty_list(attribute) ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [72, type_sig → • nonempty_list(attribute) PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [73, type_sig → • nonempty_list(attribute) PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [74, impl_sig → • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [75, impl_sig → • PRIV IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [76, impl_sig → • PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [77, impl_sig → • nonempty_list(attribute) IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [78, impl_sig → • nonempty_list(attribute) PRIV IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [79, impl_sig → • nonempty_list(attribute) PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [80, impl_sig → • IMPL qualified_uident FOR type_, EOF / SEMI] +// [81, impl_sig → • PRIV IMPL qualified_uident FOR type_, EOF / SEMI] +// [82, impl_sig → • PUB pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [83, impl_sig → • nonempty_list(attribute) IMPL qualified_uident FOR type_, EOF / SEMI] +// [84, impl_sig → • nonempty_list(attribute) PRIV IMPL qualified_uident FOR type_, EOF / SEMI] +// [85, impl_sig → • nonempty_list(attribute) PUB pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [86, trait_sig → • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [87, trait_sig → • PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [88, trait_sig → • PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [89, trait_sig → • nonempty_list(attribute) TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [90, trait_sig → • nonempty_list(attribute) PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [91, trait_sig → • nonempty_list(attribute) PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [92, trait_sig → • TRAIT uident, EOF / SEMI] +// [93, trait_sig → • PRIV TRAIT uident, EOF / SEMI] +// [94, trait_sig → • PUB pub_attr TRAIT uident, EOF / SEMI] +// [95, trait_sig → • nonempty_list(attribute) TRAIT uident, EOF / SEMI] +// [96, trait_sig → • nonempty_list(attribute) PRIV TRAIT uident, EOF / SEMI] +// [97, trait_sig → • nonempty_list(attribute) PUB pub_attr TRAIT uident, EOF / SEMI] +// [100, alias_sig → • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [101, alias_sig → • PRIV TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [102, alias_sig → • PUB pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [103, alias_sig → • nonempty_list(attribute) TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [104, alias_sig → • nonempty_list(attribute) PRIV TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [105, alias_sig → • nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [106, alias_sig → • FNALIAS uident COLONCOLON lident, EOF / SEMI] +// [107, alias_sig → • nonempty_list(attribute) FNALIAS uident COLONCOLON lident, EOF / SEMI] +// [108, alias_sig → • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [109, alias_sig → • PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [110, alias_sig → • PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [111, alias_sig → • nonempty_list(attribute) USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [112, alias_sig → • nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [113, alias_sig → • nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [114, alias_sig → • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [115, alias_sig → • PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → • PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [117, alias_sig → • nonempty_list(attribute) USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → • nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → • nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [229, nonempty_list(attribute) → • ATTRIBUTE, PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_656(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ATTRIBUTE => Shift(yy_state_17) - T_FNALIAS => Shift(yy_state_20) - T_TRAITALIAS => Shift(yy_state_28) - T_TYPEALIAS => Shift(yy_state_33) - T_TRAIT => Shift(yy_state_104) - T_IMPL => Shift(yy_state_136) - T_ENUM => Shift(yy_state_162) - T_STRUCT => Shift(yy_state_193) - T_SUBERROR => Shift(yy_state_215) - T_TYPE => Shift(yy_state_221) - T_PUB => Shift(yy_state_224) - T_PRIV => Shift(yy_state_270) - T_EXTERN => Shift(yy_state_310) - NT_nonempty_list_ATTRIBUTE_ => Shift(yy_state_313) - T_FN => Shift(yy_state_315) - NT_func_sig_no_attr => Shift(yy_state_343) - NT_nonempty_list_attribute_ => Shift(yy_state_344) - T_LET => Shift(yy_state_349) - T_CONST => Shift(yy_state_353) - NT_value_sig => Shift(yy_state_368) - NT_const_sig => Shift(yy_state_369) - NT_impl_sig => Shift(yy_state_370) - NT_trait_sig => Shift(yy_state_371) - NT_alias_sig => Shift(yy_state_372) - NT_type_sig => Shift(yy_state_373) - NT_func_sig => Shift(yy_state_374) - NT_sig_ => Shift(yy_state_375) - NT_sigs => Shift(yy_state_377) - T_EOF => Reduce(0, NT_sigs, yy_action_199) + T_USING => Shift(yy_state_19) + T_FNALIAS => Shift(yy_state_33) + T_TRAIT => Shift(yy_state_38) + T_IMPL => Shift(yy_state_141) + T_ENUM => Shift(yy_state_163) + T_STRUCT => Shift(yy_state_205) + T_SUBERROR => Shift(yy_state_274) + T_TYPE => Shift(yy_state_281) + T_FN => Shift(yy_state_285) + T_ASYNC => Shift(yy_state_294) + T_LET => Shift(yy_state_304) + NT_nonempty_list_attribute_ => Shift(yy_state_308) + T_PUB => Shift(yy_state_523) + T_PRIV => Shift(yy_state_583) + T_CONST => Shift(yy_state_642) + NT_value_sig => Shift(yy_state_648) + NT_const_sig => Shift(yy_state_649) + NT_impl_sig => Shift(yy_state_650) + NT_trait_sig => Shift(yy_state_651) + NT_alias_sig => Shift(yy_state_652) + NT_type_sig => Shift(yy_state_653) + NT_func_sig => Shift(yy_state_654) + NT_sig_ => Shift(yy_state_655) + NT_sigs => Shift(yy_state_657) + T_EOF => Reduce(0, NT_sigs, yy_action_248) _ => Error } } @@ -10674,28 +17288,28 @@ fn yy_state_376(_lookahead : YYSymbol) -> YYDecision { // [8, sigs → sig_ SEMI sigs •, EOF] ///| -fn yy_state_377(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_657(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_sigs, yy_action_4) } -// [1, mbti → LIDENT STRING SEMI imports sigs • EOF, $] +// [1, mbti → PACKAGE STRING SEMI imports sigs • EOF, $] ///| -fn yy_state_378(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_658(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EOF => Shift(yy_state_379) + T_EOF => Shift(yy_state_659) _ => Error } } -// [1, mbti → LIDENT STRING SEMI imports sigs EOF •, $] +// [1, mbti → PACKAGE STRING SEMI imports sigs EOF •, $] ///| -fn yy_state_379(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_659(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_mbti, yy_action_2) } -// [0, mbti → LIDENT STRING imports • sigs EOF, $] +// [0, mbti → PACKAGE STRING imports • sigs EOF, $] // [6, sigs → •, EOF] // [7, sigs → • sig_, EOF] // [8, sigs → • sig_ SEMI sigs, EOF] @@ -10707,109 +17321,151 @@ fn yy_state_379(_lookahead : YYSymbol) -> YYDecision { // [14, sig_ → • const_sig, EOF / SEMI] // [15, sig_ → • value_sig, EOF / SEMI] // [16, const_sig → • CONST uident COLON type_ EQUAL constant, EOF / SEMI] -// [17, value_sig → • LET lident COLON type_, EOF / SEMI] -// [18, value_sig → • nonempty_list(attribute) LET lident COLON type_, EOF / SEMI] -// [21, func_sig_no_attr → • FN loption(type_params_with_constraints) method_prefix lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] -// [22, func_sig → • func_sig_no_attr, EOF / SEMI] -// [23, func_sig → • nonempty_list(ATTRIBUTE) func_sig_no_attr, EOF / SEMI] -// [25, type_sig → • EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [26, type_sig → • PRIV EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [27, type_sig → • PUB pub_attr EXTERN TYPE type_decl_name_with_params, EOF / SEMI] -// [28, type_sig → • TYPE type_decl_name_with_params, EOF / SEMI] -// [29, type_sig → • PRIV TYPE type_decl_name_with_params, EOF / SEMI] -// [30, type_sig → • PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] -// [31, type_sig → • TYPE type_decl_name_with_params type_, EOF / SEMI] -// [32, type_sig → • PRIV TYPE type_decl_name_with_params type_, EOF / SEMI] -// [33, type_sig → • PUB pub_attr TYPE type_decl_name_with_params type_, EOF / SEMI] -// [34, type_sig → • SUBERROR uident, EOF / SEMI] -// [35, type_sig → • PRIV SUBERROR uident, EOF / SEMI] -// [36, type_sig → • PUB pub_attr SUBERROR uident, EOF / SEMI] -// [37, type_sig → • SUBERROR uident type_, EOF / SEMI] -// [38, type_sig → • PRIV SUBERROR uident type_, EOF / SEMI] -// [39, type_sig → • PUB pub_attr SUBERROR uident type_, EOF / SEMI] -// [40, type_sig → • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [41, type_sig → • PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [42, type_sig → • PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [43, type_sig → • STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [44, type_sig → • PRIV STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [45, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LBRACE separated_list(SEMI,record_decl_field) RBRACE, EOF / SEMI] -// [46, type_sig → • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [47, type_sig → • PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [48, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] -// [49, type_sig → • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [50, type_sig → • PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [51, type_sig → • PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] -// [52, impl_sig → • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] -// [53, impl_sig → • IMPL qualified_uident FOR type_, EOF / SEMI] -// [54, impl_sig → • IMPL uident COLONCOLON lident, EOF / SEMI] -// [55, trait_sig → • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [56, trait_sig → • PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [57, trait_sig → • PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] -// [58, trait_sig → • TRAIT uident, EOF / SEMI] -// [59, trait_sig → • PRIV TRAIT uident, EOF / SEMI] -// [60, trait_sig → • PUB pub_attr TRAIT uident, EOF / SEMI] -// [61, alias_sig → • TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [62, alias_sig → • PRIV TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [63, alias_sig → • PUB pub_attr TYPEALIAS type_ AS type_decl_name_with_params, EOF / SEMI] -// [64, alias_sig → • TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [65, alias_sig → • PRIV TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [66, alias_sig → • PUB pub_attr TRAITALIAS qualified_uident AS uident, EOF / SEMI] -// [67, alias_sig → • FNALIAS qualified_uident COLONCOLON lident, EOF / SEMI] -// [139, nonempty_list(ATTRIBUTE) → • ATTRIBUTE, FN] -// [140, nonempty_list(ATTRIBUTE) → • ATTRIBUTE nonempty_list(ATTRIBUTE), FN] -// [173, nonempty_list(attribute) → • ATTRIBUTE, LET] -// [174, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), LET] - -///| -fn yy_state_380(_lookahead : YYSymbol) -> YYDecision { +// [17, const_sig → • PRIV CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [18, const_sig → • PUB pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [19, const_sig → • nonempty_list(attribute) CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [20, const_sig → • nonempty_list(attribute) PRIV CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [21, const_sig → • nonempty_list(attribute) PUB pub_attr CONST uident COLON type_ EQUAL constant, EOF / SEMI] +// [22, value_sig → • LET lident COLON type_, EOF / SEMI] +// [23, value_sig → • PRIV LET lident COLON type_, EOF / SEMI] +// [24, value_sig → • PUB pub_attr LET lident COLON type_, EOF / SEMI] +// [25, value_sig → • nonempty_list(attribute) LET lident COLON type_, EOF / SEMI] +// [26, value_sig → • nonempty_list(attribute) PRIV LET lident COLON type_, EOF / SEMI] +// [27, value_sig → • nonempty_list(attribute) PUB pub_attr LET lident COLON type_, EOF / SEMI] +// [32, func_sig → • ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [33, func_sig → • FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [34, func_sig → • nonempty_list(attribute) ASYNC FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [35, func_sig → • nonempty_list(attribute) FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident LPAREN separated_list(COMMA,parameter) RPAREN THIN_ARROW return_type, EOF / SEMI] +// [38, type_sig → • TYPE type_decl_name_with_params, EOF / SEMI] +// [39, type_sig → • PRIV TYPE type_decl_name_with_params, EOF / SEMI] +// [40, type_sig → • PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [41, type_sig → • nonempty_list(attribute) TYPE type_decl_name_with_params, EOF / SEMI] +// [42, type_sig → • nonempty_list(attribute) PRIV TYPE type_decl_name_with_params, EOF / SEMI] +// [43, type_sig → • nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params, EOF / SEMI] +// [44, type_sig → • SUBERROR uident option(type_), EOF / SEMI] +// [45, type_sig → • PRIV SUBERROR uident option(type_), EOF / SEMI] +// [46, type_sig → • PUB pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [47, type_sig → • nonempty_list(attribute) SUBERROR uident option(type_), EOF / SEMI] +// [48, type_sig → • nonempty_list(attribute) PRIV SUBERROR uident option(type_), EOF / SEMI] +// [49, type_sig → • nonempty_list(attribute) PUB pub_attr SUBERROR uident option(type_), EOF / SEMI] +// [50, type_sig → • SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [51, type_sig → • PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [52, type_sig → • PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [53, type_sig → • nonempty_list(attribute) SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [54, type_sig → • nonempty_list(attribute) PRIV SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [55, type_sig → • nonempty_list(attribute) PUB pub_attr SUBERROR uident LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [56, type_sig → • STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [57, type_sig → • PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [58, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [59, type_sig → • nonempty_list(attribute) STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [60, type_sig → • nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [61, type_sig → • nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LBRACE record_decl_body RBRACE, EOF / SEMI] +// [62, type_sig → • STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [63, type_sig → • PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [64, type_sig → • PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [65, type_sig → • nonempty_list(attribute) STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [66, type_sig → • nonempty_list(attribute) PRIV STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [67, type_sig → • nonempty_list(attribute) PUB pub_attr STRUCT type_decl_name_with_params LPAREN separated_list(COMMA,type_) RPAREN, EOF / SEMI] +// [68, type_sig → • ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [69, type_sig → • PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [70, type_sig → • PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [71, type_sig → • nonempty_list(attribute) ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [72, type_sig → • nonempty_list(attribute) PRIV ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [73, type_sig → • nonempty_list(attribute) PUB pub_attr ENUM type_decl_name_with_params LBRACE separated_list(SEMI,enum_constructor) RBRACE, EOF / SEMI] +// [74, impl_sig → • IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [75, impl_sig → • PRIV IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [76, impl_sig → • PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [77, impl_sig → • nonempty_list(attribute) IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [78, impl_sig → • nonempty_list(attribute) PRIV IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [79, impl_sig → • nonempty_list(attribute) PUB pub_attr IMPL type_params_with_constraints qualified_uident FOR type_, EOF / SEMI] +// [80, impl_sig → • IMPL qualified_uident FOR type_, EOF / SEMI] +// [81, impl_sig → • PRIV IMPL qualified_uident FOR type_, EOF / SEMI] +// [82, impl_sig → • PUB pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [83, impl_sig → • nonempty_list(attribute) IMPL qualified_uident FOR type_, EOF / SEMI] +// [84, impl_sig → • nonempty_list(attribute) PRIV IMPL qualified_uident FOR type_, EOF / SEMI] +// [85, impl_sig → • nonempty_list(attribute) PUB pub_attr IMPL qualified_uident FOR type_, EOF / SEMI] +// [86, trait_sig → • TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [87, trait_sig → • PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [88, trait_sig → • PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [89, trait_sig → • nonempty_list(attribute) TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [90, trait_sig → • nonempty_list(attribute) PRIV TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [91, trait_sig → • nonempty_list(attribute) PUB pub_attr TRAIT uident loption(preceded(COLON,separated_nonempty_list(PLUS,qualified_uident))) LBRACE separated_nonempty_list(SEMI,trait_method_sig) RBRACE, EOF / SEMI] +// [92, trait_sig → • TRAIT uident, EOF / SEMI] +// [93, trait_sig → • PRIV TRAIT uident, EOF / SEMI] +// [94, trait_sig → • PUB pub_attr TRAIT uident, EOF / SEMI] +// [95, trait_sig → • nonempty_list(attribute) TRAIT uident, EOF / SEMI] +// [96, trait_sig → • nonempty_list(attribute) PRIV TRAIT uident, EOF / SEMI] +// [97, trait_sig → • nonempty_list(attribute) PUB pub_attr TRAIT uident, EOF / SEMI] +// [100, alias_sig → • TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [101, alias_sig → • PRIV TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [102, alias_sig → • PUB pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [103, alias_sig → • nonempty_list(attribute) TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [104, alias_sig → • nonempty_list(attribute) PRIV TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [105, alias_sig → • nonempty_list(attribute) PUB pub_attr TYPE type_decl_name_with_params EQUAL type_, EOF / SEMI] +// [106, alias_sig → • FNALIAS uident COLONCOLON lident, EOF / SEMI] +// [107, alias_sig → • nonempty_list(attribute) FNALIAS uident COLONCOLON lident, EOF / SEMI] +// [108, alias_sig → • USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [109, alias_sig → • PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [110, alias_sig → • PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [111, alias_sig → • nonempty_list(attribute) USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [112, alias_sig → • nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [113, alias_sig → • nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TYPE uident using_binder RBRACE, EOF / SEMI] +// [114, alias_sig → • USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [115, alias_sig → • PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [116, alias_sig → • PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [117, alias_sig → • nonempty_list(attribute) USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [118, alias_sig → • nonempty_list(attribute) PRIV USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [119, alias_sig → • nonempty_list(attribute) PUB pub_attr USING PACKAGE_NAME LBRACE TRAIT uident using_binder RBRACE, EOF / SEMI] +// [229, nonempty_list(attribute) → • ATTRIBUTE, PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] +// [230, nonempty_list(attribute) → • ATTRIBUTE nonempty_list(attribute), PUB / PRIV / STRUCT / ENUM / TRAIT / IMPL / ASYNC / FNALIAS / FN / LET / CONST / TYPE / SUBERROR / USING] + +///| +fn yy_state_660(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ATTRIBUTE => Shift(yy_state_17) - T_FNALIAS => Shift(yy_state_20) - T_TRAITALIAS => Shift(yy_state_28) - T_TYPEALIAS => Shift(yy_state_33) - T_TRAIT => Shift(yy_state_104) - T_IMPL => Shift(yy_state_136) - T_ENUM => Shift(yy_state_162) - T_STRUCT => Shift(yy_state_193) - T_SUBERROR => Shift(yy_state_215) - T_TYPE => Shift(yy_state_221) - T_PUB => Shift(yy_state_224) - T_PRIV => Shift(yy_state_270) - T_EXTERN => Shift(yy_state_310) - NT_nonempty_list_ATTRIBUTE_ => Shift(yy_state_313) - T_FN => Shift(yy_state_315) - NT_func_sig_no_attr => Shift(yy_state_343) - NT_nonempty_list_attribute_ => Shift(yy_state_344) - T_LET => Shift(yy_state_349) - T_CONST => Shift(yy_state_353) - NT_value_sig => Shift(yy_state_368) - NT_const_sig => Shift(yy_state_369) - NT_impl_sig => Shift(yy_state_370) - NT_trait_sig => Shift(yy_state_371) - NT_alias_sig => Shift(yy_state_372) - NT_type_sig => Shift(yy_state_373) - NT_func_sig => Shift(yy_state_374) - NT_sig_ => Shift(yy_state_375) - NT_sigs => Shift(yy_state_381) - T_EOF => Reduce(0, NT_sigs, yy_action_199) - _ => Error - } -} - -// [0, mbti → LIDENT STRING imports sigs • EOF, $] + T_USING => Shift(yy_state_19) + T_FNALIAS => Shift(yy_state_33) + T_TRAIT => Shift(yy_state_38) + T_IMPL => Shift(yy_state_141) + T_ENUM => Shift(yy_state_163) + T_STRUCT => Shift(yy_state_205) + T_SUBERROR => Shift(yy_state_274) + T_TYPE => Shift(yy_state_281) + T_FN => Shift(yy_state_285) + T_ASYNC => Shift(yy_state_294) + T_LET => Shift(yy_state_304) + NT_nonempty_list_attribute_ => Shift(yy_state_308) + T_PUB => Shift(yy_state_523) + T_PRIV => Shift(yy_state_583) + T_CONST => Shift(yy_state_642) + NT_value_sig => Shift(yy_state_648) + NT_const_sig => Shift(yy_state_649) + NT_impl_sig => Shift(yy_state_650) + NT_trait_sig => Shift(yy_state_651) + NT_alias_sig => Shift(yy_state_652) + NT_type_sig => Shift(yy_state_653) + NT_func_sig => Shift(yy_state_654) + NT_sig_ => Shift(yy_state_655) + NT_sigs => Shift(yy_state_661) + T_EOF => Reduce(0, NT_sigs, yy_action_248) + _ => Error + } +} + +// [0, mbti → PACKAGE STRING imports sigs • EOF, $] ///| -fn yy_state_381(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_661(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EOF => Shift(yy_state_382) + T_EOF => Shift(yy_state_662) _ => Error } } -// [0, mbti → LIDENT STRING imports sigs EOF •, $] +// [0, mbti → PACKAGE STRING imports sigs EOF •, $] ///| -fn yy_state_382(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_662(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_mbti, yy_action_0) } @@ -11046,12 +17702,14 @@ fn error( (T_USING, TK_USING), (T_DECLARE, TK_DECLARE), (T_NORAISE, TK_NORAISE), + (T_NOBREAK, TK_NOBREAK), (T_WHERE, TK_WHERE), (T_ENUMVIEW, TK_ENUMVIEW), (T_TRY_QUESTION, TK_TRY_QUESTION), (T_TRY_EXCLAMATION, TK_TRY_EXCLAMATION), (T_LEXMATCH, TK_LEXMATCH), (T_LEXMATCH_QUESTION, TK_LEXMATCH_QUESTION), + (T_PACKAGE, TK_PACKAGE), ] : Array[(YYSymbol, TokenKind)]) { try_add(term.0, term.1) } diff --git a/mbti_parser/mbti_parser.mbt.map.json b/mbti_parser/mbti_parser.mbt.map.json index 116989ea..59b8e39f 100644 --- a/mbti_parser/mbti_parser.mbt.map.json +++ b/mbti_parser/mbti_parser.mbt.map.json @@ -2,3584 +2,5660 @@ "mappings": [ { "source": "mbti_parser.mbty", - "original_offset": 2710, - "generated_offset": 9519, + "original_offset": 2777, + "generated_offset": 9575, "length": 22 }, { "source": "mbti_parser.mbty", - "original_offset": 2734, - "generated_offset": 9549, + "original_offset": 2801, + "generated_offset": 9605, "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 2747, - "generated_offset": 9568, + "original_offset": 2814, + "generated_offset": 9624, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 2757, - "generated_offset": 9584, - "length": 2 + "original_offset": 2824, + "generated_offset": 9640, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 2844, + "generated_offset": 9684, + "length": 3 }, { "source": "mbti_parser.mbty", "original_offset": 115, - "generated_offset": 9778, + "generated_offset": 9879, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 2710, - "generated_offset": 10309, + "original_offset": 2777, + "generated_offset": 10589, "length": 22 }, { "source": "mbti_parser.mbty", - "original_offset": 2734, - "generated_offset": 10339, + "original_offset": 2801, + "generated_offset": 10619, "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 2747, - "generated_offset": 10358, + "original_offset": 2814, + "generated_offset": 10638, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 2757, - "generated_offset": 10374, - "length": 2 + "original_offset": 2824, + "generated_offset": 10654, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 2844, + "generated_offset": 10698, + "length": 3 }, { "source": "mbti_parser.mbty", "original_offset": 130, - "generated_offset": 10618, + "generated_offset": 10943, "length": 6 }, { "source": "mbti_parser.mbty", "original_offset": 138, - "generated_offset": 10632, + "generated_offset": 10957, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3199, - "generated_offset": 11072, + "original_offset": 3287, + "generated_offset": 11397, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 3202, - "generated_offset": 11081, + "original_offset": 3290, + "generated_offset": 11406, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 3210, - "generated_offset": 11095, + "original_offset": 3298, + "generated_offset": 11420, "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 3227, - "generated_offset": 11144, + "original_offset": 3315, + "generated_offset": 11469, "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 3140, - "generated_offset": 11598, + "original_offset": 3228, + "generated_offset": 11923, "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 3160, - "generated_offset": 11624, + "original_offset": 3248, + "generated_offset": 11949, "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 3174, - "generated_offset": 11662, + "original_offset": 3262, + "generated_offset": 11987, "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 3264, - "generated_offset": 11915, + "original_offset": 3352, + "generated_offset": 12240, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 3272, - "generated_offset": 11929, + "original_offset": 3360, + "generated_offset": 12254, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3290, - "generated_offset": 12180, + "original_offset": 3378, + "generated_offset": 12505, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 3298, - "generated_offset": 12194, + "original_offset": 3386, + "generated_offset": 12519, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3317, - "generated_offset": 12448, + "original_offset": 3405, + "generated_offset": 12773, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 3326, - "generated_offset": 12463, + "original_offset": 3414, + "generated_offset": 12788, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3345, - "generated_offset": 12717, + "original_offset": 3433, + "generated_offset": 13042, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 3354, - "generated_offset": 12732, + "original_offset": 3442, + "generated_offset": 13057, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3372, - "generated_offset": 12984, + "original_offset": 3460, + "generated_offset": 13309, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 3380, - "generated_offset": 12998, + "original_offset": 3468, + "generated_offset": 13323, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3399, - "generated_offset": 13253, + "original_offset": 3487, + "generated_offset": 13578, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 3408, - "generated_offset": 13268, + "original_offset": 3496, + "generated_offset": 13593, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3427, - "generated_offset": 13523, + "original_offset": 3515, + "generated_offset": 13848, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 3436, - "generated_offset": 13538, + "original_offset": 3524, + "generated_offset": 13863, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3510, - "generated_offset": 13945, + "original_offset": 3613, + "generated_offset": 14496, "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 3530, - "generated_offset": 13971, + "original_offset": 3633, + "generated_offset": 14522, "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 3541, - "generated_offset": 13988, + "original_offset": 3644, + "generated_offset": 14539, "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 3552, - "generated_offset": 14005, - "length": 2 + "original_offset": 3655, + "generated_offset": 14556, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 10591, - "generated_offset": 14214, - "length": 12 + "original_offset": 3666, + "generated_offset": 14573, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 10616, - "generated_offset": 14435, - "length": 13 + "original_offset": 3613, + "generated_offset": 15206, + "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 10641, - "generated_offset": 14703, - "length": 6 + "original_offset": 3633, + "generated_offset": 15232, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 10649, - "generated_offset": 14717, - "length": 2 + "original_offset": 3644, + "generated_offset": 15249, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 10664, - "generated_offset": 14978, - "length": 7 + "original_offset": 3655, + "generated_offset": 15266, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 10673, - "generated_offset": 14993, + "original_offset": 3666, + "generated_offset": 15283, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 10687, - "generated_offset": 15250, - "length": 6 + "original_offset": 3740, + "generated_offset": 15845, + "length": 20 }, { "source": "mbti_parser.mbty", - "original_offset": 10695, - "generated_offset": 15264, - "length": 2 + "original_offset": 3762, + "generated_offset": 15873, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 10708, - "generated_offset": 15796, - "length": 11 + "original_offset": 3772, + "generated_offset": 15889, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 10721, - "generated_offset": 15815, - "length": 222 + "original_offset": 3783, + "generated_offset": 15906, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 10956, - "generated_offset": 16289, - "length": 7 + "original_offset": 6837, + "generated_offset": 16633, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 10965, - "generated_offset": 16304, - "length": 2 + "original_offset": 6862, + "generated_offset": 16664, + "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 10981, - "generated_offset": 16560, - "length": 8 + "original_offset": 6870, + "generated_offset": 16678, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 10991, - "generated_offset": 16576, - "length": 2 + "original_offset": 6879, + "generated_offset": 16693, + "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 11007, - "generated_offset": 16839, - "length": 8 + "original_offset": 6897, + "generated_offset": 16717, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 11017, - "generated_offset": 16855, - "length": 2 + "original_offset": 6909, + "generated_offset": 16735, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 3622, - "generated_offset": 17265, - "length": 18 + "original_offset": 4792, + "generated_offset": 17424, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 3642, - "generated_offset": 17291, - "length": 9 + "original_offset": 4817, + "generated_offset": 17455, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 3653, - "generated_offset": 17308, - "length": 2 + "original_offset": 4826, + "generated_offset": 17470, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 3622, - "generated_offset": 17718, - "length": 18 + "original_offset": 4836, + "generated_offset": 17486, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 3642, - "generated_offset": 17744, - "length": 9 + "original_offset": 4855, + "generated_offset": 17511, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 3653, - "generated_offset": 17761, - "length": 2 + "original_offset": 4938, + "generated_offset": 18408, + "length": 56 }, { "source": "mbti_parser.mbty", - "original_offset": 4052, - "generated_offset": 18019, - "length": 1 + "original_offset": 4996, + "generated_offset": 18472, + "length": 91 }, { "source": "mbti_parser.mbty", - "original_offset": 4055, - "generated_offset": 18028, - "length": 1 + "original_offset": 5089, + "generated_offset": 18571, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 3722, - "generated_offset": 18288, - "length": 6 + "original_offset": 5098, + "generated_offset": 18586, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 3730, - "generated_offset": 18302, - "length": 2 + "original_offset": 5108, + "generated_offset": 18602, + "length": 67 }, { "source": "mbti_parser.mbty", - "original_offset": 3903, - "generated_offset": 19085, - "length": 44 + "original_offset": 5261, + "generated_offset": 19426, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 3949, - "generated_offset": 19137, - "length": 8 + "original_offset": 5286, + "generated_offset": 19457, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 3959, - "generated_offset": 19153, - "length": 15 + "original_offset": 5295, + "generated_offset": 19472, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 3976, - "generated_offset": 19176, - "length": 10 + "original_offset": 5305, + "generated_offset": 19488, + "length": 60 }, { "source": "mbti_parser.mbty", - "original_offset": 3988, - "generated_offset": 19194, - "length": 11 + "original_offset": 5367, + "generated_offset": 19556, + "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 4001, - "generated_offset": 19213, - "length": 2 + "original_offset": 5456, + "generated_offset": 20320, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 613, - "generated_offset": 19482, - "length": 1 + "original_offset": 5481, + "generated_offset": 20351, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 616, - "generated_offset": 19491, - "length": 1 + "original_offset": 5490, + "generated_offset": 20366, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 932, - "generated_offset": 19785, - "length": 1 + "original_offset": 5500, + "generated_offset": 20382, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 935, - "generated_offset": 19794, - "length": 1 + "original_offset": 5519, + "generated_offset": 20407, + "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 10197, - "generated_offset": 20051, - "length": 12 + "original_offset": 5537, + "generated_offset": 20431, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 10211, - "generated_offset": 20071, - "length": 2 + "original_offset": 5635, + "generated_offset": 21218, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 10296, - "generated_offset": 20406, - "length": 17 + "original_offset": 5660, + "generated_offset": 21249, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 10315, - "generated_offset": 20431, - "length": 2 + "original_offset": 5669, + "generated_offset": 21264, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 10319, - "generated_offset": 20441, - "length": 2 + "original_offset": 5679, + "generated_offset": 21280, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 10357, - "generated_offset": 20768, - "length": 10 + "original_offset": 5698, + "generated_offset": 21305, + "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 10369, - "generated_offset": 20786, - "length": 2 + "original_offset": 5728, + "generated_offset": 21341, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 10373, - "generated_offset": 20796, - "length": 2 + "original_offset": 5835, + "generated_offset": 22139, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 10241, - "generated_offset": 21115, - "length": 10 + "original_offset": 5860, + "generated_offset": 22170, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 10253, - "generated_offset": 21133, - "length": 2 + "original_offset": 5869, + "generated_offset": 22185, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 10257, - "generated_offset": 21143, - "length": 2 + "original_offset": 5879, + "generated_offset": 22201, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 10402, - "generated_offset": 21467, - "length": 16 + "original_offset": 5898, + "generated_offset": 22226, + "length": 24 }, { "source": "mbti_parser.mbty", - "original_offset": 10420, - "generated_offset": 21491, - "length": 2 + "original_offset": 5924, + "generated_offset": 22258, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 10424, - "generated_offset": 21501, - "length": 2 + "original_offset": 6041, + "generated_offset": 22992, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 11937, - "generated_offset": 21938, + "original_offset": 6072, + "generated_offset": 23029, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11954, - "generated_offset": 21961, - "length": 14 + "original_offset": 6089, + "generated_offset": 23052, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 11973, - "generated_offset": 22004, - "length": 3 + "original_offset": 6101, + "generated_offset": 23070, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 1072, - "generated_offset": 22362, - "length": 1 + "original_offset": 6113, + "generated_offset": 23088, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 1075, - "generated_offset": 22371, - "length": 5 + "original_offset": 6175, + "generated_offset": 23729, + "length": 58 }, { "source": "mbti_parser.mbty", - "original_offset": 1082, - "generated_offset": 22384, - "length": 2 + "original_offset": 6235, + "generated_offset": 23795, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 1006, - "generated_offset": 22654, - "length": 17 + "original_offset": 6247, + "generated_offset": 23813, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 1025, - "generated_offset": 22679, - "length": 2 + "original_offset": 6259, + "generated_offset": 23831, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 878, - "generated_offset": 22893, - "length": 15 + "original_offset": 6453, + "generated_offset": 24709, + "length": 26 }, { "source": "mbti_parser.mbty", - "original_offset": 3697, - "generated_offset": 23108, - "length": 6 + "original_offset": 6481, + "generated_offset": 24743, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 223, - "generated_offset": 23407, - "length": 1 + "original_offset": 6490, + "generated_offset": 24758, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 226, - "generated_offset": 23416, - "length": 1 + "original_offset": 6500, + "generated_offset": 24774, + "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 199, - "generated_offset": 23644, - "length": 15 + "original_offset": 6518, + "generated_offset": 24798, + "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 4105, - "generated_offset": 24040, + "original_offset": 6531, + "generated_offset": 24817, "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 4112, - "generated_offset": 24053, - "length": 9 + "original_offset": 6573, + "generated_offset": 25463, + "length": 25 }, { "source": "mbti_parser.mbty", - "original_offset": 4123, - "generated_offset": 24070, - "length": 3 + "original_offset": 6600, + "generated_offset": 25496, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 4476, - "generated_offset": 24585, - "length": 16 + "original_offset": 6609, + "generated_offset": 25511, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 4494, - "generated_offset": 24609, - "length": 8 + "original_offset": 6619, + "generated_offset": 25527, + "length": 59 }, { "source": "mbti_parser.mbty", - "original_offset": 4504, - "generated_offset": 24625, - "length": 17 + "original_offset": 7090, + "generated_offset": 26402, + "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 4523, - "generated_offset": 24650, - "length": 24 + "original_offset": 7122, + "generated_offset": 26440, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 4476, - "generated_offset": 25186, - "length": 16 + "original_offset": 7145, + "generated_offset": 26495, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 4494, - "generated_offset": 25210, - "length": 8 + "original_offset": 7176, + "generated_offset": 26532, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 4504, - "generated_offset": 25226, - "length": 17 + "original_offset": 7187, + "generated_offset": 26549, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 4523, - "generated_offset": 25251, - "length": 24 + "original_offset": 7212, + "generated_offset": 26580, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 4716, - "generated_offset": 25832, - "length": 16 + "original_offset": 7295, + "generated_offset": 27402, + "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 4734, - "generated_offset": 25856, - "length": 8 + "original_offset": 7327, + "generated_offset": 27440, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 4744, - "generated_offset": 25872, - "length": 17 + "original_offset": 7350, + "generated_offset": 27495, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7381, + "generated_offset": 27532, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 4763, - "generated_offset": 25897, + "original_offset": 7392, + "generated_offset": 27549, "length": 24 }, { "source": "mbti_parser.mbty", - "original_offset": 4789, - "generated_offset": 25929, - "length": 3 + "original_offset": 7418, + "generated_offset": 27581, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 4592, - "generated_offset": 26437, - "length": 16 + "original_offset": 3613, + "generated_offset": 28216, + "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 4610, - "generated_offset": 26461, - "length": 8 + "original_offset": 3633, + "generated_offset": 28242, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 4620, - "generated_offset": 26477, - "length": 17 + "original_offset": 3644, + "generated_offset": 28259, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 4639, - "generated_offset": 26502, - "length": 26 + "original_offset": 3655, + "generated_offset": 28276, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 4944, - "generated_offset": 27051, - "length": 16 + "original_offset": 3666, + "generated_offset": 28293, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 4962, - "generated_offset": 27075, - "length": 8 + "original_offset": 3740, + "generated_offset": 28855, + "length": 20 }, { "source": "mbti_parser.mbty", - "original_offset": 4972, - "generated_offset": 27091, - "length": 62 + "original_offset": 3762, + "generated_offset": 28883, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5036, - "generated_offset": 27161, - "length": 4 + "original_offset": 3772, + "generated_offset": 28899, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5115, - "generated_offset": 27744, - "length": 16 + "original_offset": 3783, + "generated_offset": 28916, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 5133, - "generated_offset": 27768, - "length": 8 + "original_offset": 6837, + "generated_offset": 29643, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 5143, - "generated_offset": 27784, - "length": 60 + "original_offset": 6862, + "generated_offset": 29674, + "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 5205, - "generated_offset": 27852, - "length": 4 + "original_offset": 6870, + "generated_offset": 29688, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 4821, - "generated_offset": 28322, + "original_offset": 6879, + "generated_offset": 29703, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 4839, - "generated_offset": 28346, - "length": 8 + "original_offset": 6897, + "generated_offset": 29727, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4849, - "generated_offset": 28362, - "length": 60 + "original_offset": 6909, + "generated_offset": 29745, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 5303, - "generated_offset": 29038, - "length": 16 + "original_offset": 4792, + "generated_offset": 30434, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4817, + "generated_offset": 30465, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 5321, - "generated_offset": 29062, + "original_offset": 4826, + "generated_offset": 30480, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5331, - "generated_offset": 29078, + "original_offset": 4836, + "generated_offset": 30496, "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 5350, - "generated_offset": 29103, - "length": 23 + "original_offset": 4855, + "generated_offset": 30521, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 5375, - "generated_offset": 29134, - "length": 3 + "original_offset": 4938, + "generated_offset": 31418, + "length": 56 }, { "source": "mbti_parser.mbty", - "original_offset": 5460, - "generated_offset": 29741, - "length": 16 + "original_offset": 4996, + "generated_offset": 31482, + "length": 91 }, { "source": "mbti_parser.mbty", - "original_offset": 5478, - "generated_offset": 29765, - "length": 8 + "original_offset": 5089, + "generated_offset": 31581, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 5488, - "generated_offset": 29781, - "length": 17 + "original_offset": 5098, + "generated_offset": 31596, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5507, - "generated_offset": 29806, - "length": 28 + "original_offset": 5108, + "generated_offset": 31612, + "length": 67 }, { "source": "mbti_parser.mbty", - "original_offset": 5537, - "generated_offset": 29842, - "length": 3 + "original_offset": 5261, + "generated_offset": 32436, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 5631, - "generated_offset": 30460, - "length": 16 + "original_offset": 5286, + "generated_offset": 32467, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 5649, - "generated_offset": 30484, + "original_offset": 5295, + "generated_offset": 32482, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5659, - "generated_offset": 30500, - "length": 17 + "original_offset": 5305, + "generated_offset": 32498, + "length": 60 }, { "source": "mbti_parser.mbty", - "original_offset": 5678, - "generated_offset": 30525, - "length": 24 + "original_offset": 5367, + "generated_offset": 32566, + "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 5704, - "generated_offset": 30557, - "length": 3 + "original_offset": 5456, + "generated_offset": 33330, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 6210, - "generated_offset": 31253, - "length": 17 + "original_offset": 5481, + "generated_offset": 33361, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6229, - "generated_offset": 31278, + "original_offset": 5490, + "generated_offset": 33376, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6239, - "generated_offset": 31294, + "original_offset": 5500, + "generated_offset": 33392, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5519, + "generated_offset": 33417, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 6257, - "generated_offset": 31318, - "length": 11 + "original_offset": 5537, + "generated_offset": 33441, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 6270, - "generated_offset": 31337, - "length": 2 + "original_offset": 5635, + "generated_offset": 34228, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 6298, - "generated_offset": 31799, - "length": 17 + "original_offset": 5660, + "generated_offset": 34259, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6317, - "generated_offset": 31824, + "original_offset": 5669, + "generated_offset": 34274, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6327, - "generated_offset": 31840, - "length": 55 + "original_offset": 5679, + "generated_offset": 34290, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 6471, - "generated_offset": 32446, - "length": 15 + "original_offset": 5698, + "generated_offset": 34315, + "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 6488, - "generated_offset": 32469, - "length": 7 + "original_offset": 5728, + "generated_offset": 34351, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 6497, - "generated_offset": 32484, - "length": 16 + "original_offset": 5835, + "generated_offset": 35149, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 6515, - "generated_offset": 32508, - "length": 10 + "original_offset": 5860, + "generated_offset": 35180, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6527, - "generated_offset": 32526, - "length": 2 + "original_offset": 5869, + "generated_offset": 35195, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6582, - "generated_offset": 33027, - "length": 16 + "original_offset": 5879, + "generated_offset": 35211, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 6600, - "generated_offset": 33051, - "length": 7 + "original_offset": 5898, + "generated_offset": 35236, + "length": 24 }, { "source": "mbti_parser.mbty", - "original_offset": 6609, - "generated_offset": 33066, - "length": 13 + "original_offset": 5924, + "generated_offset": 35268, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 6624, - "generated_offset": 33087, - "length": 2 + "original_offset": 6041, + "generated_offset": 36002, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 11080, - "generated_offset": 33470, - "length": 17 + "original_offset": 6072, + "generated_offset": 36039, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11102, - "generated_offset": 33516, - "length": 3 + "original_offset": 6089, + "generated_offset": 36062, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4476, - "generated_offset": 34031, - "length": 16 + "original_offset": 6101, + "generated_offset": 36080, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4494, - "generated_offset": 34055, - "length": 8 + "original_offset": 6113, + "generated_offset": 36098, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 4504, - "generated_offset": 34071, - "length": 17 + "original_offset": 6175, + "generated_offset": 36739, + "length": 58 }, { "source": "mbti_parser.mbty", - "original_offset": 4523, - "generated_offset": 34096, - "length": 24 + "original_offset": 6235, + "generated_offset": 36805, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4716, - "generated_offset": 34677, - "length": 16 + "original_offset": 6247, + "generated_offset": 36823, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4734, - "generated_offset": 34701, - "length": 8 + "original_offset": 6259, + "generated_offset": 36841, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 4744, - "generated_offset": 34717, - "length": 17 + "original_offset": 6453, + "generated_offset": 37719, + "length": 26 }, { "source": "mbti_parser.mbty", - "original_offset": 4763, - "generated_offset": 34742, - "length": 24 + "original_offset": 6481, + "generated_offset": 37753, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 4789, - "generated_offset": 34774, - "length": 3 + "original_offset": 6490, + "generated_offset": 37768, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 4592, - "generated_offset": 35282, + "original_offset": 6500, + "generated_offset": 37784, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 4610, - "generated_offset": 35306, - "length": 8 + "original_offset": 6518, + "generated_offset": 37808, + "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 4620, - "generated_offset": 35322, - "length": 17 + "original_offset": 6531, + "generated_offset": 37827, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 4639, - "generated_offset": 35347, - "length": 26 + "original_offset": 6573, + "generated_offset": 38473, + "length": 25 }, { "source": "mbti_parser.mbty", - "original_offset": 4944, - "generated_offset": 35896, - "length": 16 + "original_offset": 6600, + "generated_offset": 38506, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 4962, - "generated_offset": 35920, + "original_offset": 6609, + "generated_offset": 38521, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 4972, - "generated_offset": 35936, - "length": 62 + "original_offset": 6619, + "generated_offset": 38537, + "length": 59 }, { "source": "mbti_parser.mbty", - "original_offset": 5036, - "generated_offset": 36006, - "length": 4 + "original_offset": 7090, + "generated_offset": 39412, + "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 5115, - "generated_offset": 36589, - "length": 16 + "original_offset": 7122, + "generated_offset": 39450, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 5133, - "generated_offset": 36613, - "length": 8 + "original_offset": 7145, + "generated_offset": 39505, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 5143, - "generated_offset": 36629, - "length": 60 + "original_offset": 7176, + "generated_offset": 39542, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7187, + "generated_offset": 39559, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 5205, - "generated_offset": 36697, + "original_offset": 7212, + "generated_offset": 39590, "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 4821, - "generated_offset": 37167, - "length": 16 + "original_offset": 7295, + "generated_offset": 40412, + "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 4839, - "generated_offset": 37191, - "length": 8 + "original_offset": 7327, + "generated_offset": 40450, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 4849, - "generated_offset": 37207, - "length": 60 + "original_offset": 7350, + "generated_offset": 40505, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 5303, - "generated_offset": 37883, - "length": 16 + "original_offset": 7381, + "generated_offset": 40542, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5321, - "generated_offset": 37907, - "length": 8 + "original_offset": 7392, + "generated_offset": 40559, + "length": 24 }, { "source": "mbti_parser.mbty", - "original_offset": 5331, - "generated_offset": 37923, - "length": 17 + "original_offset": 7418, + "generated_offset": 40591, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 5350, - "generated_offset": 37948, - "length": 23 + "original_offset": 3613, + "generated_offset": 41227, + "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 5375, - "generated_offset": 37979, - "length": 3 + "original_offset": 3633, + "generated_offset": 41253, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5460, - "generated_offset": 38586, - "length": 16 + "original_offset": 3644, + "generated_offset": 41270, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5478, - "generated_offset": 38610, - "length": 8 + "original_offset": 3655, + "generated_offset": 41287, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5488, - "generated_offset": 38626, - "length": 17 + "original_offset": 3666, + "generated_offset": 41304, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 5507, - "generated_offset": 38651, - "length": 28 + "original_offset": 3613, + "generated_offset": 41938, + "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 5537, - "generated_offset": 38687, - "length": 3 + "original_offset": 3633, + "generated_offset": 41964, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5631, - "generated_offset": 39305, - "length": 16 + "original_offset": 3644, + "generated_offset": 41981, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5649, - "generated_offset": 39329, - "length": 8 + "original_offset": 3655, + "generated_offset": 41998, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 5659, - "generated_offset": 39345, - "length": 17 + "original_offset": 3666, + "generated_offset": 42015, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 5678, - "generated_offset": 39370, - "length": 24 + "original_offset": 3740, + "generated_offset": 42578, + "length": 20 }, { "source": "mbti_parser.mbty", - "original_offset": 5704, - "generated_offset": 39402, - "length": 3 + "original_offset": 3762, + "generated_offset": 42606, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6210, - "generated_offset": 40098, - "length": 17 + "original_offset": 3772, + "generated_offset": 42622, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 6229, - "generated_offset": 40123, - "length": 8 + "original_offset": 3783, + "generated_offset": 42639, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 6239, - "generated_offset": 40139, - "length": 16 + "original_offset": 6837, + "generated_offset": 43367, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 6257, - "generated_offset": 40163, - "length": 11 + "original_offset": 6862, + "generated_offset": 43398, + "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 6270, - "generated_offset": 40182, - "length": 2 + "original_offset": 6870, + "generated_offset": 43412, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6298, - "generated_offset": 40644, - "length": 17 + "original_offset": 6879, + "generated_offset": 43427, + "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 6317, - "generated_offset": 40669, - "length": 8 + "original_offset": 6897, + "generated_offset": 43451, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 6327, - "generated_offset": 40685, - "length": 55 + "original_offset": 6909, + "generated_offset": 43469, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 6471, - "generated_offset": 41291, - "length": 15 + "original_offset": 4792, + "generated_offset": 44159, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 6488, - "generated_offset": 41314, + "original_offset": 4817, + "generated_offset": 44190, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6497, - "generated_offset": 41329, - "length": 16 + "original_offset": 4826, + "generated_offset": 44205, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6515, - "generated_offset": 41353, - "length": 10 + "original_offset": 4836, + "generated_offset": 44221, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 6527, - "generated_offset": 41371, - "length": 2 + "original_offset": 4855, + "generated_offset": 44246, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 6582, - "generated_offset": 41872, - "length": 16 + "original_offset": 4938, + "generated_offset": 45144, + "length": 56 }, { "source": "mbti_parser.mbty", - "original_offset": 6600, - "generated_offset": 41896, + "original_offset": 4996, + "generated_offset": 45208, + "length": 91 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5089, + "generated_offset": 45307, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6609, - "generated_offset": 41911, - "length": 13 + "original_offset": 5098, + "generated_offset": 45322, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6624, - "generated_offset": 41932, - "length": 2 + "original_offset": 5108, + "generated_offset": 45338, + "length": 67 }, { "source": "mbti_parser.mbty", - "original_offset": 11127, - "generated_offset": 42377, - "length": 10 + "original_offset": 5261, + "generated_offset": 46163, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 11139, - "generated_offset": 42395, - "length": 13 + "original_offset": 5286, + "generated_offset": 46194, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 11157, - "generated_offset": 42437, - "length": 3 + "original_offset": 5295, + "generated_offset": 46209, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 11224, - "generated_offset": 42666, - "length": 18 + "original_offset": 5305, + "generated_offset": 46225, + "length": 60 }, { "source": "mbti_parser.mbty", - "original_offset": 11264, - "generated_offset": 42943, + "original_offset": 5367, + "generated_offset": 46293, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 11272, - "generated_offset": 42957, - "length": 2 + "original_offset": 5456, + "generated_offset": 47058, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 11192, - "generated_offset": 43154, - "length": 6 + "original_offset": 5481, + "generated_offset": 47089, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5490, + "generated_offset": 47104, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5500, + "generated_offset": 47120, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 4716, - "generated_offset": 43717, + "original_offset": 5519, + "generated_offset": 47145, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 4734, - "generated_offset": 43741, + "original_offset": 5537, + "generated_offset": 47169, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5635, + "generated_offset": 47957, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5660, + "generated_offset": 47988, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5669, + "generated_offset": 48003, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 4744, - "generated_offset": 43757, + "original_offset": 5679, + "generated_offset": 48019, "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 4763, - "generated_offset": 43782, - "length": 24 + "original_offset": 5698, + "generated_offset": 48044, + "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 4789, - "generated_offset": 43814, - "length": 3 + "original_offset": 5728, + "generated_offset": 48080, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 4592, - "generated_offset": 44322, - "length": 16 + "original_offset": 5835, + "generated_offset": 48879, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5860, + "generated_offset": 48910, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 4610, - "generated_offset": 44346, + "original_offset": 5869, + "generated_offset": 48925, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 4620, - "generated_offset": 44362, + "original_offset": 5879, + "generated_offset": 48941, "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 4639, - "generated_offset": 44387, - "length": 26 + "original_offset": 5898, + "generated_offset": 48966, + "length": 24 }, { "source": "mbti_parser.mbty", - "original_offset": 4944, - "generated_offset": 44936, - "length": 16 + "original_offset": 5924, + "generated_offset": 48998, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 4962, - "generated_offset": 44960, - "length": 8 + "original_offset": 6041, + "generated_offset": 49733, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6072, + "generated_offset": 49770, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6089, + "generated_offset": 49793, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4972, - "generated_offset": 44976, - "length": 62 + "original_offset": 6101, + "generated_offset": 49811, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 5036, - "generated_offset": 45046, + "original_offset": 6113, + "generated_offset": 49829, "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 5115, - "generated_offset": 45629, - "length": 16 + "original_offset": 6175, + "generated_offset": 50471, + "length": 58 }, { "source": "mbti_parser.mbty", - "original_offset": 5133, - "generated_offset": 45653, - "length": 8 + "original_offset": 6235, + "generated_offset": 50537, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 5143, - "generated_offset": 45669, - "length": 60 + "original_offset": 6247, + "generated_offset": 50555, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 5205, - "generated_offset": 45737, + "original_offset": 6259, + "generated_offset": 50573, "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 4821, - "generated_offset": 46207, - "length": 16 + "original_offset": 6453, + "generated_offset": 51452, + "length": 26 }, { "source": "mbti_parser.mbty", - "original_offset": 4839, - "generated_offset": 46231, - "length": 8 + "original_offset": 6481, + "generated_offset": 51486, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 4849, - "generated_offset": 46247, - "length": 60 + "original_offset": 6490, + "generated_offset": 51501, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5303, - "generated_offset": 46923, + "original_offset": 6500, + "generated_offset": 51517, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 5321, - "generated_offset": 46947, + "original_offset": 6518, + "generated_offset": 51541, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6531, + "generated_offset": 51560, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6573, + "generated_offset": 52207, + "length": 25 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6600, + "generated_offset": 52240, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6609, + "generated_offset": 52255, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5331, - "generated_offset": 46963, - "length": 17 + "original_offset": 6619, + "generated_offset": 52271, + "length": 59 }, { "source": "mbti_parser.mbty", - "original_offset": 5350, - "generated_offset": 46988, - "length": 23 + "original_offset": 7090, + "generated_offset": 53147, + "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 5375, - "generated_offset": 47019, - "length": 3 + "original_offset": 7122, + "generated_offset": 53185, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 932, - "generated_offset": 47315, - "length": 1 + "original_offset": 7145, + "generated_offset": 53240, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 935, - "generated_offset": 47324, - "length": 1 + "original_offset": 7176, + "generated_offset": 53277, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 7402, - "generated_offset": 48239, - "length": 45 + "original_offset": 7187, + "generated_offset": 53294, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7212, + "generated_offset": 53325, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7295, + "generated_offset": 54148, + "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 7449, - "generated_offset": 48292, + "original_offset": 7327, + "generated_offset": 54186, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 7472, - "generated_offset": 48347, - "length": 25 + "original_offset": 7350, + "generated_offset": 54241, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 7499, - "generated_offset": 48380, - "length": 6 + "original_offset": 7381, + "generated_offset": 54278, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 7507, - "generated_offset": 48394, - "length": 14 + "original_offset": 7392, + "generated_offset": 54295, + "length": 24 }, { "source": "mbti_parser.mbty", - "original_offset": 7526, - "generated_offset": 48437, - "length": 10 + "original_offset": 7418, + "generated_offset": 54327, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 7538, - "generated_offset": 48455, - "length": 31 + "original_offset": 12616, + "generated_offset": 54712, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 7402, - "generated_offset": 49400, - "length": 45 + "original_offset": 12638, + "generated_offset": 54758, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 7449, - "generated_offset": 49453, - "length": 15 + "original_offset": 3613, + "generated_offset": 55393, + "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 7472, - "generated_offset": 49508, - "length": 25 + "original_offset": 3633, + "generated_offset": 55419, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 7499, - "generated_offset": 49541, - "length": 6 + "original_offset": 3644, + "generated_offset": 55436, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 7507, - "generated_offset": 49555, - "length": 14 + "original_offset": 3655, + "generated_offset": 55453, + "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 7526, - "generated_offset": 49598, - "length": 10 + "original_offset": 3666, + "generated_offset": 55470, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 7538, - "generated_offset": 49616, - "length": 31 + "original_offset": 12127, + "generated_offset": 55679, + "length": 12 }, { "source": "mbti_parser.mbty", - "original_offset": 1072, - "generated_offset": 50002, - "length": 1 + "original_offset": 12152, + "generated_offset": 55900, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12177, + "generated_offset": 56168, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12185, + "generated_offset": 56182, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12200, + "generated_offset": 56443, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12209, + "generated_offset": 56458, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12223, + "generated_offset": 56715, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12231, + "generated_offset": 56729, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12244, + "generated_offset": 57261, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12257, + "generated_offset": 57280, + "length": 222 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12492, + "generated_offset": 57754, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12501, + "generated_offset": 57769, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12517, + "generated_offset": 58025, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12527, + "generated_offset": 58041, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12543, + "generated_offset": 58304, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12553, + "generated_offset": 58320, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3740, + "generated_offset": 58883, + "length": 20 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3762, + "generated_offset": 58911, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3772, + "generated_offset": 58927, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3783, + "generated_offset": 58944, + "length": 3 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6837, + "generated_offset": 59672, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6862, + "generated_offset": 59703, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6870, + "generated_offset": 59717, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6879, + "generated_offset": 59732, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6897, + "generated_offset": 59756, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6909, + "generated_offset": 59774, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4792, + "generated_offset": 60464, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4817, + "generated_offset": 60495, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4826, + "generated_offset": 60510, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4836, + "generated_offset": 60526, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4855, + "generated_offset": 60551, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4938, + "generated_offset": 61449, + "length": 56 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4996, + "generated_offset": 61513, + "length": 91 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5089, + "generated_offset": 61612, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5098, + "generated_offset": 61627, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5108, + "generated_offset": 61643, + "length": 67 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5261, + "generated_offset": 62468, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5286, + "generated_offset": 62499, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5295, + "generated_offset": 62514, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5305, + "generated_offset": 62530, + "length": 60 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5367, + "generated_offset": 62598, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5456, + "generated_offset": 63363, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5481, + "generated_offset": 63394, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5490, + "generated_offset": 63409, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5500, + "generated_offset": 63425, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5519, + "generated_offset": 63450, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5537, + "generated_offset": 63474, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5635, + "generated_offset": 64262, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5660, + "generated_offset": 64293, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5669, + "generated_offset": 64308, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5679, + "generated_offset": 64324, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5698, + "generated_offset": 64349, + "length": 28 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5728, + "generated_offset": 64385, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5835, + "generated_offset": 65184, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5860, + "generated_offset": 65215, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5869, + "generated_offset": 65230, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5879, + "generated_offset": 65246, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5898, + "generated_offset": 65271, + "length": 24 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5924, + "generated_offset": 65303, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6041, + "generated_offset": 66038, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6072, + "generated_offset": 66075, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6089, + "generated_offset": 66098, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6101, + "generated_offset": 66116, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6113, + "generated_offset": 66134, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6175, + "generated_offset": 66776, + "length": 58 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6235, + "generated_offset": 66842, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6247, + "generated_offset": 66860, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6259, + "generated_offset": 66878, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6453, + "generated_offset": 67757, + "length": 26 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6481, + "generated_offset": 67791, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6490, + "generated_offset": 67806, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6500, + "generated_offset": 67822, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6518, + "generated_offset": 67846, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6531, + "generated_offset": 67865, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6573, + "generated_offset": 68512, + "length": 25 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6600, + "generated_offset": 68545, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6609, + "generated_offset": 68560, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6619, + "generated_offset": 68576, + "length": 59 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7090, + "generated_offset": 69452, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7122, + "generated_offset": 69490, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7145, + "generated_offset": 69545, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7176, + "generated_offset": 69582, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7187, + "generated_offset": 69599, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7212, + "generated_offset": 69630, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7295, + "generated_offset": 70453, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7327, + "generated_offset": 70491, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7350, + "generated_offset": 70546, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7381, + "generated_offset": 70583, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7392, + "generated_offset": 70600, + "length": 24 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7418, + "generated_offset": 70632, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12663, + "generated_offset": 71079, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12675, + "generated_offset": 71097, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12693, + "generated_offset": 71139, + "length": 3 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12760, + "generated_offset": 71368, + "length": 18 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12800, + "generated_offset": 71645, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12808, + "generated_offset": 71659, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12728, + "generated_offset": 71856, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3740, + "generated_offset": 72423, + "length": 20 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3762, + "generated_offset": 72451, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3772, + "generated_offset": 72467, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3783, + "generated_offset": 72484, + "length": 3 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4310, + "generated_offset": 73605, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4335, + "generated_offset": 73636, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4350, + "generated_offset": 73657, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4365, + "generated_offset": 73678, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4375, + "generated_offset": 73694, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4392, + "generated_offset": 73717, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4404, + "generated_offset": 73735, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4417, + "generated_offset": 73754, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4310, + "generated_offset": 74875, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4335, + "generated_offset": 74906, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4350, + "generated_offset": 74927, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4365, + "generated_offset": 74948, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4375, + "generated_offset": 74964, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4392, + "generated_offset": 74987, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4404, + "generated_offset": 75005, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4417, + "generated_offset": 75024, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6837, + "generated_offset": 75753, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6862, + "generated_offset": 75784, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6870, + "generated_offset": 75798, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6879, + "generated_offset": 75813, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6897, + "generated_offset": 75837, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6909, + "generated_offset": 75855, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4792, + "generated_offset": 76545, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4817, + "generated_offset": 76576, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4826, + "generated_offset": 76591, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4836, + "generated_offset": 76607, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4855, + "generated_offset": 76632, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4938, + "generated_offset": 77531, + "length": 56 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4996, + "generated_offset": 77595, + "length": 91 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5089, + "generated_offset": 77694, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5098, + "generated_offset": 77709, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5108, + "generated_offset": 77725, + "length": 67 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5261, + "generated_offset": 78551, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5286, + "generated_offset": 78582, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5295, + "generated_offset": 78597, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5305, + "generated_offset": 78613, + "length": 60 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5367, + "generated_offset": 78681, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5456, + "generated_offset": 79447, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5481, + "generated_offset": 79478, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5490, + "generated_offset": 79493, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5500, + "generated_offset": 79509, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5519, + "generated_offset": 79534, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5537, + "generated_offset": 79558, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5635, + "generated_offset": 80347, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5660, + "generated_offset": 80378, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5669, + "generated_offset": 80393, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5679, + "generated_offset": 80409, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5698, + "generated_offset": 80434, + "length": 28 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5728, + "generated_offset": 80470, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5835, + "generated_offset": 81270, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5860, + "generated_offset": 81301, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5869, + "generated_offset": 81316, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5879, + "generated_offset": 81332, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5898, + "generated_offset": 81357, + "length": 24 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5924, + "generated_offset": 81389, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6041, + "generated_offset": 82125, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6072, + "generated_offset": 82162, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6089, + "generated_offset": 82185, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6101, + "generated_offset": 82203, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6113, + "generated_offset": 82221, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6175, + "generated_offset": 82864, + "length": 58 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6235, + "generated_offset": 82930, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6247, + "generated_offset": 82948, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6259, + "generated_offset": 82966, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6453, + "generated_offset": 83846, + "length": 26 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6481, + "generated_offset": 83880, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6490, + "generated_offset": 83895, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6500, + "generated_offset": 83911, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6518, + "generated_offset": 83935, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6531, + "generated_offset": 83954, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6573, + "generated_offset": 84602, + "length": 25 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6600, + "generated_offset": 84635, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6609, + "generated_offset": 84650, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6619, + "generated_offset": 84666, + "length": 59 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6961, + "generated_offset": 85242, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6986, + "generated_offset": 85273, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6994, + "generated_offset": 85287, + "length": 12 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7008, + "generated_offset": 85307, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7090, + "generated_offset": 86129, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7122, + "generated_offset": 86167, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7145, + "generated_offset": 86222, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7176, + "generated_offset": 86259, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7187, + "generated_offset": 86276, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7212, + "generated_offset": 86307, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7295, + "generated_offset": 87131, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7327, + "generated_offset": 87169, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7350, + "generated_offset": 87224, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7381, + "generated_offset": 87261, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7392, + "generated_offset": 87278, + "length": 24 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7418, + "generated_offset": 87310, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3740, + "generated_offset": 87875, + "length": 20 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3762, + "generated_offset": 87903, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3772, + "generated_offset": 87919, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3783, + "generated_offset": 87936, + "length": 3 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4310, + "generated_offset": 89056, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4335, + "generated_offset": 89087, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4350, + "generated_offset": 89108, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4365, + "generated_offset": 89129, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4375, + "generated_offset": 89145, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4392, + "generated_offset": 89168, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4404, + "generated_offset": 89186, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4417, + "generated_offset": 89205, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4310, + "generated_offset": 90326, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4335, + "generated_offset": 90357, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4350, + "generated_offset": 90378, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4365, + "generated_offset": 90399, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4375, + "generated_offset": 90415, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4392, + "generated_offset": 90438, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4404, + "generated_offset": 90456, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4417, + "generated_offset": 90475, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6837, + "generated_offset": 91204, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6862, + "generated_offset": 91235, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6870, + "generated_offset": 91249, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6879, + "generated_offset": 91264, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6897, + "generated_offset": 91288, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6909, + "generated_offset": 91306, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4792, + "generated_offset": 91996, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4817, + "generated_offset": 92027, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4826, + "generated_offset": 92042, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4836, + "generated_offset": 92058, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4855, + "generated_offset": 92083, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4938, + "generated_offset": 92981, + "length": 56 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4996, + "generated_offset": 93045, + "length": 91 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5089, + "generated_offset": 93144, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5098, + "generated_offset": 93159, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5108, + "generated_offset": 93175, + "length": 67 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5261, + "generated_offset": 94000, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5286, + "generated_offset": 94031, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5295, + "generated_offset": 94046, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5305, + "generated_offset": 94062, + "length": 60 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5367, + "generated_offset": 94130, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 54, + "generated_offset": 94379, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 62, + "generated_offset": 94393, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 39, + "generated_offset": 94589, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5456, + "generated_offset": 95354, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5481, + "generated_offset": 95385, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5490, + "generated_offset": 95400, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5500, + "generated_offset": 95416, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5519, + "generated_offset": 95441, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5537, + "generated_offset": 95465, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8728, + "generated_offset": 95803, + "length": 50 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8780, + "generated_offset": 95861, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8818, + "generated_offset": 96244, + "length": 28 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8848, + "generated_offset": 96280, + "length": 32 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8101, + "generated_offset": 97227, + "length": 45 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8148, + "generated_offset": 97280, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8171, + "generated_offset": 97335, + "length": 25 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8198, + "generated_offset": 97368, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8206, + "generated_offset": 97382, + "length": 14 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8225, + "generated_offset": 97425, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8237, + "generated_offset": 97443, + "length": 31 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8101, + "generated_offset": 98389, + "length": 45 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8148, + "generated_offset": 98442, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8171, + "generated_offset": 98497, + "length": 25 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8198, + "generated_offset": 98530, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8206, + "generated_offset": 98544, + "length": 14 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8225, + "generated_offset": 98587, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8237, + "generated_offset": 98605, + "length": 31 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8483, + "generated_offset": 99781, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8515, + "generated_offset": 99819, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8530, + "generated_offset": 99840, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8545, + "generated_offset": 99861, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8555, + "generated_offset": 99877, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8572, + "generated_offset": 99900, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8584, + "generated_offset": 99918, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8597, + "generated_offset": 99937, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8483, + "generated_offset": 101090, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8515, + "generated_offset": 101128, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8530, + "generated_offset": 101149, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8545, + "generated_offset": 101170, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8555, + "generated_offset": 101186, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8572, + "generated_offset": 101209, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8584, + "generated_offset": 101227, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8597, + "generated_offset": 101246, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8483, + "generated_offset": 102398, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8515, + "generated_offset": 102436, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8530, + "generated_offset": 102457, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8545, + "generated_offset": 102478, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8555, + "generated_offset": 102494, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8572, + "generated_offset": 102517, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8584, + "generated_offset": 102535, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8597, + "generated_offset": 102554, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3856, + "generated_offset": 102983, + "length": 28 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3886, + "generated_offset": 103019, + "length": 34 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3928, + "generated_offset": 103093, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3955, + "generated_offset": 103521, + "length": 28 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 3985, + "generated_offset": 103557, + "length": 33 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 4026, + "generated_offset": 103630, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8483, + "generated_offset": 104778, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8515, + "generated_offset": 104816, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8530, + "generated_offset": 104837, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8545, + "generated_offset": 104858, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8555, + "generated_offset": 104874, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8572, + "generated_offset": 104897, + "length": 10 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8584, + "generated_offset": 104915, + "length": 11 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8597, + "generated_offset": 104934, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 54, + "generated_offset": 105206, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 62, + "generated_offset": 105220, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 39, + "generated_offset": 105426, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 223, + "generated_offset": 105726, + "length": 1 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 226, + "generated_offset": 105735, + "length": 1 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 199, + "generated_offset": 105964, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 8992, + "generated_offset": 106383, + "length": 22 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 9016, + "generated_offset": 106413, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 9026, + "generated_offset": 106429, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 9146, + "generated_offset": 106901, + "length": 28 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 9176, + "generated_offset": 106937, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 1075, - "generated_offset": 50011, - "length": 5 + "original_offset": 9195, + "generated_offset": 106962, + "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 1082, - "generated_offset": 50024, - "length": 2 + "original_offset": 9056, + "generated_offset": 107306, + "length": 22 }, { "source": "mbti_parser.mbty", - "original_offset": 1006, - "generated_offset": 50294, - "length": 17 + "original_offset": 9080, + "generated_offset": 107336, + "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 1025, - "generated_offset": 50319, - "length": 2 + "original_offset": 8649, + "generated_offset": 107611, + "length": 53 }, { "source": "mbti_parser.mbty", - "original_offset": 878, - "generated_offset": 50533, - "length": 15 + "original_offset": 5635, + "generated_offset": 108447, + "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 5460, - "generated_offset": 51152, - "length": 16 + "original_offset": 5660, + "generated_offset": 108478, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 5478, - "generated_offset": 51176, + "original_offset": 5669, + "generated_offset": 108493, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5488, - "generated_offset": 51192, + "original_offset": 5679, + "generated_offset": 108509, "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 5507, - "generated_offset": 51217, + "original_offset": 5698, + "generated_offset": 108534, "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 5537, - "generated_offset": 51253, - "length": 3 + "original_offset": 5728, + "generated_offset": 108570, + "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 932, - "generated_offset": 51539, + "generated_offset": 108859, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 935, - "generated_offset": 51548, + "generated_offset": 108868, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 878, - "generated_offset": 51756, + "generated_offset": 109077, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 5631, - "generated_offset": 52386, - "length": 16 + "original_offset": 5835, + "generated_offset": 109886, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 5860, + "generated_offset": 109917, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 5649, - "generated_offset": 52410, + "original_offset": 5869, + "generated_offset": 109932, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 5659, - "generated_offset": 52426, + "original_offset": 5879, + "generated_offset": 109948, "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 5678, - "generated_offset": 52451, + "original_offset": 5898, + "generated_offset": 109973, "length": 24 }, { "source": "mbti_parser.mbty", - "original_offset": 5704, - "generated_offset": 52483, - "length": 3 + "original_offset": 5924, + "generated_offset": 110005, + "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 932, - "generated_offset": 52781, + "generated_offset": 110306, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 935, - "generated_offset": 52790, + "generated_offset": 110315, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 6876, - "generated_offset": 53809, + "original_offset": 7575, + "generated_offset": 111335, "length": 46 }, { "source": "mbti_parser.mbty", - "original_offset": 6924, - "generated_offset": 53863, + "original_offset": 7623, + "generated_offset": 111389, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 6947, - "generated_offset": 53918, + "original_offset": 7646, + "generated_offset": 111444, "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 6960, - "generated_offset": 53937, + "original_offset": 7659, + "generated_offset": 111463, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6969, - "generated_offset": 53952, + "original_offset": 7668, + "generated_offset": 111478, "length": 14 }, { "source": "mbti_parser.mbty", - "original_offset": 6988, - "generated_offset": 53995, + "original_offset": 7687, + "generated_offset": 111521, "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 7000, - "generated_offset": 54013, + "original_offset": 7699, + "generated_offset": 111539, "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 12115, - "generated_offset": 54263, - "length": 16 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 6876, - "generated_offset": 55297, + "original_offset": 7575, + "generated_offset": 112588, "length": 46 }, { "source": "mbti_parser.mbty", - "original_offset": 6924, - "generated_offset": 55351, + "original_offset": 7623, + "generated_offset": 112642, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 6947, - "generated_offset": 55406, + "original_offset": 7646, + "generated_offset": 112697, "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 6960, - "generated_offset": 55425, + "original_offset": 7659, + "generated_offset": 112716, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 6969, - "generated_offset": 55440, + "original_offset": 7668, + "generated_offset": 112731, "length": 14 }, { "source": "mbti_parser.mbty", - "original_offset": 6988, - "generated_offset": 55483, + "original_offset": 7687, + "generated_offset": 112774, "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 7000, - "generated_offset": 55501, + "original_offset": 7699, + "generated_offset": 112792, "length": 30 }, - { - "source": "mbti_parser.mbty", - "original_offset": 12163, - "generated_offset": 55823, - "length": 1 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 12166, - "generated_offset": 55832, - "length": 1 - }, { "source": "mbti_parser.mbty", "original_offset": 54, - "generated_offset": 56178, + "generated_offset": 113169, "length": 6 }, { "source": "mbti_parser.mbty", "original_offset": 62, - "generated_offset": 56192, + "generated_offset": 113183, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 7087, - "generated_offset": 56547, + "original_offset": 7786, + "generated_offset": 113539, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 7091, - "generated_offset": 56557, + "original_offset": 7790, + "generated_offset": 113549, "length": 9 }, { "source": "mbti_parser.mbty", - "original_offset": 7108, - "generated_offset": 56606, + "original_offset": 7807, + "generated_offset": 113598, "length": 3 }, { "source": "mbti_parser.mbty", "original_offset": 39, - "generated_offset": 56816, + "generated_offset": 113809, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 7177, - "generated_offset": 57169, + "original_offset": 7876, + "generated_offset": 114162, "length": 21 }, { "source": "mbti_parser.mbty", - "original_offset": 7200, - "generated_offset": 57198, + "original_offset": 7899, + "generated_offset": 114191, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 7208, - "generated_offset": 57212, + "original_offset": 7907, + "generated_offset": 114205, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 7266, - "generated_offset": 57637, + "original_offset": 7965, + "generated_offset": 114630, "length": 21 }, { "source": "mbti_parser.mbty", - "original_offset": 7289, - "generated_offset": 57666, + "original_offset": 7988, + "generated_offset": 114659, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 7297, - "generated_offset": 57680, + "original_offset": 7996, + "generated_offset": 114673, "length": 14 }, { "source": "mbti_parser.mbty", - "original_offset": 7313, - "generated_offset": 57702, + "original_offset": 8012, + "generated_offset": 114695, "length": 3 }, { "source": "mbti_parser.mbty", "original_offset": 1072, - "generated_offset": 58067, + "generated_offset": 115060, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1075, - "generated_offset": 58076, + "generated_offset": 115069, "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 1082, - "generated_offset": 58089, + "generated_offset": 115082, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 1006, - "generated_offset": 58364, + "generated_offset": 115357, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 1025, - "generated_offset": 58389, + "generated_offset": 115382, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 54, - "generated_offset": 58748, + "generated_offset": 115741, "length": 6 }, { "source": "mbti_parser.mbty", "original_offset": 62, - "generated_offset": 58762, + "generated_offset": 115755, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 613, - "generated_offset": 59036, + "generated_offset": 116029, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 616, - "generated_offset": 59045, + "generated_offset": 116038, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 281, - "generated_offset": 59235, + "generated_offset": 116228, "length": 6 }, { "source": "mbti_parser.mbty", "original_offset": 265, - "generated_offset": 59429, + "generated_offset": 116422, "length": 7 }, { "source": "mbti_parser.mbty", "original_offset": 39, - "generated_offset": 59649, + "generated_offset": 116642, "length": 6 }, { "source": "mbti_parser.mbty", "original_offset": 1072, - "generated_offset": 60014, + "generated_offset": 117007, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1075, - "generated_offset": 60023, + "generated_offset": 117016, "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 1082, - "generated_offset": 60036, + "generated_offset": 117029, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 1006, - "generated_offset": 60309, + "generated_offset": 117302, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 1025, - "generated_offset": 60334, + "generated_offset": 117327, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 878, - "generated_offset": 60550, + "generated_offset": 117543, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 5804, - "generated_offset": 61038, - "length": 19 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 5825, - "generated_offset": 61065, - "length": 13 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 5840, - "generated_offset": 61086, - "length": 8 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 5850, - "generated_offset": 61102, - "length": 2 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 5895, - "generated_offset": 61484, - "length": 45 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 5942, - "generated_offset": 61537, - "length": 8 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 5952, - "generated_offset": 61553, - "length": 2 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 5987, - "generated_offset": 61901, - "length": 24 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 6013, - "generated_offset": 61933, - "length": 14 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 6029, - "generated_offset": 61955, - "length": 2 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 7967, - "generated_offset": 62312, + "original_offset": 9857, + "generated_offset": 117907, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 7970, - "generated_offset": 62321, + "original_offset": 9860, + "generated_offset": 117916, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 932, - "generated_offset": 62646, + "generated_offset": 118237, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 935, - "generated_offset": 62655, + "generated_offset": 118246, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 7774, - "generated_offset": 63082, - "length": 34 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 7810, - "generated_offset": 63124, - "length": 15 + "original_offset": 9677, + "generated_offset": 118512, + "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 7827, - "generated_offset": 63147, + "original_offset": 9685, + "generated_offset": 118526, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 8427, - "generated_offset": 63418, - "length": 1 + "original_offset": 9698, + "generated_offset": 118921, + "length": 19 }, { "source": "mbti_parser.mbty", - "original_offset": 8430, - "generated_offset": 63427, - "length": 1 + "original_offset": 9722, + "generated_offset": 118969, + "length": 3 }, { "source": "mbti_parser.mbty", "original_offset": 1072, - "generated_offset": 63796, + "generated_offset": 119367, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1075, - "generated_offset": 63805, + "generated_offset": 119376, "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 1082, - "generated_offset": 63818, + "generated_offset": 119389, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 1006, - "generated_offset": 64097, + "generated_offset": 119686, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 1025, - "generated_offset": 64122, + "generated_offset": 119711, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 7644, - "generated_offset": 64447, - "length": 34 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 7680, - "generated_offset": 64489, - "length": 30 + "original_offset": 878, + "generated_offset": 119939, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 1072, - "generated_offset": 64920, + "original_offset": 9996, + "generated_offset": 120275, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 1075, - "generated_offset": 64929, - "length": 5 + "original_offset": 9999, + "generated_offset": 120284, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 1082, - "generated_offset": 64942, + "original_offset": 10194, + "generated_offset": 120679, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 1006, - "generated_offset": 65243, - "length": 17 + "original_offset": 10198, + "generated_offset": 120689, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 1025, - "generated_offset": 65268, + "original_offset": 10202, + "generated_offset": 120699, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 878, - "generated_offset": 65498, + "original_offset": 9947, + "generated_offset": 120933, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 6210, - "generated_offset": 66207, - "length": 17 + "original_offset": 6041, + "generated_offset": 121678, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 6229, - "generated_offset": 66232, - "length": 8 + "original_offset": 6072, + "generated_offset": 121715, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 6239, - "generated_offset": 66248, - "length": 16 + "original_offset": 6089, + "generated_offset": 121738, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 6257, - "generated_offset": 66272, - "length": 11 + "original_offset": 6101, + "generated_offset": 121756, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 6270, - "generated_offset": 66291, - "length": 2 + "original_offset": 6113, + "generated_offset": 121774, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 4285, - "generated_offset": 66962, - "length": 24 + "original_offset": 6175, + "generated_offset": 122416, + "length": 58 }, { "source": "mbti_parser.mbty", - "original_offset": 4311, - "generated_offset": 66994, + "original_offset": 6235, + "generated_offset": 122482, "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4323, - "generated_offset": 67012, - "length": 11 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 4336, - "generated_offset": 67031, - "length": 15 + "original_offset": 6247, + "generated_offset": 122500, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 4353, - "generated_offset": 67054, - "length": 2 + "original_offset": 6259, + "generated_offset": 122518, + "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 613, - "generated_offset": 67346, + "original_offset": 9602, + "generated_offset": 122877, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 616, - "generated_offset": 67355, + "original_offset": 9605, + "generated_offset": 122886, "length": 1 }, - { - "source": "mbti_parser.mbty", - "original_offset": 281, - "generated_offset": 67611, - "length": 6 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 265, - "generated_offset": 68000, - "length": 7 - }, { "source": "mbti_parser.mbty", "original_offset": 932, - "generated_offset": 68323, + "generated_offset": 123211, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 935, - "generated_offset": 68332, + "generated_offset": 123220, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 10491, - "generated_offset": 68601, - "length": 12 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 10505, - "generated_offset": 68621, - "length": 2 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 10535, - "generated_offset": 68952, - "length": 10 + "original_offset": 9409, + "generated_offset": 123647, + "length": 34 }, { "source": "mbti_parser.mbty", - "original_offset": 10547, - "generated_offset": 68970, - "length": 2 + "original_offset": 9445, + "generated_offset": 123689, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 10551, - "generated_offset": 68980, + "original_offset": 9462, + "generated_offset": 123712, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 12019, - "generated_offset": 69422, - "length": 15 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 12036, - "generated_offset": 69445, - "length": 14 + "original_offset": 10062, + "generated_offset": 123983, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 12055, - "generated_offset": 69488, - "length": 3 + "original_offset": 10065, + "generated_offset": 123992, + "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1072, - "generated_offset": 69880, + "generated_offset": 124361, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1075, - "generated_offset": 69889, + "generated_offset": 124370, "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 1082, - "generated_offset": 69902, + "generated_offset": 124383, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 1006, - "generated_offset": 70195, + "generated_offset": 124662, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 1025, - "generated_offset": 70220, + "generated_offset": 124687, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 878, - "generated_offset": 70446, - "length": 15 + "original_offset": 9279, + "generated_offset": 125012, + "length": 34 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 9315, + "generated_offset": 125054, + "length": 30 }, { "source": "mbti_parser.mbty", "original_offset": 1072, - "generated_offset": 70832, + "generated_offset": 125485, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1075, - "generated_offset": 70841, + "generated_offset": 125494, "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 1082, - "generated_offset": 70854, + "generated_offset": 125507, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 1006, - "generated_offset": 71135, + "generated_offset": 125808, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 1025, - "generated_offset": 71160, + "generated_offset": 125833, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 1072, - "generated_offset": 71530, - "length": 1 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 1075, - "generated_offset": 71539, - "length": 5 + "original_offset": 878, + "generated_offset": 126063, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 1082, - "generated_offset": 71552, - "length": 2 + "original_offset": 6453, + "generated_offset": 126953, + "length": 26 }, { "source": "mbti_parser.mbty", - "original_offset": 1006, - "generated_offset": 71831, - "length": 17 + "original_offset": 6481, + "generated_offset": 126987, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 1025, - "generated_offset": 71856, - "length": 2 + "original_offset": 6490, + "generated_offset": 127002, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 223, - "generated_offset": 72206, - "length": 1 + "original_offset": 6500, + "generated_offset": 127018, + "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 226, - "generated_offset": 72215, - "length": 1 + "original_offset": 6518, + "generated_offset": 127042, + "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 495, - "generated_offset": 72490, - "length": 1 + "original_offset": 6531, + "generated_offset": 127061, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 498, - "generated_offset": 72499, - "length": 1 + "original_offset": 4578, + "generated_offset": 127891, + "length": 32 }, { "source": "mbti_parser.mbty", - "original_offset": 199, - "generated_offset": 72717, - "length": 15 + "original_offset": 4612, + "generated_offset": 127931, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6298, - "generated_offset": 73193, - "length": 17 + "original_offset": 4622, + "generated_offset": 127947, + "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 6317, - "generated_offset": 73218, - "length": 8 + "original_offset": 4634, + "generated_offset": 127965, + "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 6327, - "generated_offset": 73234, - "length": 55 + "original_offset": 4647, + "generated_offset": 127984, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 6471, - "generated_offset": 73841, - "length": 15 + "original_offset": 4664, + "generated_offset": 128007, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 6488, - "generated_offset": 73864, - "length": 7 + "original_offset": 4578, + "generated_offset": 128837, + "length": 32 }, { "source": "mbti_parser.mbty", - "original_offset": 6497, - "generated_offset": 73879, - "length": 16 + "original_offset": 4612, + "generated_offset": 128877, + "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 6515, - "generated_offset": 73903, + "original_offset": 4622, + "generated_offset": 128893, "length": 10 }, { "source": "mbti_parser.mbty", - "original_offset": 6527, - "generated_offset": 73921, - "length": 2 + "original_offset": 4634, + "generated_offset": 128911, + "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 8222, - "generated_offset": 74272, - "length": 1 + "original_offset": 4647, + "generated_offset": 128930, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 8225, - "generated_offset": 74281, - "length": 1 + "original_offset": 4664, + "generated_offset": 128953, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 932, - "generated_offset": 74602, + "original_offset": 613, + "generated_offset": 129225, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 935, - "generated_offset": 74611, + "original_offset": 616, + "generated_offset": 129234, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 8042, - "generated_offset": 74877, - "length": 6 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 8050, - "generated_offset": 74891, - "length": 2 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 8063, - "generated_offset": 75286, - "length": 19 - }, - { - "source": "mbti_parser.mbty", - "original_offset": 8087, - "generated_offset": 75334, - "length": 3 + "original_offset": 13699, + "generated_offset": 129527, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 1072, - "generated_offset": 75732, + "original_offset": 13702, + "generated_offset": 129536, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 1075, - "generated_offset": 75741, - "length": 5 + "original_offset": 281, + "generated_offset": 129792, + "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 1082, - "generated_offset": 75754, - "length": 2 + "original_offset": 265, + "generated_offset": 130181, + "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 1006, - "generated_offset": 76051, - "length": 17 + "original_offset": 932, + "generated_offset": 130482, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 1025, - "generated_offset": 76076, - "length": 2 + "original_offset": 935, + "generated_offset": 130491, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 878, - "generated_offset": 76304, - "length": 15 + "original_offset": 11832, + "generated_offset": 130867, + "length": 29 }, { "source": "mbti_parser.mbty", - "original_offset": 8361, - "generated_offset": 76640, - "length": 1 + "original_offset": 11863, + "generated_offset": 130904, + "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 8364, - "generated_offset": 76649, - "length": 1 + "original_offset": 11887, + "generated_offset": 130960, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 8559, - "generated_offset": 77044, - "length": 2 + "original_offset": 11918, + "generated_offset": 131331, + "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 8563, - "generated_offset": 77054, - "length": 2 + "original_offset": 11948, + "generated_offset": 131367, + "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 8567, - "generated_offset": 77064, - "length": 2 + "original_offset": 11963, + "generated_offset": 131388, + "length": 18 }, { "source": "mbti_parser.mbty", - "original_offset": 8312, - "generated_offset": 77298, - "length": 15 + "original_offset": 11983, + "generated_offset": 131414, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9119, - "generated_offset": 78210, + "original_offset": 10754, + "generated_offset": 132313, "length": 12 }, { "source": "mbti_parser.mbty", - "original_offset": 9133, - "generated_offset": 78230, + "original_offset": 10768, + "generated_offset": 132333, "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 9165, - "generated_offset": 78268, + "original_offset": 10800, + "generated_offset": 132371, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 9174, - "generated_offset": 78283, + "original_offset": 10809, + "generated_offset": 132386, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9184, - "generated_offset": 78299, + "original_offset": 10819, + "generated_offset": 132402, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9199, - "generated_offset": 78320, + "original_offset": 10834, + "generated_offset": 132423, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9217, - "generated_offset": 78362, + "original_offset": 10852, + "generated_offset": 132465, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9119, - "generated_offset": 79262, + "original_offset": 10754, + "generated_offset": 133364, "length": 12 }, { "source": "mbti_parser.mbty", - "original_offset": 9133, - "generated_offset": 79282, + "original_offset": 10768, + "generated_offset": 133384, "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 9165, - "generated_offset": 79320, + "original_offset": 10800, + "generated_offset": 133422, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 9174, - "generated_offset": 79335, + "original_offset": 10809, + "generated_offset": 133437, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9184, - "generated_offset": 79351, + "original_offset": 10819, + "generated_offset": 133453, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9199, - "generated_offset": 79372, + "original_offset": 10834, + "generated_offset": 133474, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9217, - "generated_offset": 79414, + "original_offset": 10852, + "generated_offset": 133516, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9387, - "generated_offset": 80109, + "original_offset": 11022, + "generated_offset": 134210, "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 9417, - "generated_offset": 80145, + "original_offset": 11052, + "generated_offset": 134246, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 9426, - "generated_offset": 80160, + "original_offset": 11061, + "generated_offset": 134261, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9436, - "generated_offset": 80176, + "original_offset": 11071, + "generated_offset": 134277, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9451, - "generated_offset": 80197, + "original_offset": 11086, + "generated_offset": 134298, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9469, - "generated_offset": 80239, + "original_offset": 11104, + "generated_offset": 134340, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 8859, - "generated_offset": 80777, + "original_offset": 10494, + "generated_offset": 134878, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 8877, - "generated_offset": 80801, + "original_offset": 10512, + "generated_offset": 134902, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 8885, - "generated_offset": 80815, + "original_offset": 10520, + "generated_offset": 134916, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 8903, - "generated_offset": 80857, + "original_offset": 10538, + "generated_offset": 134958, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 10129, - "generated_offset": 81251, + "original_offset": 11764, + "generated_offset": 135352, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 10132, - "generated_offset": 81260, + "original_offset": 11767, + "generated_offset": 135361, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 613, - "generated_offset": 81519, + "generated_offset": 135620, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 616, - "generated_offset": 81528, + "generated_offset": 135629, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 9119, - "generated_offset": 82426, + "original_offset": 10754, + "generated_offset": 136526, "length": 12 }, { "source": "mbti_parser.mbty", - "original_offset": 9133, - "generated_offset": 82446, + "original_offset": 10768, + "generated_offset": 136546, "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 9165, - "generated_offset": 82484, + "original_offset": 10800, + "generated_offset": 136584, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 9174, - "generated_offset": 82499, + "original_offset": 10809, + "generated_offset": 136599, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9184, - "generated_offset": 82515, + "original_offset": 10819, + "generated_offset": 136615, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9199, - "generated_offset": 82536, + "original_offset": 10834, + "generated_offset": 136636, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9217, - "generated_offset": 82578, + "original_offset": 10852, + "generated_offset": 136678, "length": 3 }, { "source": "mbti_parser.mbty", "original_offset": 130, - "generated_offset": 82849, + "generated_offset": 136949, "length": 6 }, { "source": "mbti_parser.mbty", "original_offset": 138, - "generated_offset": 82863, + "generated_offset": 136963, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 8743, - "generated_offset": 83403, + "original_offset": 10378, + "generated_offset": 137503, "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 8756, - "generated_offset": 83422, + "original_offset": 10391, + "generated_offset": 137522, "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 8763, - "generated_offset": 83435, + "original_offset": 10398, + "generated_offset": 137535, "length": 14 }, { "source": "mbti_parser.mbty", - "original_offset": 8782, - "generated_offset": 83478, + "original_offset": 10417, + "generated_offset": 137578, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9119, - "generated_offset": 84378, + "original_offset": 10754, + "generated_offset": 138477, "length": 12 }, { "source": "mbti_parser.mbty", - "original_offset": 9133, - "generated_offset": 84398, + "original_offset": 10768, + "generated_offset": 138497, "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 9165, - "generated_offset": 84436, + "original_offset": 10800, + "generated_offset": 138535, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 9174, - "generated_offset": 84451, + "original_offset": 10809, + "generated_offset": 138550, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9184, - "generated_offset": 84467, + "original_offset": 10819, + "generated_offset": 138566, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9199, - "generated_offset": 84488, + "original_offset": 10834, + "generated_offset": 138587, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9217, - "generated_offset": 84530, + "original_offset": 10852, + "generated_offset": 138629, "length": 3 }, { "source": "mbti_parser.mbty", "original_offset": 115, - "generated_offset": 84739, + "generated_offset": 138838, "length": 6 }, { "source": "mbti_parser.mbty", - "original_offset": 9387, - "generated_offset": 85437, + "original_offset": 11022, + "generated_offset": 139535, "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 9417, - "generated_offset": 85473, + "original_offset": 11052, + "generated_offset": 139571, "length": 7 }, { "source": "mbti_parser.mbty", - "original_offset": 9426, - "generated_offset": 85488, + "original_offset": 11061, + "generated_offset": 139586, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9436, - "generated_offset": 85504, + "original_offset": 11071, + "generated_offset": 139602, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9451, - "generated_offset": 85525, + "original_offset": 11086, + "generated_offset": 139623, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9469, - "generated_offset": 85567, + "original_offset": 11104, + "generated_offset": 139665, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 8806, - "generated_offset": 85818, + "original_offset": 10441, + "generated_offset": 139916, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 8809, - "generated_offset": 85827, + "original_offset": 10444, + "generated_offset": 139925, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 8617, - "generated_offset": 86372, + "original_offset": 10252, + "generated_offset": 140470, "length": 11 }, { "source": "mbti_parser.mbty", - "original_offset": 8630, - "generated_offset": 86391, + "original_offset": 10265, + "generated_offset": 140489, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 8648, - "generated_offset": 86433, + "original_offset": 10283, + "generated_offset": 140531, "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 8679, - "generated_offset": 86496, + "original_offset": 10314, + "generated_offset": 140594, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9653, - "generated_offset": 86842, + "original_offset": 11288, + "generated_offset": 140940, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 9657, - "generated_offset": 86852, + "original_offset": 11292, + "generated_offset": 140950, "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 9676, - "generated_offset": 86877, + "original_offset": 11311, + "generated_offset": 140975, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9710, - "generated_offset": 87367, + "original_offset": 11345, + "generated_offset": 141465, "length": 165 }, { "source": "mbti_parser.mbty", - "original_offset": 9877, - "generated_offset": 87540, + "original_offset": 11512, + "generated_offset": 141638, "length": 32 }, { "source": "mbti_parser.mbty", - "original_offset": 9958, - "generated_offset": 88039, + "original_offset": 11593, + "generated_offset": 142137, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 9976, - "generated_offset": 88063, + "original_offset": 11611, + "generated_offset": 142161, "length": 32 }, { "source": "mbti_parser.mbty", - "original_offset": 10013, - "generated_offset": 88124, + "original_offset": 11648, + "generated_offset": 142222, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9569, - "generated_offset": 88512, + "original_offset": 11204, + "generated_offset": 142610, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 9573, - "generated_offset": 88522, + "original_offset": 11208, + "generated_offset": 142620, "length": 30 }, { "source": "mbti_parser.mbty", - "original_offset": 9611, - "generated_offset": 88592, + "original_offset": 11246, + "generated_offset": 142690, "length": 4 }, { "source": "mbti_parser.mbty", - "original_offset": 9019, - "generated_offset": 88842, + "original_offset": 10654, + "generated_offset": 142940, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 9022, - "generated_offset": 88851, + "original_offset": 10657, + "generated_offset": 142949, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 9261, - "generated_offset": 89489, + "original_offset": 10896, + "generated_offset": 143586, "length": 31 }, { "source": "mbti_parser.mbty", - "original_offset": 9294, - "generated_offset": 89528, + "original_offset": 10929, + "generated_offset": 143625, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9304, - "generated_offset": 89544, + "original_offset": 10939, + "generated_offset": 143641, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9319, - "generated_offset": 89565, + "original_offset": 10954, + "generated_offset": 143662, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9337, - "generated_offset": 89607, + "original_offset": 10972, + "generated_offset": 143704, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 11355, - "generated_offset": 89808, + "original_offset": 12891, + "generated_offset": 143904, "length": 6 }, { "source": "mbti_parser.mbty", "original_offset": 1072, - "generated_offset": 90155, + "generated_offset": 144251, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1075, - "generated_offset": 90164, + "generated_offset": 144260, "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 1082, - "generated_offset": 90177, + "generated_offset": 144273, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 1006, - "generated_offset": 90438, + "generated_offset": 144534, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 1025, - "generated_offset": 90463, + "generated_offset": 144559, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 10141, - "generated_offset": 90680, + "original_offset": 11776, + "generated_offset": 144776, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 8935, - "generated_offset": 90963, + "original_offset": 10570, + "generated_offset": 145059, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 8945, - "generated_offset": 90979, + "original_offset": 10580, + "generated_offset": 145075, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 8958, - "generated_offset": 91353, + "original_offset": 10593, + "generated_offset": 145449, "length": 16 }, { "source": "mbti_parser.mbty", - "original_offset": 8979, - "generated_offset": 91398, + "original_offset": 10614, + "generated_offset": 145494, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9261, - "generated_offset": 92038, + "original_offset": 10896, + "generated_offset": 146133, "length": 31 }, { "source": "mbti_parser.mbty", - "original_offset": 9294, - "generated_offset": 92077, + "original_offset": 10929, + "generated_offset": 146172, "length": 8 }, { "source": "mbti_parser.mbty", - "original_offset": 9304, - "generated_offset": 92093, + "original_offset": 10939, + "generated_offset": 146188, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9319, - "generated_offset": 92114, + "original_offset": 10954, + "generated_offset": 146209, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 9337, - "generated_offset": 92156, + "original_offset": 10972, + "generated_offset": 146251, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 11324, - "generated_offset": 92459, + "original_offset": 12860, + "generated_offset": 146553, "length": 13 }, { "source": "mbti_parser.mbty", - "original_offset": 11345, - "generated_offset": 92512, + "original_offset": 12881, + "generated_offset": 146606, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 9523, - "generated_offset": 92783, + "original_offset": 11158, + "generated_offset": 146877, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 9527, - "generated_offset": 92793, + "original_offset": 11162, + "generated_offset": 146887, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11618, - "generated_offset": 93261, + "original_offset": 12013, + "generated_offset": 147277, + "length": 36 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12051, + "generated_offset": 147321, + "length": 13 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12066, + "generated_offset": 147342, + "length": 18 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12086, + "generated_offset": 147368, + "length": 3 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13154, + "generated_offset": 147824, "length": 28 }, { "source": "mbti_parser.mbty", - "original_offset": 11648, - "generated_offset": 93297, + "original_offset": 13184, + "generated_offset": 147860, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11668, - "generated_offset": 93341, + "original_offset": 13204, + "generated_offset": 147904, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 11702, - "generated_offset": 93863, + "original_offset": 13238, + "generated_offset": 148426, "length": 25 }, { "source": "mbti_parser.mbty", - "original_offset": 11729, - "generated_offset": 93896, + "original_offset": 13265, + "generated_offset": 148459, "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 11736, - "generated_offset": 93909, + "original_offset": 13272, + "generated_offset": 148472, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11756, - "generated_offset": 93953, + "original_offset": 13292, + "generated_offset": 148516, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 6582, - "generated_offset": 94456, - "length": 16 + "original_offset": 13473, + "generated_offset": 148955, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 6600, - "generated_offset": 94480, - "length": 7 + "original_offset": 13490, + "generated_offset": 148978, + "length": 14 }, { "source": "mbti_parser.mbty", - "original_offset": 6609, - "generated_offset": 94495, - "length": 13 + "original_offset": 13509, + "generated_offset": 149021, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 6624, - "generated_offset": 94516, - "length": 2 + "original_offset": 13555, + "generated_offset": 149464, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11057, - "generated_offset": 94719, - "length": 9 + "original_offset": 13572, + "generated_offset": 149487, + "length": 14 }, { "source": "mbti_parser.mbty", - "original_offset": 11793, - "generated_offset": 95162, - "length": 14 + "original_offset": 13591, + "generated_offset": 149530, + "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 11809, - "generated_offset": 95184, - "length": 14 + "original_offset": 1072, + "generated_offset": 149889, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 11828, - "generated_offset": 95227, - "length": 3 + "original_offset": 1075, + "generated_offset": 149898, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 6672, - "generated_offset": 95763, - "length": 14 + "original_offset": 1082, + "generated_offset": 149911, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 6688, - "generated_offset": 95785, - "length": 12 + "original_offset": 1006, + "generated_offset": 150182, + "length": 17 }, { "source": "mbti_parser.mbty", - "original_offset": 6702, - "generated_offset": 95805, - "length": 13 + "original_offset": 1025, + "generated_offset": 150207, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 6720, - "generated_offset": 95847, - "length": 3 + "original_offset": 878, + "generated_offset": 150422, + "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11865, - "generated_offset": 96284, - "length": 14 + "original_offset": 1072, + "generated_offset": 150808, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 11881, - "generated_offset": 96306, - "length": 14 + "original_offset": 1075, + "generated_offset": 150817, + "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 11900, - "generated_offset": 96349, - "length": 3 + "original_offset": 1082, + "generated_offset": 150830, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 1006, + "generated_offset": 151111, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 1025, + "generated_offset": 151136, + "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 11414, - "generated_offset": 96817, + "original_offset": 12950, + "generated_offset": 151603, "length": 35 }, { "source": "mbti_parser.mbty", - "original_offset": 11451, - "generated_offset": 96860, + "original_offset": 12987, + "generated_offset": 151646, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11471, - "generated_offset": 96904, + "original_offset": 13007, + "generated_offset": 151690, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 11505, - "generated_offset": 97438, + "original_offset": 13041, + "generated_offset": 152224, "length": 32 }, { "source": "mbti_parser.mbty", - "original_offset": 11539, - "generated_offset": 97478, + "original_offset": 13075, + "generated_offset": 152264, "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 11546, - "generated_offset": 97491, + "original_offset": 13082, + "generated_offset": 152277, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 11566, - "generated_offset": 97535, + "original_offset": 13102, + "generated_offset": 152321, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 807, - "generated_offset": 97944, + "original_offset": 1072, + "generated_offset": 152692, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 810, - "generated_offset": 97953, + "original_offset": 1075, + "generated_offset": 152701, "length": 5 }, { "source": "mbti_parser.mbty", - "original_offset": 817, - "generated_offset": 97966, + "original_offset": 1082, + "generated_offset": 152714, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 807, - "generated_offset": 98381, + "original_offset": 1006, + "generated_offset": 152993, + "length": 17 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 1025, + "generated_offset": 153018, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 223, + "generated_offset": 153368, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 810, - "generated_offset": 98390, - "length": 5 + "original_offset": 226, + "generated_offset": 153377, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 817, - "generated_offset": 98403, - "length": 2 + "original_offset": 495, + "generated_offset": 153652, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 760, - "generated_offset": 98750, - "length": 17 + "original_offset": 498, + "generated_offset": 153661, + "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 779, - "generated_offset": 98775, + "original_offset": 199, + "generated_offset": 153879, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6573, + "generated_offset": 154536, + "length": 25 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6600, + "generated_offset": 154569, + "length": 7 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6609, + "generated_offset": 154584, + "length": 8 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6619, + "generated_offset": 154600, + "length": 59 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6961, + "generated_offset": 155176, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6986, + "generated_offset": 155207, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6994, + "generated_offset": 155221, + "length": 12 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7008, + "generated_offset": 155241, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13401, + "generated_offset": 155679, + "length": 14 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13417, + "generated_offset": 155701, + "length": 14 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13436, + "generated_offset": 155744, + "length": 3 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7090, + "generated_offset": 156564, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7122, + "generated_offset": 156602, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7145, + "generated_offset": 156657, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7176, + "generated_offset": 156694, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7187, + "generated_offset": 156711, + "length": 23 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7212, + "generated_offset": 156742, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6737, + "generated_offset": 156999, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6745, + "generated_offset": 157013, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 12220, - "generated_offset": 99246, - "length": 27 + "original_offset": 7295, + "generated_offset": 157834, + "length": 30 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7327, + "generated_offset": 157872, + "length": 15 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7350, + "generated_offset": 157927, + "length": 29 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7381, + "generated_offset": 157964, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7392, + "generated_offset": 157981, + "length": 24 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 7418, + "generated_offset": 158013, + "length": 4 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 12593, + "generated_offset": 158218, + "length": 9 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13651, + "generated_offset": 158447, + "length": 16 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 6712, + "generated_offset": 158657, + "length": 6 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13329, + "generated_offset": 159097, + "length": 14 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13345, + "generated_offset": 159119, + "length": 14 }, { "source": "mbti_parser.mbty", - "original_offset": 12252, - "generated_offset": 99302, + "original_offset": 13364, + "generated_offset": 159162, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 12257, - "generated_offset": 99313, + "original_offset": 807, + "generated_offset": 159578, + "length": 1 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 810, + "generated_offset": 159587, + "length": 5 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 817, + "generated_offset": 159600, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 760, - "generated_offset": 99630, + "generated_offset": 159947, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 779, - "generated_offset": 99655, + "generated_offset": 159972, + "length": 2 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13756, + "generated_offset": 160443, + "length": 27 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13788, + "generated_offset": 160499, + "length": 3 + }, + { + "source": "mbti_parser.mbty", + "original_offset": 13793, + "generated_offset": 160510, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 3113, - "generated_offset": 99883, + "original_offset": 3201, + "generated_offset": 160738, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 2897, - "generated_offset": 100240, + "original_offset": 2985, + "generated_offset": 161095, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 2900, - "generated_offset": 100249, + "original_offset": 2988, + "generated_offset": 161104, "length": 1 }, { "source": "mbti_parser.mbty", - "original_offset": 3019, - "generated_offset": 100607, + "original_offset": 3107, + "generated_offset": 161462, "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 3044, - "generated_offset": 100638, + "original_offset": 3132, + "generated_offset": 161493, "length": 15 }, { "source": "mbti_parser.mbty", - "original_offset": 3061, - "generated_offset": 100661, + "original_offset": 3149, + "generated_offset": 161516, "length": 3 }, { "source": "mbti_parser.mbty", - "original_offset": 2952, - "generated_offset": 100960, + "original_offset": 3040, + "generated_offset": 161815, "length": 23 }, { "source": "mbti_parser.mbty", - "original_offset": 2977, - "generated_offset": 100991, + "original_offset": 3065, + "generated_offset": 161846, "length": 16 }, { "source": "mbti_parser.mbty", "original_offset": 1072, - "generated_offset": 101375, + "generated_offset": 162230, "length": 1 }, { "source": "mbti_parser.mbty", "original_offset": 1075, - "generated_offset": 101384, + "generated_offset": 162239, "length": 5 }, { "source": "mbti_parser.mbty", "original_offset": 1082, - "generated_offset": 101397, + "generated_offset": 162252, "length": 2 }, { "source": "mbti_parser.mbty", "original_offset": 1006, - "generated_offset": 101676, + "generated_offset": 162531, "length": 17 }, { "source": "mbti_parser.mbty", "original_offset": 1025, - "generated_offset": 101701, + "generated_offset": 162556, "length": 2 }, { "source": "mbti_parser.mbty", - "original_offset": 2809, - "generated_offset": 101927, + "original_offset": 2897, + "generated_offset": 162782, "length": 15 } ] diff --git a/mbti_parser/mbti_parser.mbty b/mbti_parser/mbti_parser.mbty index 9835bd95..50dd16d1 100644 --- a/mbti_parser/mbti_parser.mbty +++ b/mbti_parser/mbti_parser.mbty @@ -109,22 +109,24 @@ %token USING "using" %token DECLARE "declare" %token NORAISE "noraise" +%token NOBREAK "nobreak" %token WHERE "where" %token ENUMVIEW "enumview" %token TRY_QUESTION "try?" %token TRY_EXCLAMATION "try!" %token LEXMATCH "lexmatch" %token LEXMATCH_QUESTION "lexmatch?" +%token PACKAGE "package" %% mbti -> Mbti - : LIDENT STRING ioption(";") imports sigs EOF { Mbti::{package_name: $2, imports: $4, sigs: $5} } + : PACKAGE STRING ioption(";") imports sigs EOF { Mbti::{package_name: $2, imports: $4, sigs: $5, loc : mk_loc($sloc)} } ; imports -> @list.List[PackageImport] : { @list.empty() } - | "import" "(" separated_nonempty_list(";", package_import) ")" ";" { $3 } + | "import" "{" separated_nonempty_list(",", package_import) "}" ";" { $3 } ; package_import -> PackageImport @@ -149,29 +151,37 @@ sig_ -> Sig ; const_sig -> ConstSig - : "const" uident ":" type_ "=" constant { ConstSig::{name: $2, type_: $4, value: $6} } + : attributes vis "const" uident ":" type_ "=" constant { ConstSig::{name: $4, type_: $6, value: $8, attrs: $1} } ; value_sig -> ValueSig - : attributes "let" lident ":" type_ { ValueSig::{name: $3, type_: $5} } + : attributes vis "let" lident ":" type_ { ValueSig::{ attrs: $1, name: $4, type_: $6 } } ; +method_self_type_coloncolon -> MethodSelfType + : UIDENT "::" { + MethodSelfType::{ name : $1, is_object : false, loc : mk_loc($loc($1)) } + } + | "&" UIDENT "::" { + MethodSelfType::{ name : $2, is_object : true, loc : mk_loc($loc($1)) } + } + method_prefix -> Option[Name] : { None } | uident "::" { Some($1) } ; -func_sig_no_attr -> FuncSig - : FN loption(type_params_with_constraints) method_prefix lident delimited("(", separated_list(",", parameter), ")") "->" return_type { FuncSig::{ attr: @list.empty(), type_name: $3, name: $4, type_params: $2, params: $5, return_: $7} } - ; func_sig -> FuncSig - : func_sig_no_attr { $1 } - | nonempty_list(ATTRIBUTE) func_sig_no_attr { { ..$2, attr : $1 } } + : attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { + FuncSig::{ attrs: $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9} + } ; trait_method_sig -> TraitMethodSig - : lident delimited("(", separated_list(",", trait_method_parameter), ")") "->" return_type boption(eq_underscore) { TraitMethodSig::{name: $1, params: $2, return_: $4, has_default: $5} } + : attributes lident delimited("(", separated_list(",", parameter), ")") "->" return_type boption(eq_underscore) { + TraitMethodSig::{ attrs : $1, name: $2, params: $3, return_: $5, has_default: $6} + } ; %inline eq_underscore @@ -179,32 +189,67 @@ trait_method_sig -> TraitMethodSig ; type_sig -> TypeSig - : vis "extern" "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $4.0, type_params: $4.1, components: Extern} } - | vis "type" type_decl_name_with_params { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Abstract} } - | vis "type" type_decl_name_with_params type_ { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Newtype($4)} } - | vis "suberror" uident { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(NoPayload)} } - | vis "suberror" uident type_ { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(SinglePayload($4))} } - | vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3, type_params: @list.empty(), components: Error(EnumPayload($5))} } - | vis "struct" type_decl_name_with_params "{" separated_list(";", record_decl_field) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Record($5)} } - | vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: TupleStruct($5)} } - | vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { TypeSig::{vis: $1, name: $3.0, type_params: $3.1, components: Variant($5)} } + : attributes vis "type" type_decl_name_with_params { + TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Abstract} + } + | attributes vis "suberror" uident option(type_) { + let exception_decl : @syntax.ExceptionDecl = match $5 { + None => NoPayload + Some(ty) => SinglePayload(ty) + } + TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(exception_decl)} + } + | attributes vis "suberror" uident "{" separated_list(";", enum_constructor) "}" { + TypeSig::{attrs : $1, vis: $2, name: $4, type_params: @list.empty(), components: Error(EnumPayload($6))} + } + | attributes vis "struct" type_decl_name_with_params "{" record_decl_body "}" { + TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: $6 } + } + | attributes vis "struct" type_decl_name_with_params "(" separated_list(",", type_) ")" { + TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: TupleStruct($6)} + } + | attributes vis "enum" type_decl_name_with_params "{" separated_list(";", enum_constructor) "}" { + TypeSig::{attrs : $1, vis: $2, name: $4.0, type_params: $4.1, components: Variant($6)} + } ; impl_sig -> ImplSig - : "impl" type_params_with_constraints qualified_uident "for" type_ { Trait(type_params=$2, trait_name=$3, type_=$5) } - | "impl" qualified_uident "for" type_ { Trait(type_params=@list.empty(), trait_name=$2, type_=$4) } - | "impl" uident "::" lident { DefaultImpl(trait_name=$2, method_name=$4) } + : attributes vis "impl" type_params_with_constraints qualified_uident "for" type_ { + ImplSig::{type_params : $4, trait_name : $5, type_ : $7, attrs : $1} + } + | attributes vis "impl" qualified_uident "for" type_ { + ImplSig::{type_params : @list.empty(), trait_name : $4, type_ : $6, attrs : $1} + } ; trait_sig -> TraitSig - : vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { TraitSig::{vis: $1, name: $3, super_traits: $4, methods: $6} } - | vis "trait" uident { TraitSig::{vis: $1, name: $3, super_traits: @list.empty(), methods: @list.empty()} } + : attributes vis "trait" uident loption(preceded(":", separated_nonempty_list("+", qualified_uident))) "{" separated_nonempty_list(";", trait_method_sig) "}" { + TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: $5, methods: $7} + } + | attributes vis "trait" uident { + TraitSig::{ attrs : $1, vis: $2, name: $4, super_traits: @list.empty(), methods: @list.empty() } + } ; +using_binder -> Name? + : { None } + | "as" uident { Some($2) } + alias_sig -> AliasSig - : vis "typealias" type_ "as" type_decl_name_with_params { TypeAlias(vis=$1, name=$5.0, type_params=$5.1, type_=$3) } - | vis "traitalias" qualified_uident "as" uident { TraitAlias(vis=$1, name=$5, trait_name=$3) } - | "fnalias" qualified_uident "::" lident { FnAlias(name=$4, type_name=$2, loc=mk_loc($sloc)) } + : attributes vis "type" type_decl_name_with_params "=" type_ { + TypeAlias(attrs = $1, vis=$2, name=$4.0, type_params=$4.1, type_=$6) + } + | attributes "fnalias" uident "::" lident { + FuncAlias(attrs = $1,name=$5, type_name=$3) + } + | attributes vis "using" PACKAGE_NAME "{" "type" uident using_binder "}" { + let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } + Using(pkg~, target = $7, name = $8, kind = Type, attrs = $1) + } + | attributes vis "using" PACKAGE_NAME "{" "trait" uident using_binder "}" { + let pkg = Name::{ name : $4, loc : mk_loc($loc($4)) } + Using(pkg~, target = $7, name = $8, kind = Trait, attrs = $1) + } ; enum_constructor -> ConstrDecl @@ -228,6 +273,37 @@ record_decl_field -> FieldDecl } ; +record_decl_constr -> FuncSig + : attributes is_async FN loption(type_params_with_constraints) option(method_self_type_coloncolon) lident delimited("(", separated_list(",", parameter), ")") "->" return_type { + FuncSig::{ + attrs : $1, is_async : $2, type_name: $5, name: $6, type_params: $4, params: $7, return_: $9 + } + } + +record_decl_body -> TypeDefinition + : { + Record(fields = @list.empty(), constr = None) + } + | record_decl_constr { + Record(fields = @list.empty(), constr = Some($1)) + } + | record_decl_body_nonempty { + let (fields, constr) = $1 + Record(fields~, constr~) + } + +record_decl_body_nonempty -> (@list.List[FieldDecl], FuncSig?) + : record_decl_field ";" record_decl_constr { + (@list.singleton($1), Some($3)) + } + | record_decl_field { + (@list.singleton($1), None) + } + | record_decl_field ";" record_decl_body_nonempty { + let (fields, constr) = $3 + (fields.add($1), constr) + } + type_param_with_constraints -> TypeParamWithConstraints : uident { TypeParamWithConstraints::{name: $1, constraints: @list.empty()} } | uident ":" separated_nonempty_list("+", type_constraint) { TypeParamWithConstraints::{name: $1, constraints: $3} } @@ -295,16 +371,9 @@ optional_type_arguments -> @list.List[Type] ; parameter -> Parameter - : type_ { Positional($1) } - | post_label ":" type_ { Labelled($1, $3) } - | post_label ":" type_ "=" ".." { OptionalDefault($1, $3) } - | post_label ":" type_ "=" "_" { Autofill($1, $3) } - | label "?" ":" type_ { OptionalOption($1, $4) } - ; - -trait_method_parameter -> TraitMethodParameter - : type_ { Positional($1) } - | post_label ":" type_ { Labelled($1, $3) } + : type_ { DiscardPositional(ty = Some($1), loc = mk_loc($loc($1))) } + | post_label ":" type_ { Labelled(binder = { name : $1.name, loc : $1.loc }, ty = Some($3)) } + | label "?" ":" type_ { QuestionOptional(binder = { name : $1.name, loc : $1.loc }, ty = Some($4)) } ; constant -> Constant diff --git a/moon.mod.json b/moon.mod.json index cfa87e7f..c6136b81 100644 --- a/moon.mod.json +++ b/moon.mod.json @@ -16,5 +16,6 @@ "AST", "MoonBit" ], - "description": "AST and parsers for the MoonBit programming language" + "description": "AST and parsers for the MoonBit programming language", + "exclude" : ["test"] } diff --git a/syntax/ast.mbt b/syntax/ast.mbt index cd0ce39f..e3a8a890 100644 --- a/syntax/ast.mbt +++ b/syntax/ast.mbt @@ -145,7 +145,7 @@ pub(all) enum TypeDesc { /// `enum T { C1; C2 }` Variant(@list.List[ConstrDecl]) /// `struct T { field1: T1; field2: T2 }` - Record(@list.List[FieldDecl]) + Record(fields~ : @list.List[FieldDecl], constr_decl~ : FunDecl?) /// `struct T (T1,T2)` TupleStruct(@list.List[Type]) Alias(Type) @@ -370,6 +370,7 @@ pub(all) enum LexTopPattern { pub(all) struct LexCase { pat : @list.List[LexTopPattern] pat_loc : Location + guard_ : Expr? body : Expr } @@ -766,6 +767,7 @@ pub(all) struct FunDecl { vis : Visibility attrs : @list.List[Attribute] mut doc : DocString + loc : Location } ///| diff --git a/syntax/ast_json_repr.mbt b/syntax/ast_json_repr.mbt index 97c143b3..d98771d5 100644 --- a/syntax/ast_json_repr.mbt +++ b/syntax/ast_json_repr.mbt @@ -181,16 +181,31 @@ pub fn TypeDesc::json_repr(self : TypeDesc, loc : Location) -> Json { ), ) } - Record(fields) => - tagged_node1( + Record(fields~, constr_decl~) => + tagged_node( "TypeDesc::Record", loc, - list_json_repr( - "TypeDesc::Record::FieldList", - loc, - fields, - FieldDecl::json_repr, - ), + match constr_decl { + None => + { + "value": list_json_repr( + "TypeDesc::Record::FieldList", + loc, + fields, + FieldDecl::json_repr, + ), + } + Some(constr_decl) => + { + "value": list_json_repr( + "TypeDesc::Record::FieldList", + loc, + fields, + FieldDecl::json_repr, + ), + "constr_decl": constr_decl.json_repr(), + } + }, ) TupleStruct(tys) => { let tys_loc = match tys { @@ -887,8 +902,8 @@ pub fn TypeDecl::json_repr(self : TypeDecl) -> Json { } ///| -pub fn FunDecl::json_repr(self : FunDecl, loc : Location) -> Json { - tagged_node("FunDecl", loc, { +pub fn FunDecl::json_repr(self : FunDecl) -> Json { + tagged_node("FunDecl", self.loc, { "type_name": option_json_repr(self.type_name, TypeName::json_repr), "name": self.name.json_repr(), "has_error": option_json_repr(self.has_error, raise_json_repr), @@ -908,7 +923,7 @@ pub fn FunDecl::json_repr(self : FunDecl, loc : Location) -> Json { TypeVarBinder::json_repr, ), "return_type": option_json_repr(self.return_type, Type::json_repr), - "error_type": self.error_type.json_repr(loc), + "error_type": self.error_type.json_repr(self.loc), "vis": self.vis.json_repr(self.params_loc), "attrs": list_json_repr( "FunDecl::AttrList", @@ -1506,6 +1521,7 @@ pub fn LexCase::json_repr(self : LexCase, loc : Location) -> Json { ) { ltp.json_repr(self.pat_loc) }), + "guard": option_json_repr(self.guard_, Expr::json_repr), "body": self.body.json_repr(), }) } @@ -1635,7 +1651,7 @@ pub fn Impl::json_repr(self : Impl) -> Json { tagged_node1("Impl::TopTypeDef", type_decl.loc, type_decl.json_repr()) TopFuncDef(fun_decl~, decl_body~, loc~) => tagged_node("Impl::TopFuncDef", loc, { - "fun_decl": fun_decl.json_repr(loc), + "fun_decl": fun_decl.json_repr(), "decl_body": decl_body.json_repr(loc), }) TopFuncAlias(pkg~, type_name~, targets~, vis~, attrs~, is_list~, doc~, loc~) => diff --git a/syntax/ast_test.mbt b/syntax/ast_test.mbt index 5d4ce1ac..b5ac7015 100644 --- a/syntax/ast_test.mbt +++ b/syntax/ast_test.mbt @@ -3579,8 +3579,9 @@ test "fun_decl to_json" { vis: @syntax.Priv(loc=dummy_loc), attrs: @list.from_array([dummy_attribute]), doc: dummy_docstring, + loc: dummy_loc, } - json_inspect(fun_decl.json_repr(dummy_loc), content={ + json_inspect(fun_decl.json_repr(), content={ "kind": "FunDecl", "loc": null, "children": { @@ -4106,6 +4107,7 @@ test "impl variants to_json" { vis: @syntax.Default, attrs: @list.from_array([]), doc: dummy_docstring, + loc: dummy_loc, } let decl_body = @syntax.DeclBody( local_types=@list.from_array([]), diff --git a/syntax/iter_visitor.mbt b/syntax/iter_visitor.mbt index b9d001f7..d8b0c64a 100644 --- a/syntax/iter_visitor.mbt +++ b/syntax/iter_visitor.mbt @@ -77,7 +77,11 @@ pub(open) trait IterVisitor { visit_TypeDesc_Newtype(Self, Type) -> Unit = _ visit_TypeDesc_Error(Self, ExceptionDecl) -> Unit = _ visit_TypeDesc_Variant(Self, @list.List[ConstrDecl]) -> Unit = _ - visit_TypeDesc_Record(Self, @list.List[FieldDecl]) -> Unit = _ + visit_TypeDesc_Record( + Self, + fields~ : @list.List[FieldDecl], + constr_decl~ : FunDecl?, + ) -> Unit = _ visit_TypeDesc_TupleStruct(Self, @list.List[Type]) -> Unit = _ visit_TypeDesc_Alias(Self, Type) -> Unit = _ @@ -1602,8 +1606,8 @@ impl IterVisitor with visit_TypeDesc_Variant(env, constr_decls) { } ///| -impl IterVisitor with visit_TypeDesc_Record(env, field_decls) { - IterVisitorBase::visit_TypeDesc_Record(env, field_decls) +impl IterVisitor with visit_TypeDesc_Record(env, fields~, constr_decl~) { + IterVisitorBase::visit_TypeDesc_Record(env, fields~, constr_decl~) } ///| @@ -2662,7 +2666,8 @@ pub impl[T : IterVisitor] IterVisitor for IterVisitorBase[T] with visit_TypeDesc Newtype(type_) => env.0.visit_TypeDesc_Newtype(type_) Error(exception_decl) => env.0.visit_TypeDesc_Error(exception_decl) Variant(constr_decls) => env.0.visit_TypeDesc_Variant(constr_decls) - Record(field_decls) => env.0.visit_TypeDesc_Record(field_decls) + Record(fields~, constr_decl~) => + env.0.visit_TypeDesc_Record(fields~, constr_decl~) TupleStruct(types) => env.0.visit_TypeDesc_TupleStruct(types) Alias(type_) => env.0.visit_TypeDesc_Alias(type_) } @@ -2695,9 +2700,11 @@ pub impl[T : IterVisitor] IterVisitor for IterVisitorBase[T] with visit_TypeDesc ///| pub impl[T : IterVisitor] IterVisitor for IterVisitorBase[T] with visit_TypeDesc_Record( env, - field_decls, + fields~, + constr_decl~, ) { - field_decls.each(x => env.0.visit_FieldDecl(x)) + fields.each(x => env.0.visit_FieldDecl(x)) + constr_decl.each(x => env.0.visit_FunDecl(x)) } ///| @@ -4844,6 +4851,7 @@ pub impl[T : IterVisitor] IterVisitor for IterVisitorBase[T] with visit_LexCase( lex_case, ) { lex_case.pat.each(pat => env.0.visit_LexTopPattern(pat)) + lex_case.guard_.each(guard_ => env.0.visit_Expr(guard_)) env.0.visit_Expr(lex_case.body) } diff --git a/syntax/map_visitor.mbt b/syntax/map_visitor.mbt index 80606f6c..54d90abc 100644 --- a/syntax/map_visitor.mbt +++ b/syntax/map_visitor.mbt @@ -77,7 +77,11 @@ pub(open) trait MapVisitor { visit_TypeDesc_Newtype(Self, Type) -> TypeDesc = _ visit_TypeDesc_Error(Self, ExceptionDecl) -> TypeDesc = _ visit_TypeDesc_Variant(Self, @list.List[ConstrDecl]) -> TypeDesc = _ - visit_TypeDesc_Record(Self, @list.List[FieldDecl]) -> TypeDesc = _ + visit_TypeDesc_Record( + Self, + fields~ : @list.List[FieldDecl], + constr_decl~ : FunDecl?, + ) -> TypeDesc = _ visit_TypeDesc_TupleStruct(Self, @list.List[Type]) -> TypeDesc = _ visit_TypeDesc_Alias(Self, Type) -> TypeDesc = _ @@ -1602,8 +1606,8 @@ impl MapVisitor with visit_TypeDesc_Variant(env, constr_decls) { } ///| -impl MapVisitor with visit_TypeDesc_Record(env, field_decls) { - MapVisitorBase::visit_TypeDesc_Record(env, field_decls) +impl MapVisitor with visit_TypeDesc_Record(env, fields~, constr_decl~) { + MapVisitorBase::visit_TypeDesc_Record(env, fields~, constr_decl~) } ///| @@ -2682,7 +2686,8 @@ pub impl[T : MapVisitor] MapVisitor for MapVisitorBase[T] with visit_TypeDesc( Newtype(type_) => env.0.visit_TypeDesc_Newtype(type_) Error(exception_decl) => env.0.visit_TypeDesc_Error(exception_decl) Variant(constr_decls) => env.0.visit_TypeDesc_Variant(constr_decls) - Record(field_decls) => env.0.visit_TypeDesc_Record(field_decls) + Record(fields~, constr_decl~) => + env.0.visit_TypeDesc_Record(fields~, constr_decl~) TupleStruct(types) => env.0.visit_TypeDesc_TupleStruct(types) Alias(type_) => env.0.visit_TypeDesc_Alias(type_) } @@ -2718,10 +2723,12 @@ pub impl[T : MapVisitor] MapVisitor for MapVisitorBase[T] with visit_TypeDesc_Va ///| pub impl[T : MapVisitor] MapVisitor for MapVisitorBase[T] with visit_TypeDesc_Record( env, - field_decls, + fields~, + constr_decl~, ) { - let field_decls = field_decls.map(x => env.0.visit_FieldDecl(x)) - Record(field_decls) + let fields = fields.map(x => env.0.visit_FieldDecl(x)) + let constr_decl = constr_decl.map(x => env.0.visit_FunDecl(x)) + Record(fields~, constr_decl~) } ///| @@ -3753,6 +3760,7 @@ pub impl[T : MapVisitor] MapVisitor for MapVisitorBase[T] with visit_FunDecl( let params_loc = fun_decl.params_loc let attrs = fun_decl.attrs let doc = fun_decl.doc + let loc = fun_decl.loc FunDecl::{ type_name, name, @@ -3766,6 +3774,7 @@ pub impl[T : MapVisitor] MapVisitor for MapVisitorBase[T] with visit_FunDecl( vis, attrs, doc, + loc, } } @@ -4999,9 +5008,10 @@ pub impl[T : MapVisitor] MapVisitor for MapVisitorBase[T] with visit_LexCase( lex_case, ) { let pat = lex_case.pat.map(pat => env.0.visit_LexTopPattern(pat)) + let guard_ = lex_case.guard_.map(guard_ => env.0.visit_Expr(guard_)) let body = env.0.visit_Expr(lex_case.body) let pat_loc = lex_case.pat_loc - { pat, body, pat_loc } + { pat, pat_loc, guard_, body } } ///| diff --git a/syntax/pkg.generated.mbti b/syntax/pkg.generated.mbti index a39ffde0..218e1610 100644 --- a/syntax/pkg.generated.mbti +++ b/syntax/pkg.generated.mbti @@ -375,8 +375,9 @@ pub(all) struct FunDecl { vis : Visibility attrs : @list.List[@attribute.Attribute] mut doc : DocString + loc : @basic.Location } -pub fn FunDecl::json_repr(Self, @basic.Location) -> Json +pub fn FunDecl::json_repr(Self) -> Json pub(all) struct Func { parameters : @list.List[Parameter] @@ -454,6 +455,7 @@ pub fn Label::json_repr(Self) -> Json pub(all) struct LexCase { pat : @list.List[LexTopPattern] pat_loc : @basic.Location + guard_ : Expr? body : Expr } pub fn LexCase::json_repr(Self, @basic.Location) -> Json @@ -641,7 +643,7 @@ pub(all) enum TypeDesc { Newtype(Type) Error(ExceptionDecl) Variant(@list.List[ConstrDecl]) - Record(@list.List[FieldDecl]) + Record(fields~ : @list.List[FieldDecl], constr_decl~ : FunDecl?) TupleStruct(@list.List[Type]) Alias(Type) } @@ -736,7 +738,7 @@ pub(open) trait IterVisitor { visit_TypeDesc_Newtype(Self, Type) -> Unit = _ visit_TypeDesc_Error(Self, ExceptionDecl) -> Unit = _ visit_TypeDesc_Variant(Self, @list.List[ConstrDecl]) -> Unit = _ - visit_TypeDesc_Record(Self, @list.List[FieldDecl]) -> Unit = _ + visit_TypeDesc_Record(Self, fields~ : @list.List[FieldDecl], constr_decl~ : FunDecl?) -> Unit = _ visit_TypeDesc_TupleStruct(Self, @list.List[Type]) -> Unit = _ visit_TypeDesc_Alias(Self, Type) -> Unit = _ visit_Hole(Self, Hole) -> Unit = _ @@ -949,7 +951,7 @@ pub(open) trait MapVisitor { visit_TypeDesc_Newtype(Self, Type) -> TypeDesc = _ visit_TypeDesc_Error(Self, ExceptionDecl) -> TypeDesc = _ visit_TypeDesc_Variant(Self, @list.List[ConstrDecl]) -> TypeDesc = _ - visit_TypeDesc_Record(Self, @list.List[FieldDecl]) -> TypeDesc = _ + visit_TypeDesc_Record(Self, fields~ : @list.List[FieldDecl], constr_decl~ : FunDecl?) -> TypeDesc = _ visit_TypeDesc_TupleStruct(Self, @list.List[Type]) -> TypeDesc = _ visit_TypeDesc_Alias(Self, Type) -> TypeDesc = _ visit_Hole(Self, Hole) -> Hole = _ diff --git a/test/sync_test/__snapshot__/parse_test_async_fn.json b/test/sync_test/__snapshot__/parse_test_async_fn.json deleted file mode 100644 index 02fc644a..00000000 --- a/test/sync_test/__snapshot__/parse_test_async_fn.json +++ /dev/null @@ -1,750 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - }, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "cb" - } - }, - "ty": { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "err": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "cb" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "main" - } - }, - "has_error": null, - "is_async": null, - "decl_params": null, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::LetFn", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g" - } - }, - "func": { - "kind": "Func::Lambda", - "loc": null, - "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", - "loc": null, - "children": [] - }, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": null, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - } - } - }, - "body": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", - "loc": null, - "children": [ - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "f" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Function", - "loc": null, - "children": { - "func": { - "kind": "Func::Lambda", - "loc": null, - "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", - "loc": null, - "children": [] - }, - "body": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", - "loc": null, - "children": [ - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "g" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::Exclamation", - "loc": null, - "children": {} - } - } - } - ] - }, - "last_expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "42" - } - } - } - } - } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": null, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "f" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - ] - }, - "last_expr": { - "kind": "Expr::Pipe", - "loc": null, - "children": { - "lhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "rhs": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "f" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "h" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f1" - } - }, - "ty": { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "err": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - } - } - } - } - }, - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f2" - } - }, - "ty": { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "err": { - "kind": "ErrorType::DefaultErrorType", - "loc": null, - "children": {} - }, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_async_test.json b/test/sync_test/__snapshot__/parse_test_async_test.json deleted file mode 100644 index 042a5cdb..00000000 --- a/test/sync_test/__snapshot__/parse_test_async_test.json +++ /dev/null @@ -1,167 +0,0 @@ -[ - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - }, - "name": null, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "main" - } - }, - "has_error": null, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - }, - "decl_params": null, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "init" - } - }, - "has_error": null, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - }, - "decl_params": null, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_attribute.json b/test/sync_test/__snapshot__/parse_test_attribute.json deleted file mode 100644 index e1e06d89..00000000 --- a/test/sync_test/__snapshot__/parse_test_attribute.json +++ /dev/null @@ -1,1902 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f1" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": " docs for f1\n some docs\n @alert category3 \"reason\"" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Infix", - "loc": null, - "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "+" - } - } - } - }, - "lhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "5" - } - } - } - }, - "rhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f3" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(deprecated1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(unsafe1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(unsafe2,\"reason\")" - } - } - ] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Infix", - "loc": null, - "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "+" - } - } - } - }, - "lhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "5" - } - } - } - }, - "rhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f4" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclStubs", - "loc": null, - "children": { - "value": { - "kind": "FuncStubs::Embedded", - "loc": null, - "children": { - "language": "js", - "code": { - "kind": "EmbeddedCode::CodeString", - "loc": null, - "children": { - "value": "js" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f5" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": " docs for f5\n some docs\n @alert category3 \"reason\"" - } - }, - "decl_body": { - "kind": "DeclBody::DeclStubs", - "loc": null, - "children": { - "value": { - "kind": "FuncStubs::Embedded", - "loc": null, - "children": { - "language": null, - "code": { - "kind": "EmbeddedCode::CodeString", - "loc": null, - "children": { - "value": "%primitive" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Hole", - "loc": null, - "children": { - "kind": { - "kind": "Hole::Todo", - "loc": null, - "children": {} - } - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "test" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyEnum", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Variant", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Variant::ConstrList", - "loc": null, - "children": [] - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyStruct", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyType", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Newtype", - "loc": null, - "children": { - "value": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyTypeAlias", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Alias", - "loc": null, - "children": { - "value": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyErr", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Error", - "loc": null, - "children": { - "value": { - "kind": "ExceptionDecl::SinglePayload", - "loc": null, - "children": { - "value": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyErr2", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Error", - "loc": null, - "children": { - "value": { - "kind": "ExceptionDecl::EnumPayload", - "loc": null, - "children": { - "value": { - "kind": "ExceptionDecl::EnumPayload::ConstrList", - "loc": null, - "children": [ - { - "kind": "ConstrDecl", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "ErrCase1" - } - }, - "args": null, - "tag": null, - "attrs": { - "kind": "ConstrDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "ConstrDecl", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "ErrCase2" - } - }, - "args": null, - "tag": null, - "attrs": { - "kind": "ConstrDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTrait", - "loc": null, - "children": { - "value": { - "kind": "TraitDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "MyTrait" - } - }, - "supers": { - "kind": "TraitDecl::SuperList", - "loc": null, - "children": [] - }, - "methods": { - "kind": "TraitDecl::MethodList", - "loc": null, - "children": [ - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f1" - } - }, - "has_error": null, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [] - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "attrs": { - "kind": "TraitDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category1,\"reason\")" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#alert(category2,\"reason\")" - } - } - ] - }, - "doc": "" - } - } - } - }, - { - "kind": "Impl::TopImpl", - "loc": null, - "children": { - "self_ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "MyStruct" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "trait": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "MyTrait" - } - }, - "is_object": false - } - }, - "method_name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f1" - } - }, - "has_error": null, - "quantifiers": { - "kind": "Impl::TopImpl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "Impl::TopImpl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": null - } - } - ] - }, - "ret_ty": null, - "err_ty": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Hole", - "loc": null, - "children": { - "kind": { - "kind": "Hole::Todo", - "loc": null, - "children": {} - } - } - } - } - }, - "vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "attrs": { - "kind": "Impl::TopImpl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#coverage.skip" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#custom1.name" - } - } - ] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopTrait", - "loc": null, - "children": { - "value": { - "kind": "TraitDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "I" - } - }, - "supers": { - "kind": "TraitDecl::SuperList", - "loc": null, - "children": [] - }, - "methods": { - "kind": "TraitDecl::MethodList", - "loc": null, - "children": [ - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#deprecated" - } - } - ] - } - } - }, - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g" - } - }, - "has_error": null, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#deprecated" - } - } - ] - } - } - }, - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "h" - } - }, - "has_error": null, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#deprecated" - } - }, - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#deprecated" - } - } - ] - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "attrs": { - "kind": "TraitDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_attribute_name.json b/test/sync_test/__snapshot__/parse_test_attribute_name.json index 2e34e8ae..9148ac38 100644 --- a/test/sync_test/__snapshot__/parse_test_attribute_name.json +++ b/test/sync_test/__snapshot__/parse_test_attribute_name.json @@ -167,7 +167,7 @@ "kind": "Attribute", "loc": null, "children": { - "raw": "#test.bench" + "raw": "#test.bench " } } ] @@ -265,7 +265,7 @@ "kind": "Attribute", "loc": null, "children": { - "raw": "#test.bench" + "raw": "#test.bench(\"abc\", ident) " } } ] diff --git a/test/sync_test/__snapshot__/parse_test_bytes_literal.json b/test/sync_test/__snapshot__/parse_test_bytes_literal.json deleted file mode 100644 index 453c35d4..00000000 --- a/test/sync_test/__snapshot__/parse_test_bytes_literal.json +++ /dev/null @@ -1,299 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "init" - } - }, - "has_error": null, - "is_async": null, - "decl_params": null, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "a" - } - } - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bytes", - "loc": null, - "children": { - "value": "moonbit_rabbit" - } - } - } - }, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "error" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bytes", - "loc": null, - "children": { - "value": "moonbit🐇rabbit🐰" - } - } - } - }, - "body": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bytes", - "loc": null, - "children": { - "value": "\\xGG" - } - } - } - }, - "body": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bytes", - "loc": null, - "children": { - "value": "\\oFFF" - } - } - } - }, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopLetDef", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g" - } - }, - "ty": null, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bytes", - "loc": null, - "children": { - "value": "unfinished bytes literal" - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_constant": false, - "is_declare": false, - "attrs": { - "kind": "Impl::TopLetDef::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_bytes_literal.mbt b/test/sync_test/__snapshot__/parse_test_bytes_literal.mbt deleted file mode 100644 index 3e3e49ab..00000000 --- a/test/sync_test/__snapshot__/parse_test_bytes_literal.mbt +++ /dev/null @@ -1,13 +0,0 @@ -fn init { - let a = b"moonbit_rabbit" -} - -fn error() -> Unit { - let _ = b"moonbit🐇rabbit🐰" // error: ASCII in bytes literal is not allowed - let _ = b"\xGG" // error: invalid hex escape - let _ = b"\oFFF" // error: invalid oct escape -} - -let g = b"unfinished bytes literal - - \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_catch_all.json b/test/sync_test/__snapshot__/parse_test_catch_noraise.json similarity index 67% rename from test/sync_test/__snapshot__/parse_test_catch_all.json rename to test/sync_test/__snapshot__/parse_test_catch_noraise.json index aba0cc2a..867a3f3c 100644 --- a/test/sync_test/__snapshot__/parse_test_catch_all.json +++ b/test/sync_test/__snapshot__/parse_test_catch_noraise.json @@ -56,77 +56,60 @@ "loc": null, "children": { "body": { - "kind": "Expr::Group", + "kind": "Expr::Apply", "loc": null, "children": { - "expr": { - "kind": "Expr::Apply", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "id": { - "kind": "Var", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "f" - } - } + "value": "fail" } } } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "value": { + "kind": "Expr::Constant", "loc": null, "children": { - "value": { - "kind": "Expr::Ident", + "constant": { + "kind": "Constant::String", "loc": null, "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } + "value": "" } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::Exclamation", - "loc": null, - "children": {} + } } - } + ] }, - "group": { - "kind": "Group::Brace", + "attr": { + "kind": "ApplyAttr::NoAttr", "loc": null, "children": {} } @@ -141,29 +124,16 @@ "loc": null, "children": { "pattern": { - "kind": "Pattern::Constr", + "kind": "Pattern::Var", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "value": { + "kind": "Binder", "loc": null, "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "E1" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } + "name": "e" } - }, - "args": null, - "is_open": false + } } }, "guard": null, @@ -199,14 +169,20 @@ "loc": null, "children": { "value": { - "kind": "Expr::Constant", + "kind": "Expr::Ident", "loc": null, "children": { - "constant": { - "kind": "Constant::String", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "x" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "e" + } + } } } } @@ -228,7 +204,14 @@ } } } - }, + } + ] + }, + "catch_all": false, + "try_else": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ { "kind": "Case", "loc": null, @@ -241,17 +224,17 @@ "kind": "Binder", "loc": null, "children": { - "name": "e" + "name": "u" } } } }, "guard": null, "body": { - "kind": "Expr::Raise", + "kind": "Expr::Apply", "loc": null, "children": { - "err_value": { + "func": { "kind": "Expr::Ident", "loc": null, "children": { @@ -263,12 +246,53 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "e" + "value": "println" } } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "u" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } } @@ -276,9 +300,7 @@ } ] }, - "catch_all": false, - "try_else": null, - "has_try": true + "has_try": false } } } diff --git a/test/sync_test/__snapshot__/parse_test_catch_noraise.mbt b/test/sync_test/__snapshot__/parse_test_catch_noraise.mbt new file mode 100644 index 00000000..2f0e933f --- /dev/null +++ b/test/sync_test/__snapshot__/parse_test_catch_noraise.mbt @@ -0,0 +1,16 @@ +fn main { + fail("") catch { e => println(e) } noraise { u => println(u) } +} + + + + + + + + + + + + + diff --git a/test/sync_test/__snapshot__/parse_test_catch_noraise.mbt.tokens.json b/test/sync_test/__snapshot__/parse_test_catch_noraise.mbt.tokens.json new file mode 100644 index 00000000..267da1f7 --- /dev/null +++ b/test/sync_test/__snapshot__/parse_test_catch_noraise.mbt.tokens.json @@ -0,0 +1,208 @@ +[ + { + "token": "FN", + "loc": "1:1-1:3" + }, + { + "token": [ + "LIDENT", + "main" + ], + "loc": "1:4-1:8" + }, + { + "token": "LBRACE", + "loc": "1:9-1:10" + }, + { + "token": "NEWLINE", + "loc": "1:10-1:11" + }, + { + "token": [ + "LIDENT", + "fail" + ], + "loc": "2:3-2:7" + }, + { + "token": "LPAREN", + "loc": "2:7-2:8" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "2:8-2:10" + }, + { + "token": "RPAREN", + "loc": "2:10-2:11" + }, + { + "token": "CATCH", + "loc": "2:12-2:17" + }, + { + "token": "LBRACE", + "loc": "2:18-2:19" + }, + { + "token": [ + "LIDENT", + "e" + ], + "loc": "2:20-2:21" + }, + { + "token": "FAT_ARROW", + "loc": "2:22-2:24" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "2:25-2:32" + }, + { + "token": "LPAREN", + "loc": "2:32-2:33" + }, + { + "token": [ + "LIDENT", + "e" + ], + "loc": "2:33-2:34" + }, + { + "token": "RPAREN", + "loc": "2:34-2:35" + }, + { + "token": "RBRACE", + "loc": "2:36-2:37" + }, + { + "token": "NORAISE", + "loc": "2:38-2:45" + }, + { + "token": "LBRACE", + "loc": "2:46-2:47" + }, + { + "token": [ + "LIDENT", + "u" + ], + "loc": "2:48-2:49" + }, + { + "token": "FAT_ARROW", + "loc": "2:50-2:52" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "2:53-2:60" + }, + { + "token": "LPAREN", + "loc": "2:60-2:61" + }, + { + "token": [ + "LIDENT", + "u" + ], + "loc": "2:61-2:62" + }, + { + "token": "RPAREN", + "loc": "2:62-2:63" + }, + { + "token": "RBRACE", + "loc": "2:64-2:65" + }, + { + "token": "NEWLINE", + "loc": "2:65-2:66" + }, + { + "token": "RBRACE", + "loc": "3:1-3:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "3:2-3:2" + }, + { + "token": "NEWLINE", + "loc": "3:2-3:3" + }, + { + "token": "NEWLINE", + "loc": "4:1-4:2" + }, + { + "token": "NEWLINE", + "loc": "5:1-5:2" + }, + { + "token": "NEWLINE", + "loc": "6:1-6:2" + }, + { + "token": "NEWLINE", + "loc": "7:1-7:2" + }, + { + "token": "NEWLINE", + "loc": "8:1-8:2" + }, + { + "token": "NEWLINE", + "loc": "9:1-9:2" + }, + { + "token": "NEWLINE", + "loc": "10:1-10:2" + }, + { + "token": "NEWLINE", + "loc": "11:1-11:2" + }, + { + "token": "NEWLINE", + "loc": "12:1-12:2" + }, + { + "token": "NEWLINE", + "loc": "13:1-13:2" + }, + { + "token": "NEWLINE", + "loc": "14:1-14:2" + }, + { + "token": "NEWLINE", + "loc": "15:1-15:2" + }, + { + "token": "NEWLINE", + "loc": "16:1-16:2" + }, + { + "token": "EOF", + "loc": "17:1-17:1" + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_error_type_question.json b/test/sync_test/__snapshot__/parse_test_error_type_question.json deleted file mode 100644 index e70af5ae..00000000 --- a/test/sync_test/__snapshot__/parse_test_error_type_question.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::ErrorType", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "E?" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_extern_type.json b/test/sync_test/__snapshot__/parse_test_extern_type.json deleted file mode 100644 index 9440e3ee..00000000 --- a/test/sync_test/__snapshot__/parse_test_extern_type.json +++ /dev/null @@ -1,322 +0,0 @@ -[ - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "T", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Extern", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "T", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Extern", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "T", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Extern", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [ - { - "kind": "DerivingDirective", - "loc": null, - "children": { - "type_name": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Show" - } - }, - "is_object": false - } - }, - "args": { - "kind": "DerivingDirective::ArgList", - "loc": null, - "children": [] - } - } - } - ] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "T", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Abstract", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#external" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "T", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Abstract", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#external" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "T", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Abstract", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#external" - } - } - ] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [ - { - "kind": "DerivingDirective", - "loc": null, - "children": { - "type_name": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Show" - } - }, - "is_object": false - } - }, - "args": { - "kind": "DerivingDirective::ArgList", - "loc": null, - "children": [] - } - } - } - ] - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_fn_exclamation.json b/test/sync_test/__snapshot__/parse_test_fn_exclamation.json deleted file mode 100644 index 8f00f480..00000000 --- a/test/sync_test/__snapshot__/parse_test_fn_exclamation.json +++ /dev/null @@ -1,358 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::LetFn", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f1" - } - }, - "func": { - "kind": "Func::Lambda", - "loc": null, - "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", - "loc": null, - "children": [] - }, - "body": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "42" - } - } - } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null - } - }, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "apply" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Function", - "loc": null, - "children": { - "func": { - "kind": "Func::Lambda", - "loc": null, - "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": null - } - } - ] - }, - "body": { - "kind": "Expr::Infix", - "loc": null, - "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "+" - } - } - } - }, - "lhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "1" - } - } - } - } - } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "42" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_fnalias.json b/test/sync_test/__snapshot__/parse_test_fnalias.json deleted file mode 100644 index de0418a5..00000000 --- a/test/sync_test/__snapshot__/parse_test_fnalias.json +++ /dev/null @@ -1,582 +0,0 @@ -[ - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": { - "kind": "Label", - "loc": null, - "children": { - "name": "pkg" - } - }, - "type_name": null, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "target": null - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": { - "kind": "Label", - "loc": null, - "children": { - "name": "pkg" - } - }, - "type_name": null, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "target": null - } - }, - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g" - } - }, - "target": null - } - }, - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "h" - } - }, - "target": null - } - } - ] - }, - "vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": null - } - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": true, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": null, - "type_name": null, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "alias" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "local" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": null, - "type_name": null, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "alias1" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "local1" - } - } - } - }, - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "alias2" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "local2" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": true, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": null, - "type_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "LocalTypeName" - } - }, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth1" - } - }, - "target": null - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": null, - "type_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "LocalTypeName" - } - }, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth_two" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "meth1" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": null, - "type_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "LocalTypeName" - } - }, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth1" - } - }, - "target": null - } - }, - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth_two" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "meth2" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": true, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": { - "kind": "Label", - "loc": null, - "children": { - "name": "pkg" - } - }, - "type_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "Type" - } - }, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth1" - } - }, - "target": null - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": { - "kind": "Label", - "loc": null, - "children": { - "name": "pkg" - } - }, - "type_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "Type" - } - }, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth_two" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "meth2" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncAlias", - "loc": null, - "children": { - "pkg": { - "kind": "Label", - "loc": null, - "children": { - "name": "pkg" - } - }, - "type_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "Type" - } - }, - "targets": { - "kind": "Impl::TopFuncAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth1" - } - }, - "target": null - } - }, - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "meth_two" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "meth2" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopFuncAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": true, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_fnname_bang.json b/test/sync_test/__snapshot__/parse_test_fnname_bang.json deleted file mode 100644 index 8c73342b..00000000 --- a/test/sync_test/__snapshot__/parse_test_fnname_bang.json +++ /dev/null @@ -1,1491 +0,0 @@ -[ - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "Error1", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Error", - "loc": null, - "children": { - "value": { - "kind": "ExceptionDecl::SinglePayload", - "loc": null, - "children": { - "value": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTrait", - "loc": null, - "children": { - "value": { - "kind": "TraitDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "T" - } - }, - "supers": { - "kind": "TraitDecl::SuperList", - "loc": null, - "children": [] - }, - "methods": { - "kind": "TraitDecl::MethodList", - "loc": null, - "children": [ - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f1" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::DefaultErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [] - } - } - }, - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f2" - } - }, - "has_error": null, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::DefaultErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [] - } - } - }, - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f3" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [] - } - } - }, - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f4" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::ErrorType", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Error1" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [] - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "attrs": { - "kind": "TraitDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g1" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g2" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::DefaultErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g3" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::ErrorType", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Error1" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "A", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Newtype", - "loc": null, - "children": { - "value": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "A" - } - }, - "is_object": false - } - }, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g3" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "A" - } - }, - "is_object": false - } - }, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g3" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::DefaultErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "A" - } - }, - "is_object": false - } - }, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g3" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::ErrorType", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Error1" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopImpl", - "loc": null, - "children": { - "self_ty": null, - "trait": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "T" - } - }, - "is_object": false - } - }, - "method_name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f1" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "quantifiers": { - "kind": "Impl::TopImpl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "Impl::TopImpl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": null - } - } - ] - }, - "ret_ty": null, - "err_ty": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopImpl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopImpl", - "loc": null, - "children": { - "self_ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "A" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "trait": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "T" - } - }, - "is_object": false - } - }, - "method_name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f3" - } - }, - "has_error": { - "kind": "Raise", - "loc": null, - "children": {} - }, - "quantifiers": { - "kind": "Impl::TopImpl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "Impl::TopImpl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": null - } - } - ] - }, - "ret_ty": null, - "err_ty": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopImpl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_function_type_with_trailing_comma.json b/test/sync_test/__snapshot__/parse_test_function_type_with_trailing_comma.json deleted file mode 100644 index faa42567..00000000 --- a/test/sync_test/__snapshot__/parse_test_function_type_with_trailing_comma.json +++ /dev/null @@ -1,503 +0,0 @@ -[ - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "Callback1", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Newtype", - "loc": null, - "children": { - "value": { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Bool" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - ] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "err": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "is_async": null - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "Callback2", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Newtype", - "loc": null, - "children": { - "value": { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Bool" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - ] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "err": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "is_async": null - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "ModalRenderer", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "TypeDeclBinder", - "loc": null, - "children": { - "name": "T" - } - } - ] - }, - "components": { - "kind": "TypeDesc::Newtype", - "loc": null, - "children": { - "value": { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [ - { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Dot", - "loc": null, - "children": { - "pkg": "node", - "id": "DispatchFn" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "T" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - ] - } - } - } - ] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "err": { - "kind": "ErrorType::ErrorType", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Dot", - "loc": null, - "children": { - "pkg": "node", - "id": "RespoCommonError" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "is_async": null - } - } - ] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Dot", - "loc": null, - "children": { - "pkg": "node", - "id": "RespoNode" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "T" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - ] - } - } - }, - "err": { - "kind": "ErrorType::ErrorType", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Dot", - "loc": null, - "children": { - "pkg": "node", - "id": "RespoCommonError" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "is_async": null - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Pub", - "loc": null, - "children": { - "attr": "all" - } - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_match_match.json b/test/sync_test/__snapshot__/parse_test_match_match.json deleted file mode 100644 index 950267de..00000000 --- a/test/sync_test/__snapshot__/parse_test_match_match.json +++ /dev/null @@ -1,421 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Match", - "loc": null, - "children": { - "expr": { - "kind": "Expr::If", - "loc": null, - "children": { - "cond": { - "kind": "Expr::Is", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "pat": { - "kind": "Pattern::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "42" - } - } - } - } - } - }, - "ifso": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } - }, - "ifnot": null - } - }, - "cases": { - "kind": "Expr::Match::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - ] - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::If", - "loc": null, - "children": { - "cond": { - "kind": "Expr::Match", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "cases": { - "kind": "Expr::Match::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bool", - "loc": null, - "children": { - "value": true - } - } - } - } - } - } - ] - } - } - }, - "ifso": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "42" - } - } - } - }, - "ifnot": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_nobreak.mbt b/test/sync_test/__snapshot__/parse_test_nobreak.mbt new file mode 100644 index 00000000..922377ee --- /dev/null +++ b/test/sync_test/__snapshot__/parse_test_nobreak.mbt @@ -0,0 +1,64 @@ +// Test nobreak keyword for while loops +fn test_while_nobreak() -> Unit { + while true { + break + } nobreak { + println("completed without break") + } +} + +// Test nobreak keyword for for loops +fn test_for_nobreak() -> Unit { + for i = 0; i < 10; i = i + 1 { + if i == 5 { + break + } + } nobreak { + println("completed without break") + } +} + +// Test nobreak keyword for foreach loops +fn test_foreach_nobreak() -> Unit { + for x in [1, 2, 3] { + println(x) + } nobreak { + println("completed without break") + } +} + +// Test nobreak with multiple binders in foreach +fn test_foreach_nobreak_multi() -> Unit { + for k, v in [(1, "a"), (2, "b")] { + println(k) + } nobreak { + println("done") + } +} + +// Test nested loops with nobreak +fn test_nested_nobreak() -> Unit { + while true { + for i = 0; i < 5; i = i + 1 { + break + } nobreak { + println("inner loop completed") + } + break + } nobreak { + println("outer loop completed") + } +} + +// Test nobreak with labeled loops +fn test_labeled_nobreak() -> Unit { + outer: while true { + inner: for x in [1, 2, 3] { + break outer + } nobreak { + println("inner done") + } + } nobreak { + println("outer done") + } +} diff --git a/test/sync_test/__snapshot__/parse_test_nobreak.mbt.tokens.json b/test/sync_test/__snapshot__/parse_test_nobreak.mbt.tokens.json new file mode 100644 index 00000000..874957e5 --- /dev/null +++ b/test/sync_test/__snapshot__/parse_test_nobreak.mbt.tokens.json @@ -0,0 +1,1493 @@ +[ + { + "token": [ + "COMMENT", + { + "content": "// Test nobreak keyword for while loops", + "kind": [ + "Ownline", + { + "leading_blank_line": false, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "1:1-1:40" + }, + { + "token": "NEWLINE", + "loc": "1:40-1:41" + }, + { + "token": "FN", + "loc": "2:1-2:3" + }, + { + "token": [ + "LIDENT", + "test_while_nobreak" + ], + "loc": "2:4-2:22" + }, + { + "token": "LPAREN", + "loc": "2:22-2:23" + }, + { + "token": "RPAREN", + "loc": "2:23-2:24" + }, + { + "token": "THIN_ARROW", + "loc": "2:25-2:27" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "2:28-2:32" + }, + { + "token": "LBRACE", + "loc": "2:33-2:34" + }, + { + "token": "NEWLINE", + "loc": "2:34-2:35" + }, + { + "token": "WHILE", + "loc": "3:3-3:8" + }, + { + "token": "TRUE", + "loc": "3:9-3:13" + }, + { + "token": "LBRACE", + "loc": "3:14-3:15" + }, + { + "token": "NEWLINE", + "loc": "3:15-3:16" + }, + { + "token": "BREAK", + "loc": "4:5-4:10" + }, + { + "token": "NEWLINE", + "loc": "4:10-4:11" + }, + { + "token": "RBRACE", + "loc": "5:3-5:4" + }, + { + "token": "NOBREAK", + "loc": "5:5-5:12" + }, + { + "token": "LBRACE", + "loc": "5:13-5:14" + }, + { + "token": "NEWLINE", + "loc": "5:14-5:15" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "6:5-6:12" + }, + { + "token": "LPAREN", + "loc": "6:12-6:13" + }, + { + "token": [ + "STRING", + "completed without break" + ], + "loc": "6:13-6:38" + }, + { + "token": "RPAREN", + "loc": "6:38-6:39" + }, + { + "token": "NEWLINE", + "loc": "6:39-6:40" + }, + { + "token": "RBRACE", + "loc": "7:3-7:4" + }, + { + "token": "NEWLINE", + "loc": "7:4-7:5" + }, + { + "token": "RBRACE", + "loc": "8:1-8:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "8:2-8:2" + }, + { + "token": "NEWLINE", + "loc": "8:2-8:3" + }, + { + "token": "NEWLINE", + "loc": "9:1-9:2" + }, + { + "token": [ + "COMMENT", + { + "content": "// Test nobreak keyword for for loops", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "10:1-10:38" + }, + { + "token": "NEWLINE", + "loc": "10:38-10:39" + }, + { + "token": "FN", + "loc": "11:1-11:3" + }, + { + "token": [ + "LIDENT", + "test_for_nobreak" + ], + "loc": "11:4-11:20" + }, + { + "token": "LPAREN", + "loc": "11:20-11:21" + }, + { + "token": "RPAREN", + "loc": "11:21-11:22" + }, + { + "token": "THIN_ARROW", + "loc": "11:23-11:25" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "11:26-11:30" + }, + { + "token": "LBRACE", + "loc": "11:31-11:32" + }, + { + "token": "NEWLINE", + "loc": "11:32-11:33" + }, + { + "token": "FOR", + "loc": "12:3-12:6" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "12:7-12:8" + }, + { + "token": "EQUAL", + "loc": "12:9-12:10" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "12:11-12:12" + }, + { + "token": [ + "SEMI", + true + ], + "loc": "12:12-12:13" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "12:14-12:15" + }, + { + "token": [ + "INFIX1", + "<" + ], + "loc": "12:16-12:17" + }, + { + "token": [ + "INT", + "10" + ], + "loc": "12:18-12:20" + }, + { + "token": [ + "SEMI", + true + ], + "loc": "12:20-12:21" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "12:22-12:23" + }, + { + "token": "EQUAL", + "loc": "12:24-12:25" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "12:26-12:27" + }, + { + "token": "PLUS", + "loc": "12:28-12:29" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "12:30-12:31" + }, + { + "token": "LBRACE", + "loc": "12:32-12:33" + }, + { + "token": "NEWLINE", + "loc": "12:33-12:34" + }, + { + "token": "IF", + "loc": "13:5-13:7" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "13:8-13:9" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "13:10-13:12" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "13:13-13:14" + }, + { + "token": "LBRACE", + "loc": "13:15-13:16" + }, + { + "token": "NEWLINE", + "loc": "13:16-13:17" + }, + { + "token": "BREAK", + "loc": "14:7-14:12" + }, + { + "token": "NEWLINE", + "loc": "14:12-14:13" + }, + { + "token": "RBRACE", + "loc": "15:5-15:6" + }, + { + "token": "NEWLINE", + "loc": "15:6-15:7" + }, + { + "token": "RBRACE", + "loc": "16:3-16:4" + }, + { + "token": "NOBREAK", + "loc": "16:5-16:12" + }, + { + "token": "LBRACE", + "loc": "16:13-16:14" + }, + { + "token": "NEWLINE", + "loc": "16:14-16:15" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "17:5-17:12" + }, + { + "token": "LPAREN", + "loc": "17:12-17:13" + }, + { + "token": [ + "STRING", + "completed without break" + ], + "loc": "17:13-17:38" + }, + { + "token": "RPAREN", + "loc": "17:38-17:39" + }, + { + "token": "NEWLINE", + "loc": "17:39-17:40" + }, + { + "token": "RBRACE", + "loc": "18:3-18:4" + }, + { + "token": "NEWLINE", + "loc": "18:4-18:5" + }, + { + "token": "RBRACE", + "loc": "19:1-19:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "19:2-19:2" + }, + { + "token": "NEWLINE", + "loc": "19:2-19:3" + }, + { + "token": "NEWLINE", + "loc": "20:1-20:2" + }, + { + "token": [ + "COMMENT", + { + "content": "// Test nobreak keyword for foreach loops", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "21:1-21:42" + }, + { + "token": "NEWLINE", + "loc": "21:42-21:43" + }, + { + "token": "FN", + "loc": "22:1-22:3" + }, + { + "token": [ + "LIDENT", + "test_foreach_nobreak" + ], + "loc": "22:4-22:24" + }, + { + "token": "LPAREN", + "loc": "22:24-22:25" + }, + { + "token": "RPAREN", + "loc": "22:25-22:26" + }, + { + "token": "THIN_ARROW", + "loc": "22:27-22:29" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "22:30-22:34" + }, + { + "token": "LBRACE", + "loc": "22:35-22:36" + }, + { + "token": "NEWLINE", + "loc": "22:36-22:37" + }, + { + "token": "FOR", + "loc": "23:3-23:6" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "23:7-23:8" + }, + { + "token": "IN", + "loc": "23:9-23:11" + }, + { + "token": "LBRACKET", + "loc": "23:12-23:13" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "23:13-23:14" + }, + { + "token": "COMMA", + "loc": "23:14-23:15" + }, + { + "token": [ + "INT", + "2" + ], + "loc": "23:16-23:17" + }, + { + "token": "COMMA", + "loc": "23:17-23:18" + }, + { + "token": [ + "INT", + "3" + ], + "loc": "23:19-23:20" + }, + { + "token": "RBRACKET", + "loc": "23:20-23:21" + }, + { + "token": "LBRACE", + "loc": "23:22-23:23" + }, + { + "token": "NEWLINE", + "loc": "23:23-23:24" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "24:5-24:12" + }, + { + "token": "LPAREN", + "loc": "24:12-24:13" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "24:13-24:14" + }, + { + "token": "RPAREN", + "loc": "24:14-24:15" + }, + { + "token": "NEWLINE", + "loc": "24:15-24:16" + }, + { + "token": "RBRACE", + "loc": "25:3-25:4" + }, + { + "token": "NOBREAK", + "loc": "25:5-25:12" + }, + { + "token": "LBRACE", + "loc": "25:13-25:14" + }, + { + "token": "NEWLINE", + "loc": "25:14-25:15" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "26:5-26:12" + }, + { + "token": "LPAREN", + "loc": "26:12-26:13" + }, + { + "token": [ + "STRING", + "completed without break" + ], + "loc": "26:13-26:38" + }, + { + "token": "RPAREN", + "loc": "26:38-26:39" + }, + { + "token": "NEWLINE", + "loc": "26:39-26:40" + }, + { + "token": "RBRACE", + "loc": "27:3-27:4" + }, + { + "token": "NEWLINE", + "loc": "27:4-27:5" + }, + { + "token": "RBRACE", + "loc": "28:1-28:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "28:2-28:2" + }, + { + "token": "NEWLINE", + "loc": "28:2-28:3" + }, + { + "token": "NEWLINE", + "loc": "29:1-29:2" + }, + { + "token": [ + "COMMENT", + { + "content": "// Test nobreak with multiple binders in foreach", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "30:1-30:49" + }, + { + "token": "NEWLINE", + "loc": "30:49-30:50" + }, + { + "token": "FN", + "loc": "31:1-31:3" + }, + { + "token": [ + "LIDENT", + "test_foreach_nobreak_multi" + ], + "loc": "31:4-31:30" + }, + { + "token": "LPAREN", + "loc": "31:30-31:31" + }, + { + "token": "RPAREN", + "loc": "31:31-31:32" + }, + { + "token": "THIN_ARROW", + "loc": "31:33-31:35" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "31:36-31:40" + }, + { + "token": "LBRACE", + "loc": "31:41-31:42" + }, + { + "token": "NEWLINE", + "loc": "31:42-31:43" + }, + { + "token": "FOR", + "loc": "32:3-32:6" + }, + { + "token": [ + "LIDENT", + "k" + ], + "loc": "32:7-32:8" + }, + { + "token": "COMMA", + "loc": "32:8-32:9" + }, + { + "token": [ + "LIDENT", + "v" + ], + "loc": "32:10-32:11" + }, + { + "token": "IN", + "loc": "32:12-32:14" + }, + { + "token": "LBRACKET", + "loc": "32:15-32:16" + }, + { + "token": "LPAREN", + "loc": "32:16-32:17" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "32:17-32:18" + }, + { + "token": "COMMA", + "loc": "32:18-32:19" + }, + { + "token": [ + "STRING", + "a" + ], + "loc": "32:20-32:23" + }, + { + "token": "RPAREN", + "loc": "32:23-32:24" + }, + { + "token": "COMMA", + "loc": "32:24-32:25" + }, + { + "token": "LPAREN", + "loc": "32:26-32:27" + }, + { + "token": [ + "INT", + "2" + ], + "loc": "32:27-32:28" + }, + { + "token": "COMMA", + "loc": "32:28-32:29" + }, + { + "token": [ + "STRING", + "b" + ], + "loc": "32:30-32:33" + }, + { + "token": "RPAREN", + "loc": "32:33-32:34" + }, + { + "token": "RBRACKET", + "loc": "32:34-32:35" + }, + { + "token": "LBRACE", + "loc": "32:36-32:37" + }, + { + "token": "NEWLINE", + "loc": "32:37-32:38" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "33:5-33:12" + }, + { + "token": "LPAREN", + "loc": "33:12-33:13" + }, + { + "token": [ + "LIDENT", + "k" + ], + "loc": "33:13-33:14" + }, + { + "token": "RPAREN", + "loc": "33:14-33:15" + }, + { + "token": "NEWLINE", + "loc": "33:15-33:16" + }, + { + "token": "RBRACE", + "loc": "34:3-34:4" + }, + { + "token": "NOBREAK", + "loc": "34:5-34:12" + }, + { + "token": "LBRACE", + "loc": "34:13-34:14" + }, + { + "token": "NEWLINE", + "loc": "34:14-34:15" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "35:5-35:12" + }, + { + "token": "LPAREN", + "loc": "35:12-35:13" + }, + { + "token": [ + "STRING", + "done" + ], + "loc": "35:13-35:19" + }, + { + "token": "RPAREN", + "loc": "35:19-35:20" + }, + { + "token": "NEWLINE", + "loc": "35:20-35:21" + }, + { + "token": "RBRACE", + "loc": "36:3-36:4" + }, + { + "token": "NEWLINE", + "loc": "36:4-36:5" + }, + { + "token": "RBRACE", + "loc": "37:1-37:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "37:2-37:2" + }, + { + "token": "NEWLINE", + "loc": "37:2-37:3" + }, + { + "token": "NEWLINE", + "loc": "38:1-38:2" + }, + { + "token": [ + "COMMENT", + { + "content": "// Test nested loops with nobreak", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "39:1-39:34" + }, + { + "token": "NEWLINE", + "loc": "39:34-39:35" + }, + { + "token": "FN", + "loc": "40:1-40:3" + }, + { + "token": [ + "LIDENT", + "test_nested_nobreak" + ], + "loc": "40:4-40:23" + }, + { + "token": "LPAREN", + "loc": "40:23-40:24" + }, + { + "token": "RPAREN", + "loc": "40:24-40:25" + }, + { + "token": "THIN_ARROW", + "loc": "40:26-40:28" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "40:29-40:33" + }, + { + "token": "LBRACE", + "loc": "40:34-40:35" + }, + { + "token": "NEWLINE", + "loc": "40:35-40:36" + }, + { + "token": "WHILE", + "loc": "41:3-41:8" + }, + { + "token": "TRUE", + "loc": "41:9-41:13" + }, + { + "token": "LBRACE", + "loc": "41:14-41:15" + }, + { + "token": "NEWLINE", + "loc": "41:15-41:16" + }, + { + "token": "FOR", + "loc": "42:5-42:8" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "42:9-42:10" + }, + { + "token": "EQUAL", + "loc": "42:11-42:12" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "42:13-42:14" + }, + { + "token": [ + "SEMI", + true + ], + "loc": "42:14-42:15" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "42:16-42:17" + }, + { + "token": [ + "INFIX1", + "<" + ], + "loc": "42:18-42:19" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "42:20-42:21" + }, + { + "token": [ + "SEMI", + true + ], + "loc": "42:21-42:22" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "42:23-42:24" + }, + { + "token": "EQUAL", + "loc": "42:25-42:26" + }, + { + "token": [ + "LIDENT", + "i" + ], + "loc": "42:27-42:28" + }, + { + "token": "PLUS", + "loc": "42:29-42:30" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "42:31-42:32" + }, + { + "token": "LBRACE", + "loc": "42:33-42:34" + }, + { + "token": "NEWLINE", + "loc": "42:34-42:35" + }, + { + "token": "BREAK", + "loc": "43:7-43:12" + }, + { + "token": "NEWLINE", + "loc": "43:12-43:13" + }, + { + "token": "RBRACE", + "loc": "44:5-44:6" + }, + { + "token": "NOBREAK", + "loc": "44:7-44:14" + }, + { + "token": "LBRACE", + "loc": "44:15-44:16" + }, + { + "token": "NEWLINE", + "loc": "44:16-44:17" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "45:7-45:14" + }, + { + "token": "LPAREN", + "loc": "45:14-45:15" + }, + { + "token": [ + "STRING", + "inner loop completed" + ], + "loc": "45:15-45:37" + }, + { + "token": "RPAREN", + "loc": "45:37-45:38" + }, + { + "token": "NEWLINE", + "loc": "45:38-45:39" + }, + { + "token": "RBRACE", + "loc": "46:5-46:6" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "46:6-46:6" + }, + { + "token": "NEWLINE", + "loc": "46:6-46:7" + }, + { + "token": "BREAK", + "loc": "47:5-47:10" + }, + { + "token": "NEWLINE", + "loc": "47:10-47:11" + }, + { + "token": "RBRACE", + "loc": "48:3-48:4" + }, + { + "token": "NOBREAK", + "loc": "48:5-48:12" + }, + { + "token": "LBRACE", + "loc": "48:13-48:14" + }, + { + "token": "NEWLINE", + "loc": "48:14-48:15" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "49:5-49:12" + }, + { + "token": "LPAREN", + "loc": "49:12-49:13" + }, + { + "token": [ + "STRING", + "outer loop completed" + ], + "loc": "49:13-49:35" + }, + { + "token": "RPAREN", + "loc": "49:35-49:36" + }, + { + "token": "NEWLINE", + "loc": "49:36-49:37" + }, + { + "token": "RBRACE", + "loc": "50:3-50:4" + }, + { + "token": "NEWLINE", + "loc": "50:4-50:5" + }, + { + "token": "RBRACE", + "loc": "51:1-51:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "51:2-51:2" + }, + { + "token": "NEWLINE", + "loc": "51:2-51:3" + }, + { + "token": "NEWLINE", + "loc": "52:1-52:2" + }, + { + "token": [ + "COMMENT", + { + "content": "// Test nobreak with labeled loops", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "53:1-53:35" + }, + { + "token": "NEWLINE", + "loc": "53:35-53:36" + }, + { + "token": "FN", + "loc": "54:1-54:3" + }, + { + "token": [ + "LIDENT", + "test_labeled_nobreak" + ], + "loc": "54:4-54:24" + }, + { + "token": "LPAREN", + "loc": "54:24-54:25" + }, + { + "token": "RPAREN", + "loc": "54:25-54:26" + }, + { + "token": "THIN_ARROW", + "loc": "54:27-54:29" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "54:30-54:34" + }, + { + "token": "LBRACE", + "loc": "54:35-54:36" + }, + { + "token": "NEWLINE", + "loc": "54:36-54:37" + }, + { + "token": [ + "LIDENT", + "outer" + ], + "loc": "55:3-55:8" + }, + { + "token": "COLON", + "loc": "55:8-55:9" + }, + { + "token": "WHILE", + "loc": "55:10-55:15" + }, + { + "token": "TRUE", + "loc": "55:16-55:20" + }, + { + "token": "LBRACE", + "loc": "55:21-55:22" + }, + { + "token": "NEWLINE", + "loc": "55:22-55:23" + }, + { + "token": [ + "LIDENT", + "inner" + ], + "loc": "56:5-56:10" + }, + { + "token": "COLON", + "loc": "56:10-56:11" + }, + { + "token": "FOR", + "loc": "56:12-56:15" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "56:16-56:17" + }, + { + "token": "IN", + "loc": "56:18-56:20" + }, + { + "token": "LBRACKET", + "loc": "56:21-56:22" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "56:22-56:23" + }, + { + "token": "COMMA", + "loc": "56:23-56:24" + }, + { + "token": [ + "INT", + "2" + ], + "loc": "56:25-56:26" + }, + { + "token": "COMMA", + "loc": "56:26-56:27" + }, + { + "token": [ + "INT", + "3" + ], + "loc": "56:28-56:29" + }, + { + "token": "RBRACKET", + "loc": "56:29-56:30" + }, + { + "token": "LBRACE", + "loc": "56:31-56:32" + }, + { + "token": "NEWLINE", + "loc": "56:32-56:33" + }, + { + "token": "BREAK", + "loc": "57:7-57:12" + }, + { + "token": [ + "LIDENT", + "outer" + ], + "loc": "57:13-57:18" + }, + { + "token": "NEWLINE", + "loc": "57:18-57:19" + }, + { + "token": "RBRACE", + "loc": "58:5-58:6" + }, + { + "token": "NOBREAK", + "loc": "58:7-58:14" + }, + { + "token": "LBRACE", + "loc": "58:15-58:16" + }, + { + "token": "NEWLINE", + "loc": "58:16-58:17" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "59:7-59:14" + }, + { + "token": "LPAREN", + "loc": "59:14-59:15" + }, + { + "token": [ + "STRING", + "inner done" + ], + "loc": "59:15-59:27" + }, + { + "token": "RPAREN", + "loc": "59:27-59:28" + }, + { + "token": "NEWLINE", + "loc": "59:28-59:29" + }, + { + "token": "RBRACE", + "loc": "60:5-60:6" + }, + { + "token": "NEWLINE", + "loc": "60:6-60:7" + }, + { + "token": "RBRACE", + "loc": "61:3-61:4" + }, + { + "token": "NOBREAK", + "loc": "61:5-61:12" + }, + { + "token": "LBRACE", + "loc": "61:13-61:14" + }, + { + "token": "NEWLINE", + "loc": "61:14-61:15" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "62:5-62:12" + }, + { + "token": "LPAREN", + "loc": "62:12-62:13" + }, + { + "token": [ + "STRING", + "outer done" + ], + "loc": "62:13-62:25" + }, + { + "token": "RPAREN", + "loc": "62:25-62:26" + }, + { + "token": "NEWLINE", + "loc": "62:26-62:27" + }, + { + "token": "RBRACE", + "loc": "63:3-63:4" + }, + { + "token": "NEWLINE", + "loc": "63:4-63:5" + }, + { + "token": "RBRACE", + "loc": "64:1-64:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "64:2-64:2" + }, + { + "token": "NEWLINE", + "loc": "64:2-64:3" + }, + { + "token": "EOF", + "loc": "65:1-65:1" + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_old_maybe_error_return_syntax.json b/test/sync_test/__snapshot__/parse_test_old_maybe_error_return_syntax.json deleted file mode 100644 index 4073fa28..00000000 --- a/test/sync_test/__snapshot__/parse_test_old_maybe_error_return_syntax.json +++ /dev/null @@ -1,117 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::MaybeError", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_postfix_catch_all.json b/test/sync_test/__snapshot__/parse_test_postfix_catch_all.json deleted file mode 100644 index 705a3571..00000000 --- a/test/sync_test/__snapshot__/parse_test_postfix_catch_all.json +++ /dev/null @@ -1,129 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "main" - } - }, - "has_error": null, - "is_async": null, - "decl_params": null, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "expr": { - "kind": "Expr::Try", - "loc": null, - "children": { - "body": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "1" - } - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - ] - }, - "catch_all": true, - "try_else": null, - "has_try": false - } - }, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_postfix_label.json b/test/sync_test/__snapshot__/parse_test_postfix_label.json deleted file mode 100644 index c9a70a1d..00000000 --- a/test/sync_test/__snapshot__/parse_test_postfix_label.json +++ /dev/null @@ -1,3117 +0,0 @@ -[ - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "FooA", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Error", - "loc": null, - "children": { - "value": { - "kind": "ExceptionDecl::EnumPayload", - "loc": null, - "children": { - "value": { - "kind": "ExceptionDecl::EnumPayload::ConstrList", - "loc": null, - "children": [ - { - "kind": "ConstrDecl", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "BarA" - } - }, - "args": { - "kind": "ConstrDecl::ArgList", - "loc": null, - "children": [ - { - "kind": "ConstrParam", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label1" - } - } - } - }, - { - "kind": "ConstrParam", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Bool" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label2" - } - } - } - } - ] - }, - "tag": null, - "attrs": { - "kind": "ConstrDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label1" - } - } - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "5" - } - } - } - }, - "body": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "fooa" - } - } - } - }, - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "BarA" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label1" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledPun", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label1" - } - } - } - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bool", - "loc": null, - "children": { - "value": true - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label2" - } - } - } - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "body": { - "kind": "Expr::Match", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "fooa" - } - } - } - } - } - }, - "cases": { - "kind": "Expr::Match::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "BarA" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - }, - "args": { - "kind": "Pattern::Constr::ArgList", - "loc": null, - "children": [ - { - "kind": "ConstrPatArg", - "loc": null, - "children": { - "pat": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label1" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledPun", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label1" - } - } - } - } - } - }, - { - "kind": "ConstrPatArg", - "loc": null, - "children": { - "pat": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "a" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label2" - } - } - } - } - } - } - ] - }, - "is_open": false - } - }, - "guard": null, - "body": { - "kind": "Expr::Hole", - "loc": null, - "children": { - "kind": { - "kind": "Hole::Todo", - "loc": null, - "children": {} - } - } - } - } - } - ] - } - } - } - } - } - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "error enum" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "FooB", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Variant", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Variant::ConstrList", - "loc": null, - "children": [ - { - "kind": "ConstrDecl", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "BarB" - } - }, - "args": { - "kind": "ConstrDecl::ArgList", - "loc": null, - "children": [ - { - "kind": "ConstrParam", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label3" - } - } - } - }, - { - "kind": "ConstrParam", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Bool" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label4" - } - } - } - } - ] - }, - "tag": null, - "attrs": { - "kind": "ConstrDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label3" - } - } - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "6" - } - } - } - }, - "body": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "foob" - } - } - } - }, - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "BarB" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label3" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledPun", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label3" - } - } - } - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bool", - "loc": null, - "children": { - "value": false - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label4" - } - } - } - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "body": { - "kind": "Expr::Match", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "foob" - } - } - } - } - } - }, - "cases": { - "kind": "Expr::Match::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "BarB" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - }, - "args": { - "kind": "Pattern::Constr::ArgList", - "loc": null, - "children": [ - { - "kind": "ConstrPatArg", - "loc": null, - "children": { - "pat": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label3" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledPun", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label3" - } - } - } - } - } - }, - { - "kind": "ConstrPatArg", - "loc": null, - "children": { - "pat": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "a" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label4" - } - } - } - } - } - } - ] - }, - "is_open": false - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label3" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - ] - } - } - } - } - } - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "enum" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "Rcd", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "label5" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "label6" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label5" - } - } - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "8" - } - } - } - }, - "body": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "rcd" - } - } - } - }, - "expr": { - "kind": "Expr::Record", - "loc": null, - "children": { - "type_name": null, - "fields": { - "kind": "Expr::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDef", - "loc": null, - "children": { - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label5" - } - }, - "expr": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label5" - } - } - } - } - } - }, - "is_pun": true - } - }, - { - "kind": "FieldDef", - "loc": null, - "children": { - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label6" - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "20" - } - } - } - }, - "is_pun": false - } - } - ] - }, - "trailing": { - "kind": "Trailing::None", - "loc": null, - "children": {} - } - } - }, - "body": { - "kind": "Expr::Match", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "rcd" - } - } - } - } - } - }, - "cases": { - "kind": "Expr::Match::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Record", - "loc": null, - "children": { - "fields": { - "kind": "Pattern::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldPat", - "loc": null, - "children": { - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label5" - } - }, - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label5" - } - } - } - }, - "is_pun": true - } - }, - { - "kind": "FieldPat", - "loc": null, - "children": { - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label6" - } - }, - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "a" - } - } - } - }, - "is_pun": false - } - } - ] - }, - "is_closed": true - } - }, - "guard": null, - "body": { - "kind": "Expr::Hole", - "loc": null, - "children": { - "kind": { - "kind": "Hole::Todo", - "loc": null, - "children": {} - } - } - } - } - } - ] - } - } - } - } - } - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "record" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label7" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label8" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label7" - } - } - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "9" - } - } - } - }, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "f" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label7" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledPun", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label7" - } - } - } - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "11" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label8" - } - } - } - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "fn label~" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "g" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::QuestionOptional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label9" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Parameter::QuestionOptional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label10" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Parameter::QuestionOptional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label11" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label9" - } - } - } - }, - "expr": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "None" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - } - } - }, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "g" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label9" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledOptionPun", - "loc": null, - "children": { - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label9" - } - } - } - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "5" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label10" - } - } - } - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "Some" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "5" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledOption", - "loc": null, - "children": { - "label": { - "kind": "Label", - "loc": null, - "children": { - "name": "label11" - } - } - } - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "fn label?" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopTrait", - "loc": null, - "children": { - "value": { - "kind": "TraitDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "Trait" - } - }, - "supers": { - "kind": "TraitDecl::SuperList", - "loc": null, - "children": [] - }, - "methods": { - "kind": "TraitDecl::MethodList", - "loc": null, - "children": [ - { - "kind": "TraitMethodDecl", - "loc": null, - "children": { - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "h" - } - }, - "has_error": null, - "is_async": null, - "quantifiers": { - "kind": "TraitMethodDecl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "TraitMethodDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Self" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label12" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label13" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "has_default": null, - "attrs": { - "kind": "TraitMethodDecl::AttrList", - "loc": null, - "children": [] - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "attrs": { - "kind": "TraitDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyType", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Newtype", - "loc": null, - "children": { - "value": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopImpl", - "loc": null, - "children": { - "self_ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "MyType" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "trait": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Trait" - } - }, - "is_object": false - } - }, - "method_name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "h" - } - }, - "has_error": null, - "quantifiers": { - "kind": "Impl::TopImpl::QuantifierList", - "loc": null, - "children": [] - }, - "params": { - "kind": "Impl::TopImpl::ParamList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "self" - } - }, - "ty": null - } - }, - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label12" - } - }, - "ty": null - } - }, - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label13" - } - }, - "ty": null - } - } - ] - }, - "ret_ty": null, - "err_ty": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopImpl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label12" - } - } - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "12" - } - } - } - }, - "body": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "label13" - } - } - } - }, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "13" - } - } - } - }, - "body": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "mytype" - } - } - } - }, - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "MyType" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "body": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", - "loc": null, - "children": [ - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Method", - "loc": null, - "children": { - "type_name": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Trait" - } - }, - "is_object": false - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "h" - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "mytype" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label12" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledPun", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label12" - } - } - } - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "label13" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::LabelledPun", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label13" - } - } - } - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - ] - }, - "last_expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Method", - "loc": null, - "children": { - "type_name": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Trait" - } - }, - "is_object": false - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "h" - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "mytype" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "5" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label12" - } - } - } - } - } - }, - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "6" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Labelled", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "label13" - } - } - } - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - } - } - } - } - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "impl trait" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_struct_constructor.json b/test/sync_test/__snapshot__/parse_test_struct_constructor.json deleted file mode 100644 index 34d1585d..00000000 --- a/test/sync_test/__snapshot__/parse_test_struct_constructor.json +++ /dev/null @@ -1,1478 +0,0 @@ -[ - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "S", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [] - }, - "constr_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "new" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "S" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "S", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [] - }, - "constr_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "new" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "S" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "S", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "y" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - }, - "constr_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "new" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::DiscardPositional", - "loc": null, - "children": { - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "S" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "S", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "y" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - }, - "constr_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "new" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "S" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "S", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [ - { - "kind": "TypeDeclBinder", - "loc": null, - "children": { - "name": "X" - } - }, - { - "kind": "TypeDeclBinder", - "loc": null, - "children": { - "name": "Y" - } - } - ] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "X" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "y" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Y" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - }, - "constr_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "new" - } - }, - "has_error": null, - "is_async": { - "kind": "Async", - "loc": null, - "children": {} - }, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [ - { - "kind": "TypeVarBinder", - "loc": null, - "children": { - "name": "X", - "constraints": { - "kind": "TypeVarBinder::TypeVarConstraintList", - "loc": null, - "children": [ - { - "kind": "TypeVarConstraint", - "loc": null, - "children": { - "trait": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Eq" - } - } - } - } - ] - } - } - }, - { - "kind": "TypeVarBinder", - "loc": null, - "children": { - "name": "Y", - "constraints": { - "kind": "TypeVarBinder::TypeVarConstraintList", - "loc": null, - "children": [] - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "S" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "X" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Y" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - ] - } - } - }, - "error_type": { - "kind": "ErrorType::DefaultErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "S", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "y" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - }, - "constr_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "new" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Parameter::QuestionOptional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "y" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Parameter::Labelled", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "loc" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "SourceLoc" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "S" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [ - { - "kind": "Attribute", - "loc": null, - "children": { - "raw": "#callsite(autofill(loc))" - } - } - ] - }, - "doc": " docstring for constructor" - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "S", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [] - }, - "constr_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "constr" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "S" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_text_segment_test.json b/test/sync_test/__snapshot__/parse_test_text_segment_test.json deleted file mode 100644 index aa695e4c..00000000 --- a/test/sync_test/__snapshot__/parse_test_text_segment_test.json +++ /dev/null @@ -1,387 +0,0 @@ -[ - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "Foo", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Variant", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Variant::ConstrList", - "loc": null, - "children": [ - { - "kind": "ConstrDecl", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "Bar" - } - }, - "args": null, - "tag": null, - "attrs": { - "kind": "ConstrDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "\n doc for foo", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "Rcd", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": " doc for rcd", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "Rcd2", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Record", - "loc": null, - "children": { - "value": { - "kind": "TypeDesc::Record::FieldList", - "loc": null, - "children": [ - { - "kind": "FieldDecl", - "loc": null, - "children": { - "name": { - "kind": "FieldName", - "loc": null, - "children": { - "label": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "mut": false, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FieldDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } - ] - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "MyInt", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Newtype", - "loc": null, - "children": { - "value": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "字符unicode测试🐰\n doc for ty", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - }, - "name": null, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopTest", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - }, - "name": { - "kind": "TestName", - "loc": null, - "children": { - "value": "foo" - } - }, - "params": null, - "local_types": { - "kind": "Impl::TopTest::LocalTypeList", - "loc": null, - "children": [] - }, - "is_async": null, - "attrs": { - "kind": "Impl::TopTest::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_traitalias_list_no_pkg.json b/test/sync_test/__snapshot__/parse_test_traitalias_list_no_pkg.json deleted file mode 100644 index 0f4f314b..00000000 --- a/test/sync_test/__snapshot__/parse_test_traitalias_list_no_pkg.json +++ /dev/null @@ -1,61 +0,0 @@ -[ - { - "kind": "Impl::TopBatchTraitAlias", - "loc": null, - "children": { - "pkg": null, - "targets": { - "kind": "Impl::TopBatchTraitAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "A" - } - }, - "target": null - } - }, - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "C" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "B" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopBatchTraitAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": true, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_traitalias_pkg_single_target.json b/test/sync_test/__snapshot__/parse_test_traitalias_pkg_single_target.json deleted file mode 100644 index b57ed38d..00000000 --- a/test/sync_test/__snapshot__/parse_test_traitalias_pkg_single_target.json +++ /dev/null @@ -1,104 +0,0 @@ -[ - { - "kind": "Impl::TopBatchTraitAlias", - "loc": null, - "children": { - "pkg": { - "kind": "Label", - "loc": null, - "children": { - "name": "pkg" - } - }, - "targets": { - "kind": "Impl::TopBatchTraitAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "ShowAlias" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "show" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopBatchTraitAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - }, - { - "kind": "Impl::TopBatchTraitAlias", - "loc": null, - "children": { - "pkg": { - "kind": "Label", - "loc": null, - "children": { - "name": "pkg" - } - }, - "targets": { - "kind": "Impl::TopBatchTraitAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "Alias" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "Show" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::TopBatchTraitAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_try_expr_catch_bang.json b/test/sync_test/__snapshot__/parse_test_try_expr_catch_bang.json deleted file mode 100644 index 12c82ef1..00000000 --- a/test/sync_test/__snapshot__/parse_test_try_expr_catch_bang.json +++ /dev/null @@ -1,129 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "main" - } - }, - "has_error": null, - "is_async": null, - "decl_params": null, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "expr": { - "kind": "Expr::Try", - "loc": null, - "children": { - "body": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "1" - } - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - } - } - } - ] - }, - "catch_all": true, - "try_else": null, - "has_try": true - } - }, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": true - } - } - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_tuple_multiline_str.json b/test/sync_test/__snapshot__/parse_test_tuple_multiline_str.json deleted file mode 100644 index c3e041bc..00000000 --- a/test/sync_test/__snapshot__/parse_test_tuple_multiline_str.json +++ /dev/null @@ -1,305 +0,0 @@ -[ - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Let", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constraint", - "loc": null, - "children": { - "pat": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "body" - } - } - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Array" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [ - { - "kind": "Type::Tuple", - "loc": null, - "children": { - "tys": { - "kind": "Type::Tuple::TypeList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "String" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - ] - } - } - } - ] - } - } - } - } - }, - "expr": { - "kind": "Expr::Array", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Array::ExprList", - "loc": null, - "children": [] - } - } - }, - "body": { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "body" - } - } - } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "push" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Tuple", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Tuple::ExprList", - "loc": null, - "children": [ - { - "kind": "Expr::MultilineString", - "loc": null, - "children": { - "elems": { - "kind": "Expr::MultilineString::ElemList", - "loc": null, - "children": [ - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": "x" - } - } - ] - } - } - }, - { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "1" - } - } - } - } - ] - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_type_bang_no_payload.json b/test/sync_test/__snapshot__/parse_test_type_bang_no_payload.json deleted file mode 100644 index 52b07fca..00000000 --- a/test/sync_test/__snapshot__/parse_test_type_bang_no_payload.json +++ /dev/null @@ -1,48 +0,0 @@ -[ - { - "kind": "Impl::TopTypeDef", - "loc": null, - "children": { - "value": { - "kind": "TypeDecl", - "loc": null, - "children": { - "tycon": "E", - "params": { - "kind": "TypeDecl::ParamList", - "loc": null, - "children": [] - }, - "components": { - "kind": "TypeDesc::Error", - "loc": null, - "children": { - "value": { - "kind": "ExceptionDecl::NoPayload", - "loc": null, - "children": {} - } - } - }, - "attrs": { - "kind": "TypeDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "", - "type_vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_declare": false, - "deriving": { - "kind": "TypeDecl::DerivingList", - "loc": null, - "children": [] - } - } - } - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_typealias_lident_target_as.json b/test/sync_test/__snapshot__/parse_test_typealias_lident_target_as.json deleted file mode 100644 index 098910a7..00000000 --- a/test/sync_test/__snapshot__/parse_test_typealias_lident_target_as.json +++ /dev/null @@ -1,47 +0,0 @@ -[ - { - "kind": "Impl::BatchTypeAlias", - "loc": null, - "children": { - "pkg": null, - "targets": { - "kind": "Impl::BatchTypeAlias::TargetList", - "loc": null, - "children": [ - { - "kind": "AliasTarget", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "Bar" - } - }, - "target": { - "kind": "Label", - "loc": null, - "children": { - "name": "foo" - } - } - } - } - ] - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "Impl::BatchTypeAlias::AttrList", - "loc": null, - "children": [] - }, - "is_list": false, - "doc": "" - } - } -] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_async_and_err.json b/test/sync_test/__snapshot__/pipeline_test_async_and_err.json index cc02f411..2d4edb5a 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_and_err.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_and_err.json @@ -1737,157 +1737,168 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Group", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "expr": { - "kind": "Expr::Apply", + "body": { + "kind": "Expr::Group", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "async_with_err_non_tail" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "async_with_err_non_tail" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", + "group": { + "kind": "Group::Brace", "loc": null, "children": {} } } }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "value": { - "kind": "Binder", + "pattern": { + "kind": "Pattern::Var", "loc": null, "children": { - "name": "err" + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } } - } - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + }, + "guard": null, + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Interp", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "catched: " - } - }, - { - "kind": "InterpElem::Source", + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "source": "err" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "catched: " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "err" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } } - } - } - ] + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } }, - "catch_all": false, - "try_else": null, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -1897,7 +1908,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -2598,103 +2609,18 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Group", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "async_with_tail_err_in_if" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Bool", - "loc": null, - "children": { - "value": true - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + "body": { + "kind": "Expr::Group", "loc": null, "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "err" - } - } - } - }, - "guard": null, - "body": { + "expr": { "kind": "Expr::Apply", "loc": null, "children": { @@ -2710,7 +2636,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "println" + "value": "async_with_tail_err_in_if" } } } @@ -2726,28 +2652,15 @@ "loc": null, "children": { "value": { - "kind": "Expr::Interp", + "kind": "Expr::Constant", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "constant": { + "kind": "Constant::Bool", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "catched: " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "err" - } - } - ] + "children": { + "value": true + } } } }, @@ -2766,14 +2679,123 @@ "children": {} } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } - } - ] + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "catched: " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "err" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } }, - "catch_all": false, - "try_else": null, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -2783,7 +2805,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -3391,103 +3413,18 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Group", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "async_with_tail_err_obj_method" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "42" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + "body": { + "kind": "Expr::Group", "loc": null, "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "err" - } - } - } - }, - "guard": null, - "body": { + "expr": { "kind": "Expr::Apply", "loc": null, "children": { @@ -3503,7 +3440,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "println" + "value": "async_with_tail_err_obj_method" } } } @@ -3519,28 +3456,15 @@ "loc": null, "children": { "value": { - "kind": "Expr::Interp", + "kind": "Expr::Constant", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "constant": { + "kind": "Constant::Int", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "catched: " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "err" - } - } - ] + "children": { + "value": "42" + } } } }, @@ -3559,68 +3483,177 @@ "children": {} } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } - } - ] - }, - "catch_all": false, - "try_else": null, - "has_try": true - } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": null, - "is_async": null - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "raise_in_sync_with_async_catch" - } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "catched: " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "err" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "raise_in_sync_with_async_catch" + } }, "has_error": null, "is_async": { @@ -4296,7 +4329,671 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "sync_with_err_and_arg" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::DiscardPositional", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "sync_with_err" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "raise_to_async_handler_in_arg" + } + }, + "has_error": null, + "is_async": { + "kind": "Async", + "loc": null, + "children": {} + }, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Try", + "loc": null, + "children": { + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "sync_with_err_and_arg" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "sync_with_err" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "async_with_err" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "init" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "run_async" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [] + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "raise_to_async_handler_in_arg" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt b/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt index cdb55903..1010b33f 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt @@ -37,7 +37,7 @@ async fn async_with_err_non_tail() -> Unit raise { } fn init { - run_async(fn () { + run_async(() => { try { async_with_err_non_tail() } catch { @@ -65,7 +65,7 @@ async fn async_with_tail_err_in_if(c : Bool) -> Unit raise Err { } fn init { - run_async(fn () { + run_async(() => { try { async_with_tail_err_in_if(true) } catch { @@ -87,7 +87,7 @@ async fn async_with_tail_err_obj_method(obj : &Obj_with_err) -> Unit raise Err { } fn init { - run_async(fn () { + run_async(() => { try { async_with_tail_err_obj_method(42) } catch { @@ -109,5 +109,21 @@ async fn raise_in_sync_with_async_catch(input : String?) -> Unit { } fn init { - run_async(fn() { try! raise_in_sync_with_async_catch(Some("msg")) }) + run_async(() => try! raise_in_sync_with_async_catch(Some("msg"))) +} + +fn sync_with_err_and_arg(_ : Unit) -> Unit raise { + sync_with_err() +} + +async fn raise_to_async_handler_in_arg() -> Unit { + try { + println(sync_with_err_and_arg(sync_with_err())) + } catch { + _ => async_with_err() + } +} + +fn init { + run_async(() => println(try? raise_to_async_handler_in_arg())) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt.tokens.json index bb59e1f1..6f3f7db2 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_and_err.mbt.tokens.json @@ -1026,17 +1026,17 @@ "token": "LPAREN", "loc": "40:12-40:13" }, - { - "token": "FN", - "loc": "40:13-40:15" - }, { "token": "LPAREN", - "loc": "40:16-40:17" + "loc": "40:13-40:14" }, { "token": "RPAREN", - "loc": "40:17-40:18" + "loc": "40:14-40:15" + }, + { + "token": "FAT_ARROW", + "loc": "40:16-40:18" }, { "token": "LBRACE", @@ -1556,17 +1556,17 @@ "token": "LPAREN", "loc": "68:12-68:13" }, - { - "token": "FN", - "loc": "68:13-68:15" - }, { "token": "LPAREN", - "loc": "68:16-68:17" + "loc": "68:13-68:14" }, { "token": "RPAREN", - "loc": "68:17-68:18" + "loc": "68:14-68:15" + }, + { + "token": "FAT_ARROW", + "loc": "68:16-68:18" }, { "token": "LBRACE", @@ -2029,17 +2029,17 @@ "token": "LPAREN", "loc": "90:12-90:13" }, - { - "token": "FN", - "loc": "90:13-90:15" - }, { "token": "LPAREN", - "loc": "90:16-90:17" + "loc": "90:13-90:14" }, { "token": "RPAREN", - "loc": "90:17-90:18" + "loc": "90:14-90:15" + }, + { + "token": "FAT_ARROW", + "loc": "90:16-90:18" }, { "token": "LBRACE", @@ -2500,54 +2500,54 @@ "token": "LPAREN", "loc": "112:12-112:13" }, - { - "token": "FN", - "loc": "112:13-112:15" - }, { "token": "LPAREN", - "loc": "112:15-112:16" + "loc": "112:13-112:14" }, { "token": "RPAREN", - "loc": "112:16-112:17" + "loc": "112:14-112:15" }, { - "token": "LBRACE", - "loc": "112:18-112:19" + "token": "FAT_ARROW", + "loc": "112:16-112:18" }, { "token": "TRY_EXCLAMATION", - "loc": "112:20-112:24" + "loc": "112:19-112:23" }, { "token": [ "LIDENT", "raise_in_sync_with_async_catch" ], - "loc": "112:25-112:55" + "loc": "112:24-112:54" }, { "token": "LPAREN", - "loc": "112:55-112:56" + "loc": "112:54-112:55" }, { "token": [ "UIDENT", "Some" ], - "loc": "112:56-112:60" + "loc": "112:55-112:59" }, { "token": "LPAREN", - "loc": "112:60-112:61" + "loc": "112:59-112:60" }, { "token": [ "STRING", "msg" ], - "loc": "112:61-112:66" + "loc": "112:60-112:65" + }, + { + "token": "RPAREN", + "loc": "112:65-112:66" }, { "token": "RPAREN", @@ -2557,35 +2557,398 @@ "token": "RPAREN", "loc": "112:67-112:68" }, + { + "token": "NEWLINE", + "loc": "112:68-112:69" + }, { "token": "RBRACE", - "loc": "112:69-112:70" + "loc": "113:1-113:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "113:2-113:2" + }, + { + "token": "NEWLINE", + "loc": "113:2-113:3" + }, + { + "token": "NEWLINE", + "loc": "114:1-114:2" + }, + { + "token": "FN", + "loc": "115:1-115:3" + }, + { + "token": [ + "LIDENT", + "sync_with_err_and_arg" + ], + "loc": "115:4-115:25" + }, + { + "token": "LPAREN", + "loc": "115:25-115:26" + }, + { + "token": "UNDERSCORE", + "loc": "115:26-115:27" + }, + { + "token": "COLON", + "loc": "115:28-115:29" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "115:30-115:34" }, { "token": "RPAREN", - "loc": "112:70-112:71" + "loc": "115:34-115:35" + }, + { + "token": "THIN_ARROW", + "loc": "115:36-115:38" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "115:39-115:43" + }, + { + "token": "RAISE", + "loc": "115:44-115:49" + }, + { + "token": "LBRACE", + "loc": "115:50-115:51" + }, + { + "token": "NEWLINE", + "loc": "115:51-115:52" + }, + { + "token": [ + "LIDENT", + "sync_with_err" + ], + "loc": "116:3-116:16" + }, + { + "token": "LPAREN", + "loc": "116:16-116:17" + }, + { + "token": "RPAREN", + "loc": "116:17-116:18" }, { "token": "NEWLINE", - "loc": "112:71-112:72" + "loc": "116:18-116:19" }, { "token": "RBRACE", - "loc": "113:1-113:2" + "loc": "117:1-117:2" }, { "token": [ "SEMI", false ], - "loc": "113:2-113:2" + "loc": "117:2-117:2" }, { "token": "NEWLINE", - "loc": "113:2-113:3" + "loc": "117:2-117:3" + }, + { + "token": "NEWLINE", + "loc": "118:1-118:2" + }, + { + "token": "ASYNC", + "loc": "119:1-119:6" + }, + { + "token": "FN", + "loc": "119:7-119:9" + }, + { + "token": [ + "LIDENT", + "raise_to_async_handler_in_arg" + ], + "loc": "119:10-119:39" + }, + { + "token": "LPAREN", + "loc": "119:39-119:40" + }, + { + "token": "RPAREN", + "loc": "119:40-119:41" + }, + { + "token": "THIN_ARROW", + "loc": "119:42-119:44" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "119:45-119:49" + }, + { + "token": "LBRACE", + "loc": "119:50-119:51" + }, + { + "token": "NEWLINE", + "loc": "119:51-119:52" + }, + { + "token": "TRY", + "loc": "120:3-120:6" + }, + { + "token": "LBRACE", + "loc": "120:7-120:8" + }, + { + "token": "NEWLINE", + "loc": "120:8-120:9" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "121:5-121:12" + }, + { + "token": "LPAREN", + "loc": "121:12-121:13" + }, + { + "token": [ + "LIDENT", + "sync_with_err_and_arg" + ], + "loc": "121:13-121:34" + }, + { + "token": "LPAREN", + "loc": "121:34-121:35" + }, + { + "token": [ + "LIDENT", + "sync_with_err" + ], + "loc": "121:35-121:48" + }, + { + "token": "LPAREN", + "loc": "121:48-121:49" + }, + { + "token": "RPAREN", + "loc": "121:49-121:50" + }, + { + "token": "RPAREN", + "loc": "121:50-121:51" + }, + { + "token": "RPAREN", + "loc": "121:51-121:52" + }, + { + "token": "NEWLINE", + "loc": "121:52-121:53" + }, + { + "token": "RBRACE", + "loc": "122:3-122:4" + }, + { + "token": "CATCH", + "loc": "122:5-122:10" + }, + { + "token": "LBRACE", + "loc": "122:11-122:12" + }, + { + "token": "NEWLINE", + "loc": "122:12-122:13" + }, + { + "token": "UNDERSCORE", + "loc": "123:5-123:6" + }, + { + "token": "FAT_ARROW", + "loc": "123:7-123:9" + }, + { + "token": [ + "LIDENT", + "async_with_err" + ], + "loc": "123:10-123:24" + }, + { + "token": "LPAREN", + "loc": "123:24-123:25" + }, + { + "token": "RPAREN", + "loc": "123:25-123:26" + }, + { + "token": "NEWLINE", + "loc": "123:26-123:27" + }, + { + "token": "RBRACE", + "loc": "124:3-124:4" + }, + { + "token": "NEWLINE", + "loc": "124:4-124:5" + }, + { + "token": "RBRACE", + "loc": "125:1-125:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "125:2-125:2" + }, + { + "token": "NEWLINE", + "loc": "125:2-125:3" + }, + { + "token": "NEWLINE", + "loc": "126:1-126:2" + }, + { + "token": "FN", + "loc": "127:1-127:3" + }, + { + "token": [ + "LIDENT", + "init" + ], + "loc": "127:4-127:8" + }, + { + "token": "LBRACE", + "loc": "127:9-127:10" + }, + { + "token": "NEWLINE", + "loc": "127:10-127:11" + }, + { + "token": [ + "LIDENT", + "run_async" + ], + "loc": "128:3-128:12" + }, + { + "token": "LPAREN", + "loc": "128:12-128:13" + }, + { + "token": "LPAREN", + "loc": "128:13-128:14" + }, + { + "token": "RPAREN", + "loc": "128:14-128:15" + }, + { + "token": "FAT_ARROW", + "loc": "128:16-128:18" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "128:19-128:26" + }, + { + "token": "LPAREN", + "loc": "128:26-128:27" + }, + { + "token": "TRY_QUESTION", + "loc": "128:27-128:31" + }, + { + "token": [ + "LIDENT", + "raise_to_async_handler_in_arg" + ], + "loc": "128:32-128:61" + }, + { + "token": "LPAREN", + "loc": "128:61-128:62" + }, + { + "token": "RPAREN", + "loc": "128:62-128:63" + }, + { + "token": "RPAREN", + "loc": "128:63-128:64" + }, + { + "token": "RPAREN", + "loc": "128:64-128:65" + }, + { + "token": "NEWLINE", + "loc": "128:65-128:66" + }, + { + "token": "RBRACE", + "loc": "129:1-129:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "129:2-129:2" + }, + { + "token": "NEWLINE", + "loc": "129:2-129:3" }, { "token": "EOF", - "loc": "114:1-114:1" + "loc": "130:1-130:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.json b/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.json index e0e810c2..49a6792d 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.json @@ -1087,7 +1087,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, @@ -1641,7 +1641,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt b/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt index 9d0f8de0..0eb0b840 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt @@ -7,12 +7,12 @@ async fn async_id(x : Int) -> Int noraise { fn main { let arr1 : Array[() -> Unit] = [] - arr1..push(() => println(1))..push(() => println(2)) + arr1..push(() => println(1)).push(() => println(2)) for f in arr1 { f() } let arr2 : Array[async () -> Unit noraise] = [] - arr2..push(() => println(async_id(1)))..push(() => println(async_id(2))) + arr2..push(() => println(async_id(1))).push(() => println(async_id(2))) for f in arr2 { run_async(f) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt.tokens.json index 29c671dd..87cbe019 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_fn_in_array.mbt.tokens.json @@ -510,69 +510,65 @@ "token": "RPAREN", "loc": "10:30-10:31" }, - { - "token": "DOTDOT", - "loc": "10:31-10:33" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "push" ], - "loc": "10:33-10:37" + "loc": "10:32-10:36" }, { "token": "LPAREN", - "loc": "10:37-10:38" + "loc": "10:36-10:37" }, { "token": "LPAREN", - "loc": "10:38-10:39" + "loc": "10:37-10:38" }, { "token": "RPAREN", - "loc": "10:39-10:40" + "loc": "10:38-10:39" }, { "token": "FAT_ARROW", - "loc": "10:41-10:43" + "loc": "10:40-10:42" }, { "token": [ "LIDENT", "println" ], - "loc": "10:44-10:51" + "loc": "10:43-10:50" }, { "token": "LPAREN", - "loc": "10:51-10:52" + "loc": "10:50-10:51" }, { "token": [ "INT", "2" ], - "loc": "10:52-10:53" + "loc": "10:51-10:52" }, { "token": "RPAREN", - "loc": "10:53-10:54" + "loc": "10:52-10:53" }, { "token": "RPAREN", - "loc": "10:54-10:55" + "loc": "10:53-10:54" }, { "token": [ "SEMI", false ], - "loc": "10:55-10:55" + "loc": "10:54-10:54" }, { "token": "NEWLINE", - "loc": "10:55-10:56" + "loc": "10:54-10:55" }, { "token": "FOR", @@ -793,84 +789,80 @@ "token": "RPAREN", "loc": "15:40-15:41" }, - { - "token": "DOTDOT", - "loc": "15:41-15:43" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "push" ], - "loc": "15:43-15:47" + "loc": "15:42-15:46" }, { "token": "LPAREN", - "loc": "15:47-15:48" + "loc": "15:46-15:47" }, { "token": "LPAREN", - "loc": "15:48-15:49" + "loc": "15:47-15:48" }, { "token": "RPAREN", - "loc": "15:49-15:50" + "loc": "15:48-15:49" }, { "token": "FAT_ARROW", - "loc": "15:51-15:53" + "loc": "15:50-15:52" }, { "token": [ "LIDENT", "println" ], - "loc": "15:54-15:61" + "loc": "15:53-15:60" }, { "token": "LPAREN", - "loc": "15:61-15:62" + "loc": "15:60-15:61" }, { "token": [ "LIDENT", "async_id" ], - "loc": "15:62-15:70" + "loc": "15:61-15:69" }, { "token": "LPAREN", - "loc": "15:70-15:71" + "loc": "15:69-15:70" }, { "token": [ "INT", "2" ], - "loc": "15:71-15:72" + "loc": "15:70-15:71" }, { "token": "RPAREN", - "loc": "15:72-15:73" + "loc": "15:71-15:72" }, { "token": "RPAREN", - "loc": "15:73-15:74" + "loc": "15:72-15:73" }, { "token": "RPAREN", - "loc": "15:74-15:75" + "loc": "15:73-15:74" }, { "token": [ "SEMI", false ], - "loc": "15:75-15:75" + "loc": "15:74-15:74" }, { "token": "NEWLINE", - "loc": "15:75-15:76" + "loc": "15:74-15:75" }, { "token": "FOR", diff --git a/test/sync_test/__snapshot__/pipeline_test_async_for.json b/test/sync_test/__snapshot__/pipeline_test_async_for.json index fd06f299..98a6942a 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_for.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_for.json @@ -1580,184 +1580,195 @@ "children": [] }, "body": { - "kind": "Expr::ForEach", + "kind": "Expr::Group", "loc": null, "children": { - "binders": { - "kind": "Expr::ForEach::BinderList", - "loc": null, - "children": [ - { - "kind": "Binder", - "loc": null, - "children": { - "name": "k" - } - }, - { - "kind": "Binder", - "loc": null, - "children": { - "name": "v" - } - } - ] - }, "expr": { - "kind": "Expr::Ident", + "kind": "Expr::ForEach", "loc": null, "children": { - "id": { - "kind": "Var", + "binders": { + "kind": "Expr::ForEach::BinderList", + "loc": null, + "children": [ + { + "kind": "Binder", + "loc": null, + "children": { + "name": "k" + } + }, + { + "kind": "Binder", + "loc": null, + "children": { + "name": "v" + } + } + ] + }, + "expr": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "map" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "map" + } + } } } } - } - } - }, - "body": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + }, + "body": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::Apply", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Interp", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "from map: " - } - }, - { - "kind": "InterpElem::Source", + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "source": "k" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": " => " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "v" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "from map: " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "k" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": " => " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "v" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } - } - } - ] - }, - "last_expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + ] + }, + "last_expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "pause" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "pause" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} } } - } + }, + "else_block": null, + "label": null } }, - "else_block": null, - "label": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -1767,7 +1778,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -1838,163 +1849,174 @@ "children": [] }, "body": { - "kind": "Expr::ForEach", + "kind": "Expr::Group", "loc": null, "children": { - "binders": { - "kind": "Expr::ForEach::BinderList", - "loc": null, - "children": [ - { - "kind": "Binder", - "loc": null, - "children": { - "name": "c" - } - } - ] - }, "expr": { - "kind": "Expr::Ident", + "kind": "Expr::ForEach", "loc": null, "children": { - "id": { - "kind": "Var", + "binders": { + "kind": "Expr::ForEach::BinderList", + "loc": null, + "children": [ + { + "kind": "Binder", + "loc": null, + "children": { + "name": "c" + } + } + ] + }, + "expr": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "str" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } } } } - } - } - }, - "body": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + }, + "body": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::Apply", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Interp", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "from str: " - } - }, - { - "kind": "InterpElem::Source", + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "source": "c" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "from str: " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "c" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } - } - } - ] - }, - "last_expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + ] + }, + "last_expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "pause" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "pause" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} } } - } + }, + "else_block": null, + "label": null } }, - "else_block": null, - "label": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -2004,7 +2026,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_for.mbt b/test/sync_test/__snapshot__/pipeline_test_async_for.mbt index 9f000eb6..08cde492 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_for.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_for.mbt @@ -20,13 +20,13 @@ fn run_all() -> Unit { fn main { let map = { "x": 1, "y": 2, "z": 3 } let str = "字😅↑" - spawn(fn() { + spawn(() => { for k, v in map { println("from map: \{k} => \{v}") pause() } }) - spawn(fn() { + spawn(() => { for c in str { println("from str: \{c}") pause() diff --git a/test/sync_test/__snapshot__/pipeline_test_async_for.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_for.mbt.tokens.json index ef55efcf..856a9afd 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_for.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_for.mbt.tokens.json @@ -914,25 +914,25 @@ "token": "LPAREN", "loc": "23:8-23:9" }, - { - "token": "FN", - "loc": "23:9-23:11" - }, { "token": "LPAREN", - "loc": "23:11-23:12" + "loc": "23:9-23:10" }, { "token": "RPAREN", - "loc": "23:12-23:13" + "loc": "23:10-23:11" + }, + { + "token": "FAT_ARROW", + "loc": "23:12-23:14" }, { "token": "LBRACE", - "loc": "23:14-23:15" + "loc": "23:15-23:16" }, { "token": "NEWLINE", - "loc": "23:15-23:16" + "loc": "23:16-23:17" }, { "token": "FOR", @@ -1065,25 +1065,25 @@ "token": "LPAREN", "loc": "29:8-29:9" }, - { - "token": "FN", - "loc": "29:9-29:11" - }, { "token": "LPAREN", - "loc": "29:11-29:12" + "loc": "29:9-29:10" }, { "token": "RPAREN", - "loc": "29:12-29:13" + "loc": "29:10-29:11" + }, + { + "token": "FAT_ARROW", + "loc": "29:12-29:14" }, { "token": "LBRACE", - "loc": "29:14-29:15" + "loc": "29:15-29:16" }, { "token": "NEWLINE", - "loc": "29:15-29:16" + "loc": "29:16-29:17" }, { "token": "FOR", diff --git a/test/sync_test/__snapshot__/pipeline_test_async_loop.json b/test/sync_test/__snapshot__/pipeline_test_async_loop.json index a397e54d..3debc14b 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_loop.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_loop.json @@ -5356,139 +5356,150 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Apply", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "f" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "value": { - "kind": "Binder", + "pattern": { + "kind": "Pattern::Var", "loc": null, "children": { - "name": "err" + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } } - } - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + }, + "guard": null, + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "err" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } } - } - } - ] + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } }, - "catch_all": false, - "try_else": null, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -5498,7 +5509,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt b/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt index c65b3cde..786e9abe 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt @@ -124,7 +124,7 @@ fn main { run_async(f) } and run_err = fn (f : async () -> Unit raise Err) { - run(fn () { + run(() => { try f() catch { err => println(err) } }) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt.tokens.json index 610408a4..1e35745a 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_loop.mbt.tokens.json @@ -3701,17 +3701,17 @@ "token": "LPAREN", "loc": "127:8-127:9" }, - { - "token": "FN", - "loc": "127:9-127:11" - }, { "token": "LPAREN", - "loc": "127:12-127:13" + "loc": "127:9-127:10" }, { "token": "RPAREN", - "loc": "127:13-127:14" + "loc": "127:10-127:11" + }, + { + "token": "FAT_ARROW", + "loc": "127:12-127:14" }, { "token": "LBRACE", diff --git a/test/sync_test/__snapshot__/pipeline_test_async_misc.json b/test/sync_test/__snapshot__/pipeline_test_async_misc.json index 3b590afc..a51a023d 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_misc.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_misc.json @@ -496,7 +496,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -1016,7 +1016,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -2062,7 +2062,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt b/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt index f0d21822..eb3e7aae 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt @@ -7,9 +7,7 @@ async fn tuple() -> (Int, String) noraise { } fn init { - run_async(fn () { - println(tuple()) - }) + run_async(() => println(tuple())) } async fn switch_constant(x : Int) -> Unit noraise { @@ -21,7 +19,7 @@ async fn switch_constant(x : Int) -> Unit noraise { } fn init { - run_async(fn () { switch_constant(42) }) + run_async(() => switch_constant(42)) } suberror Err @@ -49,5 +47,5 @@ async fn join_in_loop_without_async(input : Array[Int]) -> Unit noraise { } fn init { - run_async(fn () { join_in_loop_without_async([ 1, 2, 3 ]) }) + run_async(() => join_in_loop_without_async([ 1, 2, 3 ])) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt.tokens.json index d9fc2d56..32fa152f 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_misc.mbt.tokens.json @@ -262,1038 +262,1006 @@ "token": "LPAREN", "loc": "10:12-10:13" }, - { - "token": "FN", - "loc": "10:13-10:15" - }, { "token": "LPAREN", - "loc": "10:16-10:17" + "loc": "10:13-10:14" }, { "token": "RPAREN", - "loc": "10:17-10:18" - }, - { - "token": "LBRACE", - "loc": "10:19-10:20" + "loc": "10:14-10:15" }, { - "token": "NEWLINE", - "loc": "10:20-10:21" + "token": "FAT_ARROW", + "loc": "10:16-10:18" }, { "token": [ "LIDENT", "println" ], - "loc": "11:5-11:12" + "loc": "10:19-10:26" }, { "token": "LPAREN", - "loc": "11:12-11:13" + "loc": "10:26-10:27" }, { "token": [ "LIDENT", "tuple" ], - "loc": "11:13-11:18" + "loc": "10:27-10:32" }, { "token": "LPAREN", - "loc": "11:18-11:19" + "loc": "10:32-10:33" }, { "token": "RPAREN", - "loc": "11:19-11:20" + "loc": "10:33-10:34" }, { "token": "RPAREN", - "loc": "11:20-11:21" - }, - { - "token": "NEWLINE", - "loc": "11:21-11:22" - }, - { - "token": "RBRACE", - "loc": "12:3-12:4" + "loc": "10:34-10:35" }, { "token": "RPAREN", - "loc": "12:4-12:5" + "loc": "10:35-10:36" }, { "token": "NEWLINE", - "loc": "12:5-12:6" + "loc": "10:36-10:37" }, { "token": "RBRACE", - "loc": "13:1-13:2" + "loc": "11:1-11:2" }, { "token": [ "SEMI", false ], - "loc": "13:2-13:2" + "loc": "11:2-11:2" }, { "token": "NEWLINE", - "loc": "13:2-13:3" + "loc": "11:2-11:3" }, { "token": "NEWLINE", - "loc": "14:1-14:2" + "loc": "12:1-12:2" }, { "token": "ASYNC", - "loc": "15:1-15:6" + "loc": "13:1-13:6" }, { "token": "FN", - "loc": "15:7-15:9" + "loc": "13:7-13:9" }, { "token": [ "LIDENT", "switch_constant" ], - "loc": "15:10-15:25" + "loc": "13:10-13:25" }, { "token": "LPAREN", - "loc": "15:25-15:26" + "loc": "13:25-13:26" }, { "token": [ "LIDENT", "x" ], - "loc": "15:26-15:27" + "loc": "13:26-13:27" }, { "token": "COLON", - "loc": "15:28-15:29" + "loc": "13:28-13:29" }, { "token": [ "UIDENT", "Int" ], - "loc": "15:30-15:33" + "loc": "13:30-13:33" }, { "token": "RPAREN", - "loc": "15:33-15:34" + "loc": "13:33-13:34" }, { "token": "THIN_ARROW", - "loc": "15:35-15:37" + "loc": "13:35-13:37" }, { "token": [ "UIDENT", "Unit" ], - "loc": "15:38-15:42" + "loc": "13:38-13:42" }, { "token": "NORAISE", - "loc": "15:43-15:50" + "loc": "13:43-13:50" }, { "token": "LBRACE", - "loc": "15:51-15:52" + "loc": "13:51-13:52" }, { "token": "NEWLINE", - "loc": "15:52-15:53" + "loc": "13:52-13:53" }, { "token": "MATCH", - "loc": "16:3-16:8" + "loc": "14:3-14:8" }, { "token": [ "LIDENT", "x" ], - "loc": "16:9-16:10" + "loc": "14:9-14:10" }, { "token": "LBRACE", - "loc": "16:11-16:12" + "loc": "14:11-14:12" }, { "token": "NEWLINE", - "loc": "16:12-16:13" + "loc": "14:12-14:13" }, { "token": [ "INT", "42" ], - "loc": "17:5-17:7" + "loc": "15:5-15:7" }, { "token": "FAT_ARROW", - "loc": "17:8-17:10" + "loc": "15:8-15:10" }, { "token": [ "LIDENT", "println" ], - "loc": "17:11-17:18" + "loc": "15:11-15:18" }, { "token": "LPAREN", - "loc": "17:18-17:19" + "loc": "15:18-15:19" }, { "token": [ "STRING", "ans" ], - "loc": "17:19-17:24" + "loc": "15:19-15:24" }, { "token": "RPAREN", - "loc": "17:24-17:25" + "loc": "15:24-15:25" }, { "token": [ "SEMI", false ], - "loc": "17:25-17:25" + "loc": "15:25-15:25" }, { "token": "NEWLINE", - "loc": "17:25-17:26" + "loc": "15:25-15:26" }, { "token": "UNDERSCORE", - "loc": "18:5-18:6" + "loc": "16:5-16:6" }, { "token": "FAT_ARROW", - "loc": "18:7-18:9" + "loc": "16:7-16:9" }, { "token": "LPAREN", - "loc": "18:10-18:11" + "loc": "16:10-16:11" }, { "token": "RPAREN", - "loc": "18:11-18:12" + "loc": "16:11-16:12" }, { "token": "NEWLINE", - "loc": "18:12-18:13" + "loc": "16:12-16:13" }, { "token": "RBRACE", - "loc": "19:3-19:4" + "loc": "17:3-17:4" }, { "token": [ "SEMI", false ], - "loc": "19:4-19:4" + "loc": "17:4-17:4" }, { "token": "NEWLINE", - "loc": "19:4-19:5" + "loc": "17:4-17:5" }, { "token": [ "LIDENT", "println" ], - "loc": "20:3-20:10" + "loc": "18:3-18:10" }, { "token": "LPAREN", - "loc": "20:10-20:11" + "loc": "18:10-18:11" }, { "token": [ "STRING", "after" ], - "loc": "20:11-20:18" + "loc": "18:11-18:18" }, { "token": "RPAREN", - "loc": "20:18-20:19" + "loc": "18:18-18:19" }, { "token": "NEWLINE", - "loc": "20:19-20:20" + "loc": "18:19-18:20" }, { "token": "RBRACE", - "loc": "21:1-21:2" + "loc": "19:1-19:2" }, { "token": [ "SEMI", false ], - "loc": "21:2-21:2" + "loc": "19:2-19:2" }, { "token": "NEWLINE", - "loc": "21:2-21:3" + "loc": "19:2-19:3" }, { "token": "NEWLINE", - "loc": "22:1-22:2" + "loc": "20:1-20:2" }, { "token": "FN", - "loc": "23:1-23:3" + "loc": "21:1-21:3" }, { "token": [ "LIDENT", "init" ], - "loc": "23:4-23:8" + "loc": "21:4-21:8" }, { "token": "LBRACE", - "loc": "23:9-23:10" + "loc": "21:9-21:10" }, { "token": "NEWLINE", - "loc": "23:10-23:11" + "loc": "21:10-21:11" }, { "token": [ "LIDENT", "run_async" ], - "loc": "24:3-24:12" + "loc": "22:3-22:12" }, { "token": "LPAREN", - "loc": "24:12-24:13" - }, - { - "token": "FN", - "loc": "24:13-24:15" + "loc": "22:12-22:13" }, { "token": "LPAREN", - "loc": "24:16-24:17" + "loc": "22:13-22:14" }, { "token": "RPAREN", - "loc": "24:17-24:18" + "loc": "22:14-22:15" }, { - "token": "LBRACE", - "loc": "24:19-24:20" + "token": "FAT_ARROW", + "loc": "22:16-22:18" }, { "token": [ "LIDENT", "switch_constant" ], - "loc": "24:21-24:36" + "loc": "22:19-22:34" }, { "token": "LPAREN", - "loc": "24:36-24:37" + "loc": "22:34-22:35" }, { "token": [ "INT", "42" ], - "loc": "24:37-24:39" + "loc": "22:35-22:37" }, { "token": "RPAREN", - "loc": "24:39-24:40" - }, - { - "token": "RBRACE", - "loc": "24:41-24:42" + "loc": "22:37-22:38" }, { "token": "RPAREN", - "loc": "24:42-24:43" + "loc": "22:38-22:39" }, { "token": "NEWLINE", - "loc": "24:43-24:44" + "loc": "22:39-22:40" }, { "token": "RBRACE", - "loc": "25:1-25:2" + "loc": "23:1-23:2" }, { "token": [ "SEMI", false ], - "loc": "25:2-25:2" + "loc": "23:2-23:2" }, { "token": "NEWLINE", - "loc": "25:2-25:3" + "loc": "23:2-23:3" }, { "token": "NEWLINE", - "loc": "26:1-26:2" + "loc": "24:1-24:2" }, { "token": "SUBERROR", - "loc": "27:1-27:9" + "loc": "25:1-25:9" }, { "token": [ "UIDENT", "Err" ], - "loc": "27:10-27:13" + "loc": "25:10-25:13" }, { "token": [ "SEMI", false ], - "loc": "27:13-27:13" + "loc": "25:13-25:13" }, { "token": "NEWLINE", - "loc": "27:13-27:14" + "loc": "25:13-25:14" }, { "token": "NEWLINE", - "loc": "28:1-28:2" + "loc": "26:1-26:2" }, { "token": "ASYNC", - "loc": "29:1-29:6" + "loc": "27:1-27:6" }, { "token": "FN", - "loc": "29:7-29:9" + "loc": "27:7-27:9" }, { "token": [ "LIDENT", "join_let" ], - "loc": "29:10-29:18" + "loc": "27:10-27:18" }, { "token": "LPAREN", - "loc": "29:18-29:19" + "loc": "27:18-27:19" }, { "token": "RPAREN", - "loc": "29:19-29:20" + "loc": "27:19-27:20" }, { "token": "THIN_ARROW", - "loc": "29:21-29:23" + "loc": "27:21-27:23" }, { "token": [ "UIDENT", "Unit" ], - "loc": "29:24-29:28" + "loc": "27:24-27:28" }, { "token": "NORAISE", - "loc": "29:29-29:36" + "loc": "27:29-27:36" }, { "token": "LBRACE", - "loc": "29:37-29:38" + "loc": "27:37-27:38" }, { "token": "NEWLINE", - "loc": "29:38-29:39" + "loc": "27:38-27:39" }, { "token": "TRY", - "loc": "30:3-30:6" + "loc": "28:3-28:6" }, { "token": "LBRACE", - "loc": "30:7-30:8" + "loc": "28:7-28:8" }, { "token": "NEWLINE", - "loc": "30:8-30:9" + "loc": "28:8-28:9" }, { "token": "RAISE", - "loc": "31:5-31:10" + "loc": "29:5-29:10" }, { "token": [ "UIDENT", "Err" ], - "loc": "31:11-31:14" + "loc": "29:11-29:14" }, { "token": "NEWLINE", - "loc": "31:14-31:15" + "loc": "29:14-29:15" }, { "token": "RBRACE", - "loc": "32:3-32:4" + "loc": "30:3-30:4" }, { "token": "CATCH", - "loc": "32:5-32:10" + "loc": "30:5-30:10" }, { "token": "LBRACE", - "loc": "32:11-32:12" + "loc": "30:11-30:12" }, { "token": "NEWLINE", - "loc": "32:12-32:13" + "loc": "30:12-30:13" }, { "token": [ "UIDENT", "Err" ], - "loc": "33:5-33:8" + "loc": "31:5-31:8" }, { "token": "FAT_ARROW", - "loc": "33:9-33:11" + "loc": "31:9-31:11" }, { "token": "LPAREN", - "loc": "33:12-33:13" + "loc": "31:12-31:13" }, { "token": "RPAREN", - "loc": "33:13-33:14" + "loc": "31:13-31:14" }, { "token": "NEWLINE", - "loc": "33:14-33:15" + "loc": "31:14-31:15" }, { "token": "RBRACE", - "loc": "34:3-34:4" + "loc": "32:3-32:4" }, { "token": [ "SEMI", false ], - "loc": "34:4-34:4" + "loc": "32:4-32:4" }, { "token": "NEWLINE", - "loc": "34:4-34:5" + "loc": "32:4-32:5" }, { "token": [ "LIDENT", "println" ], - "loc": "35:3-35:10" + "loc": "33:3-33:10" }, { "token": "LPAREN", - "loc": "35:10-35:11" + "loc": "33:10-33:11" }, { "token": [ "STRING", "join let" ], - "loc": "35:11-35:21" + "loc": "33:11-33:21" }, { "token": "RPAREN", - "loc": "35:21-35:22" + "loc": "33:21-33:22" }, { "token": "NEWLINE", - "loc": "35:22-35:23" + "loc": "33:22-33:23" }, { "token": "RBRACE", - "loc": "36:1-36:2" + "loc": "34:1-34:2" }, { "token": [ "SEMI", false ], - "loc": "36:2-36:2" + "loc": "34:2-34:2" }, { "token": "NEWLINE", - "loc": "36:2-36:3" + "loc": "34:2-34:3" }, { "token": "NEWLINE", - "loc": "37:1-37:2" + "loc": "35:1-35:2" }, { "token": "FN", - "loc": "38:1-38:3" + "loc": "36:1-36:3" }, { "token": [ "LIDENT", "init" ], - "loc": "38:4-38:8" + "loc": "36:4-36:8" }, { "token": "LBRACE", - "loc": "38:9-38:10" + "loc": "36:9-36:10" }, { "token": "NEWLINE", - "loc": "38:10-38:11" + "loc": "36:10-36:11" }, { "token": [ "LIDENT", "run_async" ], - "loc": "39:3-39:12" + "loc": "37:3-37:12" }, { "token": "LPAREN", - "loc": "39:12-39:13" + "loc": "37:12-37:13" }, { "token": [ "LIDENT", "join_let" ], - "loc": "39:13-39:21" + "loc": "37:13-37:21" }, { "token": "RPAREN", - "loc": "39:21-39:22" + "loc": "37:21-37:22" }, { "token": "NEWLINE", - "loc": "39:22-39:23" + "loc": "37:22-37:23" }, { "token": "RBRACE", - "loc": "40:1-40:2" + "loc": "38:1-38:2" }, { "token": [ "SEMI", false ], - "loc": "40:2-40:2" + "loc": "38:2-38:2" }, { "token": "NEWLINE", - "loc": "40:2-40:3" + "loc": "38:2-38:3" }, { "token": "NEWLINE", - "loc": "41:1-41:2" + "loc": "39:1-39:2" }, { "token": "ASYNC", - "loc": "42:1-42:6" + "loc": "40:1-40:6" }, { "token": "FN", - "loc": "42:7-42:9" + "loc": "40:7-40:9" }, { "token": [ "LIDENT", "join_in_loop_without_async" ], - "loc": "42:10-42:36" + "loc": "40:10-40:36" }, { "token": "LPAREN", - "loc": "42:36-42:37" + "loc": "40:36-40:37" }, { "token": [ "LIDENT", "input" ], - "loc": "42:37-42:42" + "loc": "40:37-40:42" }, { "token": "COLON", - "loc": "42:43-42:44" + "loc": "40:43-40:44" }, { "token": [ "UIDENT", "Array" ], - "loc": "42:45-42:50" + "loc": "40:45-40:50" }, { "token": "LBRACKET", - "loc": "42:50-42:51" + "loc": "40:50-40:51" }, { "token": [ "UIDENT", "Int" ], - "loc": "42:51-42:54" + "loc": "40:51-40:54" }, { "token": "RBRACKET", - "loc": "42:54-42:55" + "loc": "40:54-40:55" }, { "token": "RPAREN", - "loc": "42:55-42:56" + "loc": "40:55-40:56" }, { "token": "THIN_ARROW", - "loc": "42:57-42:59" + "loc": "40:57-40:59" }, { "token": [ "UIDENT", "Unit" ], - "loc": "42:60-42:64" + "loc": "40:60-40:64" }, { "token": "NORAISE", - "loc": "42:65-42:72" + "loc": "40:65-40:72" }, { "token": "LBRACE", - "loc": "42:73-42:74" + "loc": "40:73-40:74" }, { "token": "NEWLINE", - "loc": "42:74-42:75" + "loc": "40:74-40:75" }, { "token": "FOR", - "loc": "43:3-43:6" + "loc": "41:3-41:6" }, { "token": [ "LIDENT", "x" ], - "loc": "43:7-43:8" + "loc": "41:7-41:8" }, { "token": "IN", - "loc": "43:9-43:11" + "loc": "41:9-41:11" }, { "token": [ "LIDENT", "input" ], - "loc": "43:12-43:17" + "loc": "41:12-41:17" }, { "token": "LBRACE", - "loc": "43:18-43:19" + "loc": "41:18-41:19" }, { "token": "NEWLINE", - "loc": "43:19-43:20" + "loc": "41:19-41:20" }, { "token": "MATCH", - "loc": "44:5-44:10" + "loc": "42:5-42:10" }, { "token": [ "LIDENT", "x" ], - "loc": "44:11-44:12" + "loc": "42:11-42:12" }, { "token": "LBRACE", - "loc": "44:13-44:14" + "loc": "42:13-42:14" }, { "token": "NEWLINE", - "loc": "44:14-44:15" + "loc": "42:14-42:15" }, { "token": [ "INT", "4" ], - "loc": "45:7-45:8" + "loc": "43:7-43:8" }, { "token": "BAR", - "loc": "45:9-45:10" + "loc": "43:9-43:10" }, { "token": [ "INT", "2" ], - "loc": "45:11-45:12" + "loc": "43:11-43:12" }, { "token": "FAT_ARROW", - "loc": "45:13-45:15" + "loc": "43:13-43:15" }, { "token": [ "LIDENT", "println" ], - "loc": "45:16-45:23" + "loc": "43:16-43:23" }, { "token": "LPAREN", - "loc": "45:23-45:24" + "loc": "43:23-43:24" }, { "token": [ "STRING", "42" ], - "loc": "45:24-45:28" + "loc": "43:24-43:28" }, { "token": "RPAREN", - "loc": "45:28-45:29" + "loc": "43:28-43:29" }, { "token": [ "SEMI", false ], - "loc": "45:29-45:29" + "loc": "43:29-43:29" }, { "token": "NEWLINE", - "loc": "45:29-45:30" + "loc": "43:29-43:30" }, { "token": "UNDERSCORE", - "loc": "46:7-46:8" + "loc": "44:7-44:8" }, { "token": "FAT_ARROW", - "loc": "46:9-46:11" + "loc": "44:9-44:11" }, { "token": [ "LIDENT", "println" ], - "loc": "46:12-46:19" + "loc": "44:12-44:19" }, { "token": "LPAREN", - "loc": "46:19-46:20" + "loc": "44:19-44:20" }, { "token": [ "STRING", "other" ], - "loc": "46:20-46:27" + "loc": "44:20-44:27" }, { "token": "RPAREN", - "loc": "46:27-46:28" + "loc": "44:27-44:28" }, { "token": "NEWLINE", - "loc": "46:28-46:29" + "loc": "44:28-44:29" }, { "token": "RBRACE", - "loc": "47:5-47:6" + "loc": "45:5-45:6" }, { "token": "NEWLINE", - "loc": "47:6-47:7" + "loc": "45:6-45:7" }, { "token": "RBRACE", - "loc": "48:3-48:4" + "loc": "46:3-46:4" }, { "token": "NEWLINE", - "loc": "48:4-48:5" + "loc": "46:4-46:5" }, { "token": "RBRACE", - "loc": "49:1-49:2" + "loc": "47:1-47:2" }, { "token": [ "SEMI", false ], - "loc": "49:2-49:2" + "loc": "47:2-47:2" }, { "token": "NEWLINE", - "loc": "49:2-49:3" + "loc": "47:2-47:3" }, { "token": "NEWLINE", - "loc": "50:1-50:2" + "loc": "48:1-48:2" }, { "token": "FN", - "loc": "51:1-51:3" + "loc": "49:1-49:3" }, { "token": [ "LIDENT", "init" ], - "loc": "51:4-51:8" + "loc": "49:4-49:8" }, { "token": "LBRACE", - "loc": "51:9-51:10" + "loc": "49:9-49:10" }, { "token": "NEWLINE", - "loc": "51:10-51:11" + "loc": "49:10-49:11" }, { "token": [ "LIDENT", "run_async" ], - "loc": "52:3-52:12" + "loc": "50:3-50:12" }, { "token": "LPAREN", - "loc": "52:12-52:13" - }, - { - "token": "FN", - "loc": "52:13-52:15" + "loc": "50:12-50:13" }, { "token": "LPAREN", - "loc": "52:16-52:17" + "loc": "50:13-50:14" }, { "token": "RPAREN", - "loc": "52:17-52:18" + "loc": "50:14-50:15" }, { - "token": "LBRACE", - "loc": "52:19-52:20" + "token": "FAT_ARROW", + "loc": "50:16-50:18" }, { "token": [ "LIDENT", "join_in_loop_without_async" ], - "loc": "52:21-52:47" + "loc": "50:19-50:45" }, { "token": "LPAREN", - "loc": "52:47-52:48" + "loc": "50:45-50:46" }, { "token": "LBRACKET", - "loc": "52:48-52:49" + "loc": "50:46-50:47" }, { "token": [ "INT", "1" ], - "loc": "52:50-52:51" + "loc": "50:48-50:49" }, { "token": "COMMA", - "loc": "52:51-52:52" + "loc": "50:49-50:50" }, { "token": [ "INT", "2" ], - "loc": "52:53-52:54" + "loc": "50:51-50:52" }, { "token": "COMMA", - "loc": "52:54-52:55" + "loc": "50:52-50:53" }, { "token": [ "INT", "3" ], - "loc": "52:56-52:57" + "loc": "50:54-50:55" }, { "token": "RBRACKET", - "loc": "52:58-52:59" + "loc": "50:56-50:57" }, { "token": "RPAREN", - "loc": "52:59-52:60" - }, - { - "token": "RBRACE", - "loc": "52:61-52:62" + "loc": "50:57-50:58" }, { "token": "RPAREN", - "loc": "52:62-52:63" + "loc": "50:58-50:59" }, { "token": "NEWLINE", - "loc": "52:63-52:64" + "loc": "50:59-50:60" }, { "token": "RBRACE", - "loc": "53:1-53:2" + "loc": "51:1-51:2" }, { "token": [ "SEMI", false ], - "loc": "53:2-53:2" + "loc": "51:2-51:2" }, { "token": "NEWLINE", - "loc": "53:2-53:3" + "loc": "51:2-51:3" }, { "token": "EOF", - "loc": "54:1-54:1" + "loc": "52:1-52:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_async_nested.json b/test/sync_test/__snapshot__/pipeline_test_async_nested.json index 4244e170..426c2570 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_nested.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_nested.json @@ -2551,41 +2551,110 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Apply", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err_in_pipe_lhs" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, "children": [ { - "kind": "Argument", + "kind": "Case", "loc": null, "children": { - "value": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "guard": null, + "body": { "kind": "Expr::Apply", "loc": null, "children": { @@ -2601,7 +2670,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "err_in_pipe_lhs" + "value": "panic" } } } @@ -2619,79 +2688,21 @@ "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } } ] }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } + "catch_all": false, + "try_else": null, + "has_try": true } }, - "catch": { - "kind": "Expr::Try::CaseList", + "group": { + "kind": "Group::Brace", "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "panic" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - ] - }, - "catch_all": false, - "try_else": null, - "has_try": true + "children": {} + } } }, "return_type": null, @@ -2701,7 +2712,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt b/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt index 2535d367..88ae2626 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt @@ -41,7 +41,7 @@ async fn err_in_pipe_lhs() -> Int raise { } fn init { - run_async(fn () { + run_async(() => { try println(err_in_pipe_lhs()) catch { _ => panic() } }) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt.tokens.json index a07341f3..6acb3360 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_nested.mbt.tokens.json @@ -1402,17 +1402,17 @@ "token": "LPAREN", "loc": "44:12-44:13" }, - { - "token": "FN", - "loc": "44:13-44:15" - }, { "token": "LPAREN", - "loc": "44:16-44:17" + "loc": "44:13-44:14" }, { "token": "RPAREN", - "loc": "44:17-44:18" + "loc": "44:14-44:15" + }, + { + "token": "FAT_ARROW", + "loc": "44:16-44:18" }, { "token": "LBRACE", diff --git a/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.json b/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.json index 4648acff..be98c19f 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.json @@ -1052,7 +1052,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -1338,7 +1338,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt b/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt index b1858402..6a9c6e3d 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt @@ -12,12 +12,10 @@ async fn worker() -> Int noraise { } async fn f() -> Unit noraise { - spawn(fn () { println(worker()) }) + spawn(() => println(worker())) println(worker() + 1) } fn init { - spawn(fn () { - f() - }) + spawn(() => f()) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt.tokens.json index a0a903d4..9ea97d61 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_nested_fn.mbt.tokens.json @@ -543,70 +543,62 @@ "token": "LPAREN", "loc": "15:8-15:9" }, - { - "token": "FN", - "loc": "15:9-15:11" - }, { "token": "LPAREN", - "loc": "15:12-15:13" + "loc": "15:9-15:10" }, { "token": "RPAREN", - "loc": "15:13-15:14" + "loc": "15:10-15:11" }, { - "token": "LBRACE", - "loc": "15:15-15:16" + "token": "FAT_ARROW", + "loc": "15:12-15:14" }, { "token": [ "LIDENT", "println" ], - "loc": "15:17-15:24" + "loc": "15:15-15:22" }, { "token": "LPAREN", - "loc": "15:24-15:25" + "loc": "15:22-15:23" }, { "token": [ "LIDENT", "worker" ], - "loc": "15:25-15:31" + "loc": "15:23-15:29" }, { "token": "LPAREN", - "loc": "15:31-15:32" + "loc": "15:29-15:30" }, { "token": "RPAREN", - "loc": "15:32-15:33" + "loc": "15:30-15:31" }, { "token": "RPAREN", - "loc": "15:33-15:34" - }, - { - "token": "RBRACE", - "loc": "15:35-15:36" + "loc": "15:31-15:32" }, { "token": "RPAREN", - "loc": "15:36-15:37" + "loc": "15:32-15:33" }, { "token": [ "SEMI", false ], - "loc": "15:37-15:37" + "loc": "15:33-15:33" }, { "token": "NEWLINE", - "loc": "15:37-15:38" + "loc": "15:33-15:34" }, { "token": [ @@ -702,74 +694,58 @@ "token": "LPAREN", "loc": "20:8-20:9" }, - { - "token": "FN", - "loc": "20:9-20:11" - }, { "token": "LPAREN", - "loc": "20:12-20:13" + "loc": "20:9-20:10" }, { "token": "RPAREN", - "loc": "20:13-20:14" - }, - { - "token": "LBRACE", - "loc": "20:15-20:16" + "loc": "20:10-20:11" }, { - "token": "NEWLINE", - "loc": "20:16-20:17" + "token": "FAT_ARROW", + "loc": "20:12-20:14" }, { "token": [ "LIDENT", "f" ], - "loc": "21:5-21:6" + "loc": "20:15-20:16" }, { "token": "LPAREN", - "loc": "21:6-21:7" + "loc": "20:16-20:17" }, { "token": "RPAREN", - "loc": "21:7-21:8" - }, - { - "token": "NEWLINE", - "loc": "21:8-21:9" - }, - { - "token": "RBRACE", - "loc": "22:3-22:4" + "loc": "20:17-20:18" }, { "token": "RPAREN", - "loc": "22:4-22:5" + "loc": "20:18-20:19" }, { "token": "NEWLINE", - "loc": "22:5-22:6" + "loc": "20:19-20:20" }, { "token": "RBRACE", - "loc": "23:1-23:2" + "loc": "21:1-21:2" }, { "token": [ "SEMI", false ], - "loc": "23:2-23:2" + "loc": "21:2-21:2" }, { "token": "NEWLINE", - "loc": "23:2-23:3" + "loc": "21:2-21:3" }, { "token": "EOF", - "loc": "24:1-24:1" + "loc": "22:1-22:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_async_question.json b/test/sync_test/__snapshot__/pipeline_test_async_question.json index b5706d45..9ed5de45 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_question.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_question.json @@ -1211,7 +1211,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -1408,7 +1408,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_question.mbt b/test/sync_test/__snapshot__/pipeline_test_async_question.mbt index deda8f18..9e8f0c10 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_question.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_question.mbt @@ -13,10 +13,6 @@ async fn f(c : Bool) -> Int raise Err { } fn main { - run_async(fn () { - println(try? f(true)) - }) - run_async(fn () { - println(try? f(false)) - }) + run_async(() => println(try? f(true))) + run_async(() => println(try? f(false))) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_question.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_question.mbt.tokens.json index facc2487..0c7b4fab 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_question.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_question.mbt.tokens.json @@ -600,189 +600,157 @@ "token": "LPAREN", "loc": "16:12-16:13" }, - { - "token": "FN", - "loc": "16:13-16:15" - }, { "token": "LPAREN", - "loc": "16:16-16:17" + "loc": "16:13-16:14" }, { "token": "RPAREN", - "loc": "16:17-16:18" - }, - { - "token": "LBRACE", - "loc": "16:19-16:20" + "loc": "16:14-16:15" }, { - "token": "NEWLINE", - "loc": "16:20-16:21" + "token": "FAT_ARROW", + "loc": "16:16-16:18" }, { "token": [ "LIDENT", "println" ], - "loc": "17:5-17:12" + "loc": "16:19-16:26" }, { "token": "LPAREN", - "loc": "17:12-17:13" + "loc": "16:26-16:27" }, { "token": "TRY_QUESTION", - "loc": "17:13-17:17" + "loc": "16:27-16:31" }, { "token": [ "LIDENT", "f" ], - "loc": "17:18-17:19" + "loc": "16:32-16:33" }, { "token": "LPAREN", - "loc": "17:19-17:20" + "loc": "16:33-16:34" }, { "token": "TRUE", - "loc": "17:20-17:24" + "loc": "16:34-16:38" }, { "token": "RPAREN", - "loc": "17:24-17:25" + "loc": "16:38-16:39" }, { "token": "RPAREN", - "loc": "17:25-17:26" - }, - { - "token": "NEWLINE", - "loc": "17:26-17:27" - }, - { - "token": "RBRACE", - "loc": "18:3-18:4" + "loc": "16:39-16:40" }, { "token": "RPAREN", - "loc": "18:4-18:5" + "loc": "16:40-16:41" }, { "token": [ "SEMI", false ], - "loc": "18:5-18:5" + "loc": "16:41-16:41" }, { "token": "NEWLINE", - "loc": "18:5-18:6" + "loc": "16:41-16:42" }, { "token": [ "LIDENT", "run_async" ], - "loc": "19:3-19:12" + "loc": "17:3-17:12" }, { "token": "LPAREN", - "loc": "19:12-19:13" - }, - { - "token": "FN", - "loc": "19:13-19:15" + "loc": "17:12-17:13" }, { "token": "LPAREN", - "loc": "19:16-19:17" + "loc": "17:13-17:14" }, { "token": "RPAREN", - "loc": "19:17-19:18" + "loc": "17:14-17:15" }, { - "token": "LBRACE", - "loc": "19:19-19:20" - }, - { - "token": "NEWLINE", - "loc": "19:20-19:21" + "token": "FAT_ARROW", + "loc": "17:16-17:18" }, { "token": [ "LIDENT", "println" ], - "loc": "20:5-20:12" + "loc": "17:19-17:26" }, { "token": "LPAREN", - "loc": "20:12-20:13" + "loc": "17:26-17:27" }, { "token": "TRY_QUESTION", - "loc": "20:13-20:17" + "loc": "17:27-17:31" }, { "token": [ "LIDENT", "f" ], - "loc": "20:18-20:19" + "loc": "17:32-17:33" }, { "token": "LPAREN", - "loc": "20:19-20:20" + "loc": "17:33-17:34" }, { "token": "FALSE", - "loc": "20:20-20:25" + "loc": "17:34-17:39" }, { "token": "RPAREN", - "loc": "20:25-20:26" + "loc": "17:39-17:40" }, { "token": "RPAREN", - "loc": "20:26-20:27" - }, - { - "token": "NEWLINE", - "loc": "20:27-20:28" - }, - { - "token": "RBRACE", - "loc": "21:3-21:4" + "loc": "17:40-17:41" }, { "token": "RPAREN", - "loc": "21:4-21:5" + "loc": "17:41-17:42" }, { "token": "NEWLINE", - "loc": "21:5-21:6" + "loc": "17:42-17:43" }, { "token": "RBRACE", - "loc": "22:1-22:2" + "loc": "18:1-18:2" }, { "token": [ "SEMI", false ], - "loc": "22:2-22:2" + "loc": "18:2-18:2" }, { "token": "NEWLINE", - "loc": "22:2-22:3" + "loc": "18:2-18:3" }, { "token": "EOF", - "loc": "23:1-23:1" + "loc": "19:1-19:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.json b/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.json index e6bc5f8b..60666779 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.json @@ -815,82 +815,93 @@ "children": [] }, "body": { - "kind": "Expr::Apply", + "kind": "Expr::Group", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Apply", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "value": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "f" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", + "kind": { + "kind": "ArgumentKind::Positional", "loc": null, "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", + "group": { + "kind": "Group::Brace", "loc": null, "children": {} } @@ -903,7 +914,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt b/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt index cf96b3d1..71ee1dc4 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt @@ -7,7 +7,7 @@ async fn f() -> Int noraise { async fn run_in_suspend() -> Unit noraise { suspend(fn (k) { - run_async(fn () { + run_async(() => { println(f()) }) k(()) diff --git a/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt.tokens.json index 31de1d56..d3418101 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_run_in_suspend.mbt.tokens.json @@ -436,17 +436,17 @@ "token": "LPAREN", "loc": "10:14-10:15" }, - { - "token": "FN", - "loc": "10:15-10:17" - }, { "token": "LPAREN", - "loc": "10:18-10:19" + "loc": "10:15-10:16" }, { "token": "RPAREN", - "loc": "10:19-10:20" + "loc": "10:16-10:17" + }, + { + "token": "FAT_ARROW", + "loc": "10:18-10:20" }, { "token": "LBRACE", diff --git a/test/sync_test/__snapshot__/pipeline_test_async_trait.json b/test/sync_test/__snapshot__/pipeline_test_async_trait.json index 789bf90e..8990ab0c 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_trait.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_trait.json @@ -4013,109 +4013,18 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Group", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "expr": { - "kind": "Expr::Apply", + "body": { + "kind": "Expr::Group", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "is_balanced_poly" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "input" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "err" - } - } - } - }, - "guard": null, - "body": { + "expr": { "kind": "Expr::Apply", "loc": null, "children": { @@ -4131,7 +4040,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "println" + "value": "is_balanced_poly" } } } @@ -4158,7 +4067,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "err" + "value": "input" } } } @@ -4180,91 +4089,193 @@ "children": {} } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } - } - ] - }, - "catch_all": false, - "try_else": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + }, + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Apply", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "pattern": { + "kind": "Pattern::Var", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Binder", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "name": "err" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } + } + } + } + ] + }, + "catch_all": false, + "try_else": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} }, - "args": { - "kind": "Expr::Apply::ArgumentList", + "guard": null, + "body": { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Constant", + "id": { + "kind": "Var", "loc": null, "children": { - "constant": { - "kind": "Constant::String", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "is balanced" + "value": "println" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "is balanced" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } } - } - } - ] + ] + }, + "has_try": true + } }, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -4274,7 +4285,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -6608,109 +6619,18 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Group", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "expr": { - "kind": "Expr::Apply", + "body": { + "kind": "Expr::Group", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "is_balanced_obj" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "input" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "err" - } - } - } - }, - "guard": null, - "body": { + "expr": { "kind": "Expr::Apply", "loc": null, "children": { @@ -6726,7 +6646,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "println" + "value": "is_balanced_obj" } } } @@ -6753,7 +6673,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "err" + "value": "input" } } } @@ -6775,91 +6695,193 @@ "children": {} } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } - } - ] - }, - "catch_all": false, - "try_else": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + }, + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Apply", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "pattern": { + "kind": "Pattern::Var", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Binder", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "name": "err" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } + } + } + } + ] + }, + "catch_all": false, + "try_else": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} }, - "args": { - "kind": "Expr::Apply::ArgumentList", + "guard": null, + "body": { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Constant", + "id": { + "kind": "Var", "loc": null, "children": { - "constant": { - "kind": "Constant::String", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "is balanced" + "value": "println" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "is balanced" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } } - } - } - ] + ] + }, + "has_try": true + } }, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -6869,7 +6891,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt b/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt index 470f4f9a..7035c69d 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt @@ -68,12 +68,12 @@ async fn[S : Stream] is_balanced_poly(s : S) -> Unit raise Err { fn run_poly(input_sequence : Array[String]) -> Unit { let input = Input::new() - run_async(fn () { + run_async(() => { try { is_balanced_poly(input) } catch { err => println(err) - } else { + } noraise { _ => println("is balanced") } }) @@ -85,7 +85,7 @@ fn run_poly(input_sequence : Array[String]) -> Unit { input.terminate() } catch { err => println("sender received error: \{err}") - } else { + } noraise { _ => println("input closed succesfully") } } @@ -113,12 +113,12 @@ async fn is_balanced_obj(s : &Stream) -> Unit raise Err { fn run_obj(input_sequence : Array[String]) -> Unit { let input = Input::new() - run_async(fn () { + run_async(() => { try { is_balanced_obj(input) } catch { err => println(err) - } else { + } noraise { _ => println("is balanced") } }) @@ -130,7 +130,7 @@ fn run_obj(input_sequence : Array[String]) -> Unit { input.terminate() } catch { err => println("sender received error: \{err}") - } else { + } noraise { _ => println("input closed succesfully") } } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt.tokens.json index b67e82e0..c183847d 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_trait.mbt.tokens.json @@ -2359,17 +2359,17 @@ "token": "LPAREN", "loc": "71:12-71:13" }, - { - "token": "FN", - "loc": "71:13-71:15" - }, { "token": "LPAREN", - "loc": "71:16-71:17" + "loc": "71:13-71:14" }, { "token": "RPAREN", - "loc": "71:17-71:18" + "loc": "71:14-71:15" + }, + { + "token": "FAT_ARROW", + "loc": "71:16-71:18" }, { "token": "LBRACE", @@ -2475,16 +2475,16 @@ "loc": "76:5-76:6" }, { - "token": "ELSE", - "loc": "76:7-76:11" + "token": "NORAISE", + "loc": "76:7-76:14" }, { "token": "LBRACE", - "loc": "76:12-76:13" + "loc": "76:15-76:16" }, { "token": "NEWLINE", - "loc": "76:13-76:14" + "loc": "76:16-76:17" }, { "token": "UNDERSCORE", @@ -2754,16 +2754,16 @@ "loc": "88:3-88:4" }, { - "token": "ELSE", - "loc": "88:5-88:9" + "token": "NORAISE", + "loc": "88:5-88:12" }, { "token": "LBRACE", - "loc": "88:10-88:11" + "loc": "88:13-88:14" }, { "token": "NEWLINE", - "loc": "88:11-88:12" + "loc": "88:14-88:15" }, { "token": "UNDERSCORE", @@ -3919,17 +3919,17 @@ "token": "LPAREN", "loc": "116:12-116:13" }, - { - "token": "FN", - "loc": "116:13-116:15" - }, { "token": "LPAREN", - "loc": "116:16-116:17" + "loc": "116:13-116:14" }, { "token": "RPAREN", - "loc": "116:17-116:18" + "loc": "116:14-116:15" + }, + { + "token": "FAT_ARROW", + "loc": "116:16-116:18" }, { "token": "LBRACE", @@ -4035,16 +4035,16 @@ "loc": "121:5-121:6" }, { - "token": "ELSE", - "loc": "121:7-121:11" + "token": "NORAISE", + "loc": "121:7-121:14" }, { "token": "LBRACE", - "loc": "121:12-121:13" + "loc": "121:15-121:16" }, { "token": "NEWLINE", - "loc": "121:13-121:14" + "loc": "121:16-121:17" }, { "token": "UNDERSCORE", @@ -4314,16 +4314,16 @@ "loc": "133:3-133:4" }, { - "token": "ELSE", - "loc": "133:5-133:9" + "token": "NORAISE", + "loc": "133:5-133:12" }, { "token": "LBRACE", - "loc": "133:10-133:11" + "loc": "133:13-133:14" }, { "token": "NEWLINE", - "loc": "133:11-133:12" + "loc": "133:14-133:15" }, { "token": "UNDERSCORE", diff --git a/test/sync_test/__snapshot__/pipeline_test_async_trait2.json b/test/sync_test/__snapshot__/pipeline_test_async_trait2.json index 25c8147d..30f68bbf 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_trait2.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_trait2.json @@ -878,95 +878,106 @@ "children": [] }, "body": { - "kind": "Expr::Pipe", + "kind": "Expr::Group", "loc": null, "children": { - "lhs": { - "kind": "Expr::Apply", + "expr": { + "kind": "Expr::Pipe", "loc": null, "children": { - "func": { - "kind": "Expr::Method", + "lhs": { + "kind": "Expr::Apply", "loc": null, "children": { - "type_name": { - "kind": "TypeName", + "func": { + "kind": "Expr::Method", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "type_name": { + "kind": "TypeName", "loc": null, "children": { - "value": "I" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "I" + } + }, + "is_object": false } }, - "is_object": false + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "f" + } + } } }, - "method_name": { - "kind": "Label", + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "name": "f" - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "value": { + "kind": "Expr::Constant", "loc": null, "children": { - "value": "42" + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "rhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", + "rhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } }, @@ -977,7 +988,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt b/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt index 16ea8440..dca1ff54 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt @@ -10,7 +10,7 @@ impl I for Int with f(self) { } fn main { - run_async(fn () { + run_async(() => { I::f(42) |> println }) } diff --git a/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt.tokens.json index 8d015390..34f584b9 100644 --- a/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_async_trait2.mbt.tokens.json @@ -464,17 +464,17 @@ "token": "LPAREN", "loc": "13:12-13:13" }, - { - "token": "FN", - "loc": "13:13-13:15" - }, { "token": "LPAREN", - "loc": "13:16-13:17" + "loc": "13:13-13:14" }, { "token": "RPAREN", - "loc": "13:17-13:18" + "loc": "13:14-13:15" + }, + { + "token": "FAT_ARROW", + "loc": "13:16-13:18" }, { "token": "LBRACE", diff --git a/test/sync_test/__snapshot__/pipeline_test_cascade.json b/test/sync_test/__snapshot__/pipeline_test_cascade.json index 32868bae..805ac84a 100644 --- a/test/sync_test/__snapshot__/pipeline_test_cascade.json +++ b/test/sync_test/__snapshot__/pipeline_test_cascade.json @@ -285,7 +285,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, @@ -750,7 +750,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, @@ -1370,7 +1370,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, @@ -2319,7 +2319,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, @@ -3538,14 +3538,19 @@ } }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::Let", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "pattern": { + "kind": "Pattern::Any", "loc": null, - "children": [ - { + "children": {} + }, + "expr": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { "kind": "Expr::DotApply", "loc": null, "children": { @@ -3554,45 +3559,21 @@ "loc": null, "children": { "self": { - "kind": "Expr::DotApply", + "kind": "Expr::Ident", "loc": null, "children": { - "self": { - "kind": "Expr::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "id": { - "kind": "Var", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "dq" - } - } + "value": "dq" } } } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "pop_back" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [] - }, - "return_self": true, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} } } }, @@ -3635,10 +3616,28 @@ "children": {} } } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "pop_back" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "last_expr": { + "body": { "kind": "Expr::Apply", "loc": null, "children": { diff --git a/test/sync_test/__snapshot__/pipeline_test_cascade.mbt b/test/sync_test/__snapshot__/pipeline_test_cascade.mbt index ef88f95b..3c5fe521 100644 --- a/test/sync_test/__snapshot__/pipeline_test_cascade.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_cascade.mbt @@ -2,7 +2,7 @@ fn init { let v = [ 1, 2, 3 ] - v..push(4)..push(5)..push(6) + v..push(4)..push(5).push(6) println(v) } @@ -14,7 +14,7 @@ fn init { ..write_string("a") ..expect(content="a") ..write_string("b") - ..expect(content="b") + .expect(content="b") println("ok") } catch { InspectError::InspectError(err) => println(err) @@ -28,7 +28,7 @@ fn init { ..write_string("a") ..expect(content="b") ..write_string("b") - ..expect(content="b") + .expect(content="b") println("ok") } catch { _ => println("error") @@ -47,7 +47,7 @@ fn init { let arr1 = [] let arr2 = [] let mut arr = arr1 - arr..push({ arr = arr2; 1 })..push(2) + arr..push({ arr = arr2; 1 }).push(2) println((arr1, arr2)) } @@ -65,6 +65,6 @@ fn MyBuf::expect(self : MyBuf, content~ : String = "") -> Unit raise { // non-unit return type fn init { let dq = @deque.from_array([ Ref::new(1), Ref::new(2), Ref::new(3), Ref::new(4) ]) - dq..pop_back()..pop_back()..pop_back() + let _ = dq..pop_back()..pop_back().pop_back() println(dq.pop_back()) } diff --git a/test/sync_test/__snapshot__/pipeline_test_cascade.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_cascade.mbt.tokens.json index 48db0ed4..e7b57390 100644 --- a/test/sync_test/__snapshot__/pipeline_test_cascade.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_cascade.mbt.tokens.json @@ -165,42 +165,38 @@ "token": "RPAREN", "loc": "5:21-5:22" }, - { - "token": "DOTDOT", - "loc": "5:22-5:24" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "push" ], - "loc": "5:24-5:28" + "loc": "5:23-5:27" }, { "token": "LPAREN", - "loc": "5:28-5:29" + "loc": "5:27-5:28" }, { "token": [ "INT", "6" ], - "loc": "5:29-5:30" + "loc": "5:28-5:29" }, { "token": "RPAREN", - "loc": "5:30-5:31" + "loc": "5:29-5:30" }, { "token": [ "SEMI", false ], - "loc": "5:31-5:31" + "loc": "5:30-5:30" }, { "token": "NEWLINE", - "loc": "5:31-5:32" + "loc": "5:30-5:31" }, { "token": [ @@ -474,53 +470,49 @@ "token": "NEWLINE", "loc": "16:24-16:25" }, - { - "token": "DOTDOT", - "loc": "17:5-17:7" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "expect" ], - "loc": "17:7-17:13" + "loc": "17:6-17:12" }, { "token": "LPAREN", - "loc": "17:13-17:14" + "loc": "17:12-17:13" }, { "token": [ "LIDENT", "content" ], - "loc": "17:14-17:21" + "loc": "17:13-17:20" }, { "token": "EQUAL", - "loc": "17:21-17:22" + "loc": "17:20-17:21" }, { "token": [ "STRING", "b" ], - "loc": "17:22-17:25" + "loc": "17:21-17:24" }, { "token": "RPAREN", - "loc": "17:25-17:26" + "loc": "17:24-17:25" }, { "token": [ "SEMI", false ], - "loc": "17:26-17:26" + "loc": "17:25-17:25" }, { "token": "NEWLINE", - "loc": "17:26-17:27" + "loc": "17:25-17:26" }, { "token": [ @@ -860,53 +852,49 @@ "token": "NEWLINE", "loc": "30:24-30:25" }, - { - "token": "DOTDOT", - "loc": "31:5-31:7" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "expect" ], - "loc": "31:7-31:13" + "loc": "31:6-31:12" }, { "token": "LPAREN", - "loc": "31:13-31:14" + "loc": "31:12-31:13" }, { "token": [ "LIDENT", "content" ], - "loc": "31:14-31:21" + "loc": "31:13-31:20" }, { "token": "EQUAL", - "loc": "31:21-31:22" + "loc": "31:20-31:21" }, { "token": [ "STRING", "b" ], - "loc": "31:22-31:25" + "loc": "31:21-31:24" }, { "token": "RPAREN", - "loc": "31:25-31:26" + "loc": "31:24-31:25" }, { "token": [ "SEMI", false ], - "loc": "31:26-31:26" + "loc": "31:25-31:25" }, { "token": "NEWLINE", - "loc": "31:26-31:27" + "loc": "31:25-31:26" }, { "token": [ @@ -1473,42 +1461,38 @@ "token": "RPAREN", "loc": "50:30-50:31" }, - { - "token": "DOTDOT", - "loc": "50:31-50:33" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "push" ], - "loc": "50:33-50:37" + "loc": "50:32-50:36" }, { "token": "LPAREN", - "loc": "50:37-50:38" + "loc": "50:36-50:37" }, { "token": [ "INT", "2" ], - "loc": "50:38-50:39" + "loc": "50:37-50:38" }, { "token": "RPAREN", - "loc": "50:39-50:40" + "loc": "50:38-50:39" }, { "token": [ "SEMI", false ], - "loc": "50:40-50:40" + "loc": "50:39-50:39" }, { "token": "NEWLINE", - "loc": "50:40-50:41" + "loc": "50:39-50:40" }, { "token": [ @@ -2210,80 +2194,88 @@ "token": "NEWLINE", "loc": "67:85-67:86" }, + { + "token": "LET", + "loc": "68:3-68:6" + }, + { + "token": "UNDERSCORE", + "loc": "68:7-68:8" + }, + { + "token": "EQUAL", + "loc": "68:9-68:10" + }, { "token": [ "LIDENT", "dq" ], - "loc": "68:3-68:5" + "loc": "68:11-68:13" }, { "token": "DOTDOT", - "loc": "68:5-68:7" + "loc": "68:13-68:15" }, { "token": [ "LIDENT", "pop_back" ], - "loc": "68:7-68:15" + "loc": "68:15-68:23" }, { "token": "LPAREN", - "loc": "68:15-68:16" + "loc": "68:23-68:24" }, { "token": "RPAREN", - "loc": "68:16-68:17" + "loc": "68:24-68:25" }, { "token": "DOTDOT", - "loc": "68:17-68:19" + "loc": "68:25-68:27" }, { "token": [ "LIDENT", "pop_back" ], - "loc": "68:19-68:27" + "loc": "68:27-68:35" }, { "token": "LPAREN", - "loc": "68:27-68:28" + "loc": "68:35-68:36" }, { "token": "RPAREN", - "loc": "68:28-68:29" - }, - { - "token": "DOTDOT", - "loc": "68:29-68:31" + "loc": "68:36-68:37" }, { "token": [ - "LIDENT", + "DOT_LIDENT", "pop_back" ], - "loc": "68:31-68:39" + "loc": "68:38-68:46" }, { "token": "LPAREN", - "loc": "68:39-68:40" + "loc": "68:46-68:47" }, { "token": "RPAREN", - "loc": "68:40-68:41" + "loc": "68:47-68:48" }, { "token": [ "SEMI", false ], - "loc": "68:41-68:41" + "loc": "68:48-68:48" }, { "token": "NEWLINE", - "loc": "68:41-68:42" + "loc": "68:48-68:49" }, { "token": [ diff --git a/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.json b/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.json index 5d412740..3545d2ce 100644 --- a/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.json +++ b/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.json @@ -592,7 +592,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -923,7 +923,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt b/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt index c81fc88b..295cb117 100644 --- a/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt @@ -6,7 +6,7 @@ fn id(f : () -> Unit raise?) -> () -> Unit raise? { ///| fn main { id(fn() { println("hello") })() - let f = id(fn() { raise Failure::Failure("error") }) // can not infer + let f = id(() => raise Failure::Failure("error")) // can not infer // let f : () -> Unit raise Failure = id(fn () { raise Failure("error")}) // let f = id(fn () -> Unit ! Error { raise Failure("error")}) (try? f()) |> ignore @@ -14,6 +14,6 @@ fn main { ///| test { - let f : () -> Unit raise Failure = id(fn() { raise Failure("error") }) + let f : () -> Unit raise Failure = id(() => raise Failure("error")) (try? f()) |> ignore } diff --git a/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt.tokens.json index 95accf16..d30ead57 100644 --- a/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_chain_error_optional_test.mbt.tokens.json @@ -288,73 +288,65 @@ "token": "LPAREN", "loc": "9:13-9:14" }, - { - "token": "FN", - "loc": "9:14-9:16" - }, { "token": "LPAREN", - "loc": "9:16-9:17" + "loc": "9:14-9:15" }, { "token": "RPAREN", - "loc": "9:17-9:18" + "loc": "9:15-9:16" }, { - "token": "LBRACE", - "loc": "9:19-9:20" + "token": "FAT_ARROW", + "loc": "9:17-9:19" }, { "token": "RAISE", - "loc": "9:21-9:26" + "loc": "9:20-9:25" }, { "token": [ "UIDENT", "Failure" ], - "loc": "9:27-9:34" + "loc": "9:26-9:33" }, { "token": "COLONCOLON", - "loc": "9:34-9:36" + "loc": "9:33-9:35" }, { "token": [ "UIDENT", "Failure" ], - "loc": "9:36-9:43" + "loc": "9:35-9:42" }, { "token": "LPAREN", - "loc": "9:43-9:44" + "loc": "9:42-9:43" }, { "token": [ "STRING", "error" ], - "loc": "9:44-9:51" + "loc": "9:43-9:50" }, { "token": "RPAREN", - "loc": "9:51-9:52" - }, - { - "token": "RBRACE", - "loc": "9:53-9:54" + "loc": "9:50-9:51" }, { "token": "RPAREN", - "loc": "9:54-9:55" + "loc": "9:51-9:52" }, { "token": [ "SEMI", false ], - "loc": "9:55-9:55" + "loc": "9:52-9:52" }, { "token": [ @@ -365,11 +357,11 @@ "consumed_by_docstring": false } ], - "loc": "9:56-9:72" + "loc": "9:53-9:69" }, { "token": "NEWLINE", - "loc": "9:72-9:73" + "loc": "9:69-9:70" }, { "token": [ @@ -567,66 +559,58 @@ "token": "LPAREN", "loc": "17:40-17:41" }, - { - "token": "FN", - "loc": "17:41-17:43" - }, { "token": "LPAREN", - "loc": "17:43-17:44" + "loc": "17:41-17:42" }, { "token": "RPAREN", - "loc": "17:44-17:45" + "loc": "17:42-17:43" }, { - "token": "LBRACE", - "loc": "17:46-17:47" + "token": "FAT_ARROW", + "loc": "17:44-17:46" }, { "token": "RAISE", - "loc": "17:48-17:53" + "loc": "17:47-17:52" }, { "token": [ "UIDENT", "Failure" ], - "loc": "17:54-17:61" + "loc": "17:53-17:60" }, { "token": "LPAREN", - "loc": "17:61-17:62" + "loc": "17:60-17:61" }, { "token": [ "STRING", "error" ], - "loc": "17:62-17:69" + "loc": "17:61-17:68" }, { "token": "RPAREN", - "loc": "17:69-17:70" - }, - { - "token": "RBRACE", - "loc": "17:71-17:72" + "loc": "17:68-17:69" }, { "token": "RPAREN", - "loc": "17:72-17:73" + "loc": "17:69-17:70" }, { "token": [ "SEMI", false ], - "loc": "17:73-17:73" + "loc": "17:70-17:70" }, { "token": "NEWLINE", - "loc": "17:73-17:74" + "loc": "17:70-17:71" }, { "token": "LPAREN", diff --git a/test/sync_test/__snapshot__/pipeline_test_coroutine.json b/test/sync_test/__snapshot__/pipeline_test_coroutine.json index f349b40b..97fbdad6 100644 --- a/test/sync_test/__snapshot__/pipeline_test_coroutine.json +++ b/test/sync_test/__snapshot__/pipeline_test_coroutine.json @@ -2466,7 +2466,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -2499,7 +2499,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -2993,7 +2993,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -3214,71 +3214,58 @@ ] }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::Group", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "expr": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::For", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "binders": { - "kind": "Expr::For::BindingList", + "children": [ + { + "kind": "Expr::For", "loc": null, - "children": [ - { - "kind": "For::Binding", + "children": { + "binders": { + "kind": "Expr::For::BindingList", "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "i" - } - }, - "expr": { - "kind": "Expr::Constant", + "children": [ + { + "kind": "For::Binding", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } + }, + "expr": { + "kind": "Expr::Constant", "loc": null, "children": { - "value": "0" + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } } } } } - } - } - ] - }, - "condition": { - "kind": "Expr::Infix", - "loc": null, - "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "<" - } - } - } + ] }, - "lhs": { - "kind": "Expr::Ident", + "condition": { + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -3286,48 +3273,16 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "i" + "value": "<" } } } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "10" - } - } - } - } - } - }, - "continue_block": { - "kind": "Expr::For::ContBindingList", - "loc": null, - "children": [ - { - "kind": "For::ContBinding", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "i" - } }, - "expr": { - "kind": "Expr::Infix", + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "op": { + "id": { "kind": "Var", "loc": null, "children": { @@ -3335,66 +3290,48 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "+" - } - } - } - }, - "lhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "i" - } - } + "value": "i" } } } - }, - "rhs": { - "kind": "Expr::Constant", + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "1" - } - } + "value": "10" } } } } } - } - ] - }, - "body": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + }, + "continue_block": { + "kind": "Expr::For::ContBindingList", "loc": null, "children": [ { - "kind": "Expr::Apply", + "kind": "For::ContBinding", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "binder": { + "kind": "Binder", "loc": null, "children": { - "id": { + "name": "i" + } + }, + "expr": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { "kind": "Var", "loc": null, "children": { @@ -3402,210 +3339,284 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "println" + "value": "+" } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Interp", + "id": { + "kind": "Var", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "name": { + "kind": "LongIdent::Ident", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": ": " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "i" - } - } - ] + "children": { + "value": "i" + } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", "loc": null, - "children": {} + "children": { + "value": "1" + } } } } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } } ] }, - "last_expr": { - "kind": "Expr::DotApply", + "body": { + "kind": "Expr::Sequence", "loc": null, "children": { - "self": { - "kind": "Expr::Ident", + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "id": { - "kind": "Var", + "children": [ + { + "kind": "Expr::Apply", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "ctx" + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "i" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } } - } + ] }, - "method_name": { - "kind": "Label", + "last_expr": { + "kind": "Expr::DotApply", "loc": null, "children": { - "name": "suspend" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "ctx" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "suspend" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } } } - } + }, + "for_else": null, + "where_clause": null, + "label": null } - }, - "for_else": null, - "where_clause": null, - "label": null - } - } - ] - }, - "last_expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Interp", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "repr": ": done" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": done" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } }, @@ -3616,7 +3627,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -3710,71 +3721,58 @@ ] }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::Group", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "expr": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::For", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "binders": { - "kind": "Expr::For::BindingList", + "children": [ + { + "kind": "Expr::For", "loc": null, - "children": [ - { - "kind": "For::Binding", + "children": { + "binders": { + "kind": "Expr::For::BindingList", "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "i" - } - }, - "expr": { - "kind": "Expr::Constant", + "children": [ + { + "kind": "For::Binding", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "binder": { + "kind": "Binder", "loc": null, "children": { - "value": "0" + "name": "i" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } } } } } - } - } - ] - }, - "condition": { - "kind": "Expr::Infix", - "loc": null, - "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "<" - } - } - } + ] }, - "lhs": { - "kind": "Expr::Ident", + "condition": { + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -3782,48 +3780,16 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "i" + "value": "<" } } } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "5" - } - } - } - } - } - }, - "continue_block": { - "kind": "Expr::For::ContBindingList", - "loc": null, - "children": [ - { - "kind": "For::ContBinding", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "i" - } }, - "expr": { - "kind": "Expr::Infix", + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "op": { + "id": { "kind": "Var", "loc": null, "children": { @@ -3831,16 +3797,48 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "+" + "value": "i" } } } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + }, + "continue_block": { + "kind": "Expr::For::ContBindingList", + "loc": null, + "children": [ + { + "kind": "For::ContBinding", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } }, - "lhs": { - "kind": "Expr::Ident", + "expr": { + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -3848,120 +3846,182 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "i" + "value": "+" } } } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", + }, + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "1" - } - } - } - } - } - } - } - } - ] - }, - "body": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", - "loc": null, - "children": [ - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "constant": { + "kind": "Constant::Int", "loc": null, "children": { - "value": "println" + "value": "1" } } } } } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", + } + } + } + ] + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Interp", + "id": { + "kind": "Var", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "name": { + "kind": "LongIdent::Ident", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": ": " - } - }, - { - "kind": "InterpElem::Source", + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "source": "i" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "i" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", "loc": null, - "children": {} + "children": { + "value": "ctx" + } } } } - ] + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "suspend" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] }, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, @@ -3969,139 +4029,101 @@ } } } - ] + } }, - "last_expr": { - "kind": "Expr::DotApply", + "for_else": null, + "where_clause": null, + "label": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "self": { - "kind": "Expr::Ident", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "id": { - "kind": "Var", + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", "loc": null, "children": { - "value": "ctx" + "repr": ": done" } } - } + ] } } }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "suspend" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", + "kind": { + "kind": "ArgumentKind::Positional", "loc": null, "children": {} } } } - } + ] }, - "for_else": null, - "where_clause": null, - "label": null + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } } } - ] + } }, - "last_expr": { - "kind": "Expr::Apply", + "group": { + "kind": "Group::Brace", "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", - "loc": null, - "children": { - "elems": { - "kind": "Expr::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": ": done" - } - } - ] - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } + "children": {} } } }, @@ -4112,7 +4134,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -7030,361 +7052,8 @@ "children": { "exprs": { "kind": "Expr::Sequence::ExprList", - "loc": null, - "children": [ - { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "ctx" - } - } - } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "spawn" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Function", - "loc": null, - "children": { - "func": { - "kind": "Func::Lambda", - "loc": null, - "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "id" - } - }, - "ty": null - } - } - ] - }, - "body": { - "kind": "Expr::Try", - "loc": null, - "children": { - "body": { - "kind": "Expr::Group", - "loc": null, - "children": { - "expr": { - "kind": "Expr::For", - "loc": null, - "children": { - "binders": { - "kind": "Expr::For::BindingList", - "loc": null, - "children": [] - }, - "condition": null, - "continue_block": { - "kind": "Expr::For::ContBindingList", - "loc": null, - "children": [] - }, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", - "loc": null, - "children": { - "elems": { - "kind": "Expr::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": ": received " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "c1.recv()" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": " from channel 1" - } - } - ] - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "for_else": null, - "where_clause": null, - "label": null - } - }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "ChannelTerminated" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - }, - "args": null, - "is_open": false - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", - "loc": null, - "children": { - "elems": { - "kind": "Expr::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": ": received termination" - } - } - ] - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - ] - }, - "catch_all": false, - "try_else": null, - "has_try": true - } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": null, - "is_async": null - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, + "loc": null, + "children": [ { "kind": "Expr::DotApply", "loc": null, @@ -7452,256 +7121,267 @@ ] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Group", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "expr": { - "kind": "Expr::For", + "body": { + "kind": "Expr::Group", "loc": null, "children": { - "binders": { - "kind": "Expr::For::BindingList", - "loc": null, - "children": [] - }, - "condition": null, - "continue_block": { - "kind": "Expr::For::ContBindingList", - "loc": null, - "children": [] - }, - "body": { - "kind": "Expr::Apply", + "expr": { + "kind": "Expr::For", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "binders": { + "kind": "Expr::For::BindingList", + "loc": null, + "children": [] + }, + "condition": null, + "continue_block": { + "kind": "Expr::For::ContBindingList", + "loc": null, + "children": [] + }, + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Interp", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": ": received " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "c2.recv()" - } - }, - { - "kind": "InterpElem::Literal", + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "repr": " from channel 2" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": received " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "c1.recv()" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": " from channel 1" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } + "for_else": null, + "where_clause": null, + "label": null } }, - "for_else": null, - "where_clause": null, - "label": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, - "group": { - "kind": "Group::Brace", + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "pattern": { + "kind": "Pattern::Constr", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "name": "ChannelTerminated" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "ChannelTerminated" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } + "args": null, + "is_open": false } }, - "args": null, - "is_open": false - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + "guard": null, + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Interp", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "repr": ": received termination" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": received termination" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } } - } - } - ] + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } }, - "catch_all": false, - "try_else": null, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -7711,7 +7391,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -7805,22 +7485,33 @@ ] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Group", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "expr": { - "kind": "Expr::Sequence", + "body": { + "kind": "Expr::Group", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "expr": { + "kind": "Expr::For", "loc": null, - "children": [ - { + "children": { + "binders": { + "kind": "Expr::For::BindingList", + "loc": null, + "children": [] + }, + "condition": null, + "continue_block": { + "kind": "Expr::For::ContBindingList", + "loc": null, + "children": [] + }, + "body": { "kind": "Expr::Apply", "loc": null, "children": { @@ -7877,7 +7568,21 @@ "kind": "InterpElem::Literal", "loc": null, "children": { - "repr": ": sending 1 to channel 1" + "repr": ": received " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "c2.recv()" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": " from channel 2" } } ] @@ -7900,599 +7605,1067 @@ } } }, - { - "kind": "Expr::DotApply", + "for_else": null, + "where_clause": null, + "label": null + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", "loc": null, "children": { - "self": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "ChannelTerminated" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { "kind": "Expr::Ident", "loc": null, "children": { - "id": { - "kind": "Var", + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": received termination" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "ctx" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "spawn" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "id" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Try", + "loc": null, + "children": { + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "c1" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "send" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "value": { + "kind": "Expr::Interp", "loc": null, "children": { - "value": "1" + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": sending 1 to channel 1" + } + } + ] + } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + { + "kind": "Expr::DotApply", "loc": null, "children": { - "id": { - "kind": "Var", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c1" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "method_name": { + "kind": "Label", "loc": null, "children": { - "value": { - "kind": "Expr::Interp", + "name": "send" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Constant", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", + "children": { + "constant": { + "kind": "Constant::Int", "loc": null, "children": { - "repr": ": sending 2 to channel 2" + "value": "1" } } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", + { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "c2" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": sending 2 to channel 2" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "method_name": { - "kind": "Label", + { + "kind": "Expr::DotApply", "loc": null, "children": { - "name": "send" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Constant", + "id": { + "kind": "Var", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "2" + "value": "c2" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } - } - ] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", + }, + "method_name": { + "kind": "Label", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "name": "send" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "value": "println" + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "2" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } } } - } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", + { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Interp", + "id": { + "kind": "Var", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "name": { + "kind": "LongIdent::Ident", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "repr": ": sending 3 to channel 2" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": sending 3 to channel 2" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", + { + "kind": "Expr::DotApply", "loc": null, "children": { - "id": { - "kind": "Var", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "c2" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c2" + } + } } } } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "send" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "3" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "method_name": { - "kind": "Label", + { + "kind": "Expr::Apply", "loc": null, "children": { - "name": "send" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Constant", + "id": { + "kind": "Var", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "3" + "value": "println" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": sending 4 to channel 2" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + { + "kind": "Expr::DotApply", "loc": null, "children": { - "id": { - "kind": "Var", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c1" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "method_name": { + "kind": "Label", "loc": null, "children": { - "value": { - "kind": "Expr::Interp", + "name": "send" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Constant", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", + "children": { + "constant": { + "kind": "Constant::Int", "loc": null, "children": { - "repr": ": sending 4 to channel 2" + "value": "4" } } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", + { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "c1" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": terminating channel 1" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "method_name": { - "kind": "Label", + { + "kind": "Expr::DotApply", "loc": null, "children": { - "name": "send" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Constant", + "id": { + "kind": "Var", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "4" + "value": "c1" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } - } - ] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "terminate" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Interp", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "value": { + "kind": "Expr::Interp", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "repr": ": terminating channel 1" - } + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "thread " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "id" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": terminating channel 2" + } + } + ] } - ] + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } - } + ] }, - { + "last_expr": { "kind": "Expr::DotApply", "loc": null, "children": { @@ -8508,7 +8681,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "c1" + "value": "c2" } } } @@ -8534,8 +8707,52 @@ "children": {} } } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "ChannelTerminated" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } }, - { + "guard": null, + "body": { "kind": "Expr::Apply", "loc": null, "children": { @@ -8551,7 +8768,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "println" + "value": "abort" } } } @@ -8567,35 +8784,15 @@ "loc": null, "children": { "value": { - "kind": "Expr::Interp", + "kind": "Expr::Constant", "loc": null, "children": { - "elems": { - "kind": "Expr::Interp::ElemList", + "constant": { + "kind": "Constant::String", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "thread " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "id" - } - }, - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": ": terminating channel 2" - } - } - ] + "children": { + "value": "unexpected termination of channel" + } } } }, @@ -8615,162 +8812,20 @@ } } } - ] - }, - "last_expr": { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "c2" - } - } - } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "terminate" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } } } - } + ] }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} - } + "catch_all": false, + "try_else": null, + "has_try": true } }, - "catch": { - "kind": "Expr::Try::CaseList", + "group": { + "kind": "Group::Brace", "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "ChannelTerminated" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - }, - "args": null, - "is_open": false - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "abort" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::String", - "loc": null, - "children": { - "value": "unexpected termination of channel" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - ] - }, - "catch_all": false, - "try_else": null, - "has_try": true + "children": {} + } } }, "return_type": null, @@ -8780,7 +8835,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt b/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt index a9182c76..f6c43195 100644 --- a/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt @@ -34,27 +34,25 @@ fn Scheduler::run_all(self : Scheduler) -> Unit { fn Scheduler::spawn_lazy(self : Scheduler, f : async (Int) -> Unit noraise) -> Unit { let id = self.next_id self.next_id += 1 - self.coros.push(fn () { - run_async(fn () { f(id) }) - }) + self.coros.push(() => run_async(() => f(id))) } fn Scheduler::spawn(self : Scheduler, f : async (Int) -> Unit noraise) -> Unit { let id = self.next_id self.next_id += 1 - run_async(fn () { f(id) }) + run_async(() => f(id)) } fn init { let ctx = Scheduler::new() - ctx.spawn_lazy(fn (id) { + ctx.spawn_lazy(id => { for i = 0; i < 10; i = i + 1 { println("thread \{id}: \{i}") ctx.suspend() } println("thread \{id}: done") }) - ctx.spawn(fn (id) { + ctx.spawn(id => { for i = 0; i < 5; i = i + 1 { println("thread \{id}: \{i}") ctx.suspend() @@ -122,7 +120,7 @@ fn init { let ctx = Scheduler::new() let c1 : Channel[Int] = ctx.make_channel() let c2 : Channel[Int] = ctx.make_channel() - ctx.spawn(fn (id) { + ctx.spawn(id => { try { for { println("thread \{id}: received \{c1.recv()} from channel 1") @@ -131,7 +129,7 @@ fn init { ChannelTerminated => println("thread \{id}: received termination") } }) - ctx.spawn(fn (id) { + ctx.spawn(id => { try { for { println("thread \{id}: received \{c2.recv()} from channel 2") @@ -140,7 +138,7 @@ fn init { ChannelTerminated => println("thread \{id}: received termination") } }) - ctx.spawn(fn (id) { + ctx.spawn(id => { try { println("thread \{id}: sending 1 to channel 1") c1.send(1) diff --git a/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt.tokens.json index 18f44931..32478131 100644 --- a/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_coroutine.mbt.tokens.json @@ -1398,1028 +1398,980 @@ "token": "LPAREN", "loc": "37:18-37:19" }, - { - "token": "FN", - "loc": "37:19-37:21" - }, { "token": "LPAREN", - "loc": "37:22-37:23" + "loc": "37:19-37:20" }, { "token": "RPAREN", - "loc": "37:23-37:24" - }, - { - "token": "LBRACE", - "loc": "37:25-37:26" + "loc": "37:20-37:21" }, { - "token": "NEWLINE", - "loc": "37:26-37:27" + "token": "FAT_ARROW", + "loc": "37:22-37:24" }, { "token": [ "LIDENT", "run_async" ], - "loc": "38:5-38:14" + "loc": "37:25-37:34" }, { "token": "LPAREN", - "loc": "38:14-38:15" - }, - { - "token": "FN", - "loc": "38:15-38:17" + "loc": "37:34-37:35" }, { "token": "LPAREN", - "loc": "38:18-38:19" + "loc": "37:35-37:36" }, { "token": "RPAREN", - "loc": "38:19-38:20" + "loc": "37:36-37:37" }, { - "token": "LBRACE", - "loc": "38:21-38:22" + "token": "FAT_ARROW", + "loc": "37:38-37:40" }, { "token": [ "LIDENT", "f" ], - "loc": "38:23-38:24" + "loc": "37:41-37:42" }, { "token": "LPAREN", - "loc": "38:24-38:25" + "loc": "37:42-37:43" }, { "token": [ "LIDENT", "id" ], - "loc": "38:25-38:27" + "loc": "37:43-37:45" }, { "token": "RPAREN", - "loc": "38:27-38:28" - }, - { - "token": "RBRACE", - "loc": "38:29-38:30" + "loc": "37:45-37:46" }, { "token": "RPAREN", - "loc": "38:30-38:31" - }, - { - "token": "NEWLINE", - "loc": "38:31-38:32" - }, - { - "token": "RBRACE", - "loc": "39:3-39:4" + "loc": "37:46-37:47" }, { "token": "RPAREN", - "loc": "39:4-39:5" + "loc": "37:47-37:48" }, { "token": "NEWLINE", - "loc": "39:5-39:6" + "loc": "37:48-37:49" }, { "token": "RBRACE", - "loc": "40:1-40:2" + "loc": "38:1-38:2" }, { "token": [ "SEMI", false ], - "loc": "40:2-40:2" + "loc": "38:2-38:2" }, { "token": "NEWLINE", - "loc": "40:2-40:3" + "loc": "38:2-38:3" }, { "token": "NEWLINE", - "loc": "41:1-41:2" + "loc": "39:1-39:2" }, { "token": "FN", - "loc": "42:1-42:3" + "loc": "40:1-40:3" }, { "token": [ "UIDENT", "Scheduler" ], - "loc": "42:4-42:13" + "loc": "40:4-40:13" }, { "token": "COLONCOLON", - "loc": "42:13-42:15" + "loc": "40:13-40:15" }, { "token": [ "LIDENT", "spawn" ], - "loc": "42:15-42:20" + "loc": "40:15-40:20" }, { "token": "LPAREN", - "loc": "42:20-42:21" + "loc": "40:20-40:21" }, { "token": [ "LIDENT", "self" ], - "loc": "42:21-42:25" + "loc": "40:21-40:25" }, { "token": "COLON", - "loc": "42:26-42:27" + "loc": "40:26-40:27" }, { "token": [ "UIDENT", "Scheduler" ], - "loc": "42:28-42:37" + "loc": "40:28-40:37" }, { "token": "COMMA", - "loc": "42:37-42:38" + "loc": "40:37-40:38" }, { "token": [ "LIDENT", "f" ], - "loc": "42:39-42:40" + "loc": "40:39-40:40" }, { "token": "COLON", - "loc": "42:41-42:42" + "loc": "40:41-40:42" }, { "token": "ASYNC", - "loc": "42:43-42:48" + "loc": "40:43-40:48" }, { "token": "LPAREN", - "loc": "42:49-42:50" + "loc": "40:49-40:50" }, { "token": [ "UIDENT", "Int" ], - "loc": "42:50-42:53" + "loc": "40:50-40:53" }, { "token": "RPAREN", - "loc": "42:53-42:54" + "loc": "40:53-40:54" }, { "token": "THIN_ARROW", - "loc": "42:55-42:57" + "loc": "40:55-40:57" }, { "token": [ "UIDENT", "Unit" ], - "loc": "42:58-42:62" + "loc": "40:58-40:62" }, { "token": "NORAISE", - "loc": "42:63-42:70" + "loc": "40:63-40:70" }, { "token": "RPAREN", - "loc": "42:70-42:71" + "loc": "40:70-40:71" }, { "token": "THIN_ARROW", - "loc": "42:72-42:74" + "loc": "40:72-40:74" }, { "token": [ "UIDENT", "Unit" ], - "loc": "42:75-42:79" + "loc": "40:75-40:79" }, { "token": "LBRACE", - "loc": "42:80-42:81" + "loc": "40:80-40:81" }, { "token": "NEWLINE", - "loc": "42:81-42:82" + "loc": "40:81-40:82" }, { "token": "LET", - "loc": "43:3-43:6" + "loc": "41:3-41:6" }, { "token": [ "LIDENT", "id" ], - "loc": "43:7-43:9" + "loc": "41:7-41:9" }, { "token": "EQUAL", - "loc": "43:10-43:11" + "loc": "41:10-41:11" }, { "token": [ "LIDENT", "self" ], - "loc": "43:12-43:16" + "loc": "41:12-41:16" }, { "token": [ "DOT_LIDENT", "next_id" ], - "loc": "43:17-43:24" + "loc": "41:17-41:24" }, { "token": [ "SEMI", false ], - "loc": "43:24-43:24" + "loc": "41:24-41:24" }, { "token": "NEWLINE", - "loc": "43:24-43:25" + "loc": "41:24-41:25" }, { "token": [ "LIDENT", "self" ], - "loc": "44:3-44:7" + "loc": "42:3-42:7" }, { "token": [ "DOT_LIDENT", "next_id" ], - "loc": "44:8-44:15" + "loc": "42:8-42:15" }, { "token": [ "AUGMENTED_ASSIGNMENT", "+" ], - "loc": "44:16-44:18" + "loc": "42:16-42:18" }, { "token": [ "INT", "1" ], - "loc": "44:19-44:20" + "loc": "42:19-42:20" }, { "token": [ "SEMI", false ], - "loc": "44:20-44:20" + "loc": "42:20-42:20" }, { "token": "NEWLINE", - "loc": "44:20-44:21" + "loc": "42:20-42:21" }, { "token": [ "LIDENT", "run_async" ], - "loc": "45:3-45:12" + "loc": "43:3-43:12" }, { "token": "LPAREN", - "loc": "45:12-45:13" - }, - { - "token": "FN", - "loc": "45:13-45:15" + "loc": "43:12-43:13" }, { "token": "LPAREN", - "loc": "45:16-45:17" + "loc": "43:13-43:14" }, { "token": "RPAREN", - "loc": "45:17-45:18" + "loc": "43:14-43:15" }, { - "token": "LBRACE", - "loc": "45:19-45:20" + "token": "FAT_ARROW", + "loc": "43:16-43:18" }, { "token": [ "LIDENT", "f" ], - "loc": "45:21-45:22" + "loc": "43:19-43:20" }, { "token": "LPAREN", - "loc": "45:22-45:23" + "loc": "43:20-43:21" }, { "token": [ "LIDENT", "id" ], - "loc": "45:23-45:25" + "loc": "43:21-43:23" }, { "token": "RPAREN", - "loc": "45:25-45:26" - }, - { - "token": "RBRACE", - "loc": "45:27-45:28" + "loc": "43:23-43:24" }, { "token": "RPAREN", - "loc": "45:28-45:29" + "loc": "43:24-43:25" }, { "token": "NEWLINE", - "loc": "45:29-45:30" + "loc": "43:25-43:26" }, { "token": "RBRACE", - "loc": "46:1-46:2" + "loc": "44:1-44:2" }, { "token": [ "SEMI", false ], - "loc": "46:2-46:2" + "loc": "44:2-44:2" }, { "token": "NEWLINE", - "loc": "46:2-46:3" + "loc": "44:2-44:3" }, { "token": "NEWLINE", - "loc": "47:1-47:2" + "loc": "45:1-45:2" }, { "token": "FN", - "loc": "48:1-48:3" + "loc": "46:1-46:3" }, { "token": [ "LIDENT", "init" ], - "loc": "48:4-48:8" + "loc": "46:4-46:8" }, { "token": "LBRACE", - "loc": "48:9-48:10" + "loc": "46:9-46:10" }, { "token": "NEWLINE", - "loc": "48:10-48:11" + "loc": "46:10-46:11" }, { "token": "LET", - "loc": "49:3-49:6" + "loc": "47:3-47:6" }, { "token": [ "LIDENT", "ctx" ], - "loc": "49:7-49:10" + "loc": "47:7-47:10" }, { "token": "EQUAL", - "loc": "49:11-49:12" + "loc": "47:11-47:12" }, { "token": [ "UIDENT", "Scheduler" ], - "loc": "49:13-49:22" + "loc": "47:13-47:22" }, { "token": "COLONCOLON", - "loc": "49:22-49:24" + "loc": "47:22-47:24" }, { "token": [ "LIDENT", "new" ], - "loc": "49:24-49:27" + "loc": "47:24-47:27" }, { "token": "LPAREN", - "loc": "49:27-49:28" + "loc": "47:27-47:28" }, { "token": "RPAREN", - "loc": "49:28-49:29" + "loc": "47:28-47:29" }, { "token": [ "SEMI", false ], - "loc": "49:29-49:29" + "loc": "47:29-47:29" }, { "token": "NEWLINE", - "loc": "49:29-49:30" + "loc": "47:29-47:30" }, { "token": [ "LIDENT", "ctx" ], - "loc": "50:3-50:6" + "loc": "48:3-48:6" }, { "token": [ "DOT_LIDENT", "spawn_lazy" ], - "loc": "50:7-50:17" + "loc": "48:7-48:17" }, { "token": "LPAREN", - "loc": "50:17-50:18" - }, - { - "token": "FN", - "loc": "50:18-50:20" - }, - { - "token": "LPAREN", - "loc": "50:21-50:22" + "loc": "48:17-48:18" }, { "token": [ "LIDENT", "id" ], - "loc": "50:22-50:24" + "loc": "48:18-48:20" }, { - "token": "RPAREN", - "loc": "50:24-50:25" + "token": "FAT_ARROW", + "loc": "48:21-48:23" }, { "token": "LBRACE", - "loc": "50:26-50:27" + "loc": "48:24-48:25" }, { "token": "NEWLINE", - "loc": "50:27-50:28" + "loc": "48:25-48:26" }, { "token": "FOR", - "loc": "51:5-51:8" + "loc": "49:5-49:8" }, { "token": [ "LIDENT", "i" ], - "loc": "51:9-51:10" + "loc": "49:9-49:10" }, { "token": "EQUAL", - "loc": "51:11-51:12" + "loc": "49:11-49:12" }, { "token": [ "INT", "0" ], - "loc": "51:13-51:14" + "loc": "49:13-49:14" }, { "token": [ "SEMI", true ], - "loc": "51:14-51:15" + "loc": "49:14-49:15" }, { "token": [ "LIDENT", "i" ], - "loc": "51:16-51:17" + "loc": "49:16-49:17" }, { "token": [ "INFIX1", "<" ], - "loc": "51:18-51:19" + "loc": "49:18-49:19" }, { "token": [ "INT", "10" ], - "loc": "51:20-51:22" + "loc": "49:20-49:22" }, { "token": [ "SEMI", true ], - "loc": "51:22-51:23" + "loc": "49:22-49:23" }, { "token": [ "LIDENT", "i" ], - "loc": "51:24-51:25" + "loc": "49:24-49:25" }, { "token": "EQUAL", - "loc": "51:26-51:27" + "loc": "49:26-49:27" }, { "token": [ "LIDENT", "i" ], - "loc": "51:28-51:29" + "loc": "49:28-49:29" }, { "token": "PLUS", - "loc": "51:30-51:31" + "loc": "49:30-49:31" }, { "token": [ "INT", "1" ], - "loc": "51:32-51:33" + "loc": "49:32-49:33" }, { "token": "LBRACE", - "loc": "51:34-51:35" + "loc": "49:34-49:35" }, { "token": "NEWLINE", - "loc": "51:35-51:36" + "loc": "49:35-49:36" }, { "token": [ "LIDENT", "println" ], - "loc": "52:7-52:14" + "loc": "50:7-50:14" }, { "token": "LPAREN", - "loc": "52:14-52:15" + "loc": "50:14-50:15" }, { "token": [ "INTERP", "\"thread \\{id}: \\{i}\"" ], - "loc": "52:15-52:35" + "loc": "50:15-50:35" }, { "token": "RPAREN", - "loc": "52:35-52:36" + "loc": "50:35-50:36" }, { "token": [ "SEMI", false ], - "loc": "52:36-52:36" + "loc": "50:36-50:36" }, { "token": "NEWLINE", - "loc": "52:36-52:37" + "loc": "50:36-50:37" }, { "token": [ "LIDENT", "ctx" ], - "loc": "53:7-53:10" + "loc": "51:7-51:10" }, { "token": [ "DOT_LIDENT", "suspend" ], - "loc": "53:11-53:18" + "loc": "51:11-51:18" }, { "token": "LPAREN", - "loc": "53:18-53:19" + "loc": "51:18-51:19" }, { "token": "RPAREN", - "loc": "53:19-53:20" + "loc": "51:19-51:20" }, { "token": "NEWLINE", - "loc": "53:20-53:21" + "loc": "51:20-51:21" }, { "token": "RBRACE", - "loc": "54:5-54:6" + "loc": "52:5-52:6" }, { "token": [ "SEMI", false ], - "loc": "54:6-54:6" + "loc": "52:6-52:6" }, { "token": "NEWLINE", - "loc": "54:6-54:7" + "loc": "52:6-52:7" }, { "token": [ "LIDENT", "println" ], - "loc": "55:5-55:12" + "loc": "53:5-53:12" }, { "token": "LPAREN", - "loc": "55:12-55:13" + "loc": "53:12-53:13" }, { "token": [ "INTERP", "\"thread \\{id}: done\"" ], - "loc": "55:13-55:33" + "loc": "53:13-53:33" }, { "token": "RPAREN", - "loc": "55:33-55:34" + "loc": "53:33-53:34" }, { "token": "NEWLINE", - "loc": "55:34-55:35" + "loc": "53:34-53:35" }, { "token": "RBRACE", - "loc": "56:3-56:4" + "loc": "54:3-54:4" }, { "token": "RPAREN", - "loc": "56:4-56:5" + "loc": "54:4-54:5" }, { "token": [ "SEMI", false ], - "loc": "56:5-56:5" + "loc": "54:5-54:5" }, { "token": "NEWLINE", - "loc": "56:5-56:6" + "loc": "54:5-54:6" }, { "token": [ "LIDENT", "ctx" ], - "loc": "57:3-57:6" + "loc": "55:3-55:6" }, { "token": [ "DOT_LIDENT", "spawn" ], - "loc": "57:7-57:12" - }, - { - "token": "LPAREN", - "loc": "57:12-57:13" - }, - { - "token": "FN", - "loc": "57:13-57:15" + "loc": "55:7-55:12" }, { "token": "LPAREN", - "loc": "57:16-57:17" + "loc": "55:12-55:13" }, { "token": [ "LIDENT", "id" ], - "loc": "57:17-57:19" + "loc": "55:13-55:15" }, { - "token": "RPAREN", - "loc": "57:19-57:20" + "token": "FAT_ARROW", + "loc": "55:16-55:18" }, { "token": "LBRACE", - "loc": "57:21-57:22" + "loc": "55:19-55:20" }, { "token": "NEWLINE", - "loc": "57:22-57:23" + "loc": "55:20-55:21" }, { "token": "FOR", - "loc": "58:5-58:8" + "loc": "56:5-56:8" }, { "token": [ "LIDENT", "i" ], - "loc": "58:9-58:10" + "loc": "56:9-56:10" }, { "token": "EQUAL", - "loc": "58:11-58:12" + "loc": "56:11-56:12" }, { "token": [ "INT", "0" ], - "loc": "58:13-58:14" + "loc": "56:13-56:14" }, { "token": [ "SEMI", true ], - "loc": "58:14-58:15" + "loc": "56:14-56:15" }, { "token": [ "LIDENT", "i" ], - "loc": "58:16-58:17" + "loc": "56:16-56:17" }, { "token": [ "INFIX1", "<" ], - "loc": "58:18-58:19" + "loc": "56:18-56:19" }, { "token": [ "INT", "5" ], - "loc": "58:20-58:21" + "loc": "56:20-56:21" }, { "token": [ "SEMI", true ], - "loc": "58:21-58:22" + "loc": "56:21-56:22" }, { "token": [ "LIDENT", "i" ], - "loc": "58:23-58:24" + "loc": "56:23-56:24" }, { "token": "EQUAL", - "loc": "58:25-58:26" + "loc": "56:25-56:26" }, { "token": [ "LIDENT", "i" ], - "loc": "58:27-58:28" + "loc": "56:27-56:28" }, { "token": "PLUS", - "loc": "58:29-58:30" + "loc": "56:29-56:30" }, { "token": [ "INT", "1" ], - "loc": "58:31-58:32" + "loc": "56:31-56:32" }, { "token": "LBRACE", - "loc": "58:33-58:34" + "loc": "56:33-56:34" }, { "token": "NEWLINE", - "loc": "58:34-58:35" + "loc": "56:34-56:35" }, { "token": [ "LIDENT", "println" ], - "loc": "59:7-59:14" + "loc": "57:7-57:14" }, { "token": "LPAREN", - "loc": "59:14-59:15" + "loc": "57:14-57:15" }, { "token": [ "INTERP", "\"thread \\{id}: \\{i}\"" ], - "loc": "59:15-59:35" + "loc": "57:15-57:35" }, { "token": "RPAREN", - "loc": "59:35-59:36" + "loc": "57:35-57:36" }, { "token": [ "SEMI", false ], - "loc": "59:36-59:36" + "loc": "57:36-57:36" }, { "token": "NEWLINE", - "loc": "59:36-59:37" + "loc": "57:36-57:37" }, { "token": [ "LIDENT", "ctx" ], - "loc": "60:7-60:10" + "loc": "58:7-58:10" }, { "token": [ "DOT_LIDENT", "suspend" ], - "loc": "60:11-60:18" + "loc": "58:11-58:18" }, { "token": "LPAREN", - "loc": "60:18-60:19" + "loc": "58:18-58:19" }, { "token": "RPAREN", - "loc": "60:19-60:20" + "loc": "58:19-58:20" }, { "token": "NEWLINE", - "loc": "60:20-60:21" + "loc": "58:20-58:21" }, { "token": "RBRACE", - "loc": "61:5-61:6" + "loc": "59:5-59:6" }, { "token": [ "SEMI", false ], - "loc": "61:6-61:6" + "loc": "59:6-59:6" }, { "token": "NEWLINE", - "loc": "61:6-61:7" + "loc": "59:6-59:7" }, { "token": [ "LIDENT", "println" ], - "loc": "62:5-62:12" + "loc": "60:5-60:12" }, { "token": "LPAREN", - "loc": "62:12-62:13" + "loc": "60:12-60:13" }, { "token": [ "INTERP", "\"thread \\{id}: done\"" ], - "loc": "62:13-62:33" + "loc": "60:13-60:33" }, { "token": "RPAREN", - "loc": "62:33-62:34" + "loc": "60:33-60:34" }, { "token": "NEWLINE", - "loc": "62:34-62:35" + "loc": "60:34-60:35" }, { "token": "RBRACE", - "loc": "63:3-63:4" + "loc": "61:3-61:4" }, { "token": "RPAREN", - "loc": "63:4-63:5" + "loc": "61:4-61:5" }, { "token": [ "SEMI", false ], - "loc": "63:5-63:5" + "loc": "61:5-61:5" }, { "token": "NEWLINE", - "loc": "63:5-63:6" + "loc": "61:5-61:6" }, { "token": [ "LIDENT", "ctx" ], - "loc": "64:3-64:6" + "loc": "62:3-62:6" }, { "token": [ "DOT_LIDENT", "run_all" ], - "loc": "64:7-64:14" + "loc": "62:7-62:14" }, { "token": "LPAREN", - "loc": "64:14-64:15" + "loc": "62:14-62:15" }, { "token": "RPAREN", - "loc": "64:15-64:16" + "loc": "62:15-62:16" }, { "token": "NEWLINE", - "loc": "64:16-64:17" + "loc": "62:16-62:17" }, { "token": "RBRACE", - "loc": "65:1-65:2" + "loc": "63:1-63:2" }, { "token": [ "SEMI", false ], - "loc": "65:2-65:2" + "loc": "63:2-63:2" }, { "token": "NEWLINE", - "loc": "65:2-65:3" + "loc": "63:2-63:3" }, { "token": "NEWLINE", - "loc": "66:1-66:2" + "loc": "64:1-64:2" }, { "token": "NEWLINE", - "loc": "67:1-67:2" + "loc": "65:1-65:2" }, { "token": [ @@ -2436,907 +2388,907 @@ "consumed_by_docstring": false } ], - "loc": "68:1-68:32" + "loc": "66:1-66:32" }, { "token": "NEWLINE", - "loc": "68:32-68:33" + "loc": "66:32-66:33" }, { "token": "ENUM", - "loc": "69:1-69:5" + "loc": "67:1-67:5" }, { "token": [ "UIDENT", "ChannelState" ], - "loc": "69:6-69:18" + "loc": "67:6-67:18" }, { "token": "LBRACKET", - "loc": "69:18-69:19" + "loc": "67:18-67:19" }, { "token": [ "UIDENT", "T" ], - "loc": "69:19-69:20" + "loc": "67:19-67:20" }, { "token": "RBRACKET", - "loc": "69:20-69:21" + "loc": "67:20-67:21" }, { "token": "LBRACE", - "loc": "69:22-69:23" + "loc": "67:22-67:23" }, { "token": "NEWLINE", - "loc": "69:23-69:24" + "loc": "67:23-67:24" }, { "token": [ "UIDENT", "No_value" ], - "loc": "70:3-70:11" + "loc": "68:3-68:11" }, { "token": [ "SEMI", false ], - "loc": "70:11-70:11" + "loc": "68:11-68:11" }, { "token": "NEWLINE", - "loc": "70:11-70:12" + "loc": "68:11-68:12" }, { "token": [ "UIDENT", "Has_value" ], - "loc": "71:3-71:12" + "loc": "69:3-69:12" }, { "token": "LPAREN", - "loc": "71:12-71:13" + "loc": "69:12-69:13" }, { "token": [ "UIDENT", "T" ], - "loc": "71:13-71:14" + "loc": "69:13-69:14" }, { "token": "RPAREN", - "loc": "71:14-71:15" + "loc": "69:14-69:15" }, { "token": [ "SEMI", false ], - "loc": "71:15-71:15" + "loc": "69:15-69:15" }, { "token": "NEWLINE", - "loc": "71:15-71:16" + "loc": "69:15-69:16" }, { "token": [ "UIDENT", "Terminated" ], - "loc": "72:3-72:13" + "loc": "70:3-70:13" }, { "token": "NEWLINE", - "loc": "72:13-72:14" + "loc": "70:13-70:14" }, { "token": "RBRACE", - "loc": "73:1-73:2" + "loc": "71:1-71:2" }, { "token": [ "SEMI", false ], - "loc": "73:2-73:2" + "loc": "71:2-71:2" }, { "token": "NEWLINE", - "loc": "73:2-73:3" + "loc": "71:2-71:3" }, { "token": "NEWLINE", - "loc": "74:1-74:2" + "loc": "72:1-72:2" }, { "token": "STRUCT", - "loc": "75:1-75:7" + "loc": "73:1-73:7" }, { "token": [ "UIDENT", "Channel" ], - "loc": "75:8-75:15" + "loc": "73:8-73:15" }, { "token": "LBRACKET", - "loc": "75:15-75:16" + "loc": "73:15-73:16" }, { "token": [ "UIDENT", "T" ], - "loc": "75:16-75:17" + "loc": "73:16-73:17" }, { "token": "RBRACKET", - "loc": "75:17-75:18" + "loc": "73:17-73:18" }, { "token": "LBRACE", - "loc": "75:19-75:20" + "loc": "73:19-73:20" }, { "token": "NEWLINE", - "loc": "75:20-75:21" + "loc": "73:20-73:21" }, { "token": [ "LIDENT", "ctx" ], - "loc": "76:3-76:6" + "loc": "74:3-74:6" }, { "token": "COLON", - "loc": "76:7-76:8" + "loc": "74:7-74:8" }, { "token": [ "UIDENT", "Scheduler" ], - "loc": "76:9-76:18" + "loc": "74:9-74:18" }, { "token": [ "SEMI", false ], - "loc": "76:18-76:18" + "loc": "74:18-74:18" }, { "token": "NEWLINE", - "loc": "76:18-76:19" + "loc": "74:18-74:19" }, { "token": "MUTABLE", - "loc": "77:3-77:6" + "loc": "75:3-75:6" }, { "token": [ "LIDENT", "value" ], - "loc": "77:7-77:12" + "loc": "75:7-75:12" }, { "token": "COLON", - "loc": "77:13-77:14" + "loc": "75:13-75:14" }, { "token": [ "UIDENT", "ChannelState" ], - "loc": "77:15-77:27" + "loc": "75:15-75:27" }, { "token": "LBRACKET", - "loc": "77:27-77:28" + "loc": "75:27-75:28" }, { "token": [ "UIDENT", "T" ], - "loc": "77:28-77:29" + "loc": "75:28-75:29" }, { "token": "RBRACKET", - "loc": "77:29-77:30" + "loc": "75:29-75:30" }, { "token": "NEWLINE", - "loc": "77:30-77:31" + "loc": "75:30-75:31" }, { "token": "RBRACE", - "loc": "78:1-78:2" + "loc": "76:1-76:2" }, { "token": [ "SEMI", false ], - "loc": "78:2-78:2" + "loc": "76:2-76:2" }, { "token": "NEWLINE", - "loc": "78:2-78:3" + "loc": "76:2-76:3" }, { "token": "NEWLINE", - "loc": "79:1-79:2" + "loc": "77:1-77:2" }, { "token": "FN", - "loc": "80:1-80:3" + "loc": "78:1-78:3" }, { "token": "LBRACKET", - "loc": "80:3-80:4" + "loc": "78:3-78:4" }, { "token": [ "UIDENT", "T" ], - "loc": "80:4-80:5" + "loc": "78:4-78:5" }, { "token": "RBRACKET", - "loc": "80:5-80:6" + "loc": "78:5-78:6" }, { "token": [ "UIDENT", "Scheduler" ], - "loc": "80:7-80:16" + "loc": "78:7-78:16" }, { "token": "COLONCOLON", - "loc": "80:16-80:18" + "loc": "78:16-78:18" }, { "token": [ "LIDENT", "make_channel" ], - "loc": "80:18-80:30" + "loc": "78:18-78:30" }, { "token": "LPAREN", - "loc": "80:30-80:31" + "loc": "78:30-78:31" }, { "token": [ "LIDENT", "self" ], - "loc": "80:31-80:35" + "loc": "78:31-78:35" }, { "token": "COLON", - "loc": "80:36-80:37" + "loc": "78:36-78:37" }, { "token": [ "UIDENT", "Scheduler" ], - "loc": "80:38-80:47" + "loc": "78:38-78:47" }, { "token": "RPAREN", - "loc": "80:47-80:48" + "loc": "78:47-78:48" }, { "token": "THIN_ARROW", - "loc": "80:49-80:51" + "loc": "78:49-78:51" }, { "token": [ "UIDENT", "Channel" ], - "loc": "80:52-80:59" + "loc": "78:52-78:59" }, { "token": "LBRACKET", - "loc": "80:59-80:60" + "loc": "78:59-78:60" }, { "token": [ "UIDENT", "T" ], - "loc": "80:60-80:61" + "loc": "78:60-78:61" }, { "token": "RBRACKET", - "loc": "80:61-80:62" + "loc": "78:61-78:62" }, { "token": "LBRACE", - "loc": "80:63-80:64" + "loc": "78:63-78:64" }, { "token": "NEWLINE", - "loc": "80:64-80:65" + "loc": "78:64-78:65" }, { "token": "LBRACE", - "loc": "81:3-81:4" + "loc": "79:3-79:4" }, { "token": [ "LIDENT", "ctx" ], - "loc": "81:5-81:8" + "loc": "79:5-79:8" }, { "token": "COLON", - "loc": "81:8-81:9" + "loc": "79:8-79:9" }, { "token": [ "LIDENT", "self" ], - "loc": "81:10-81:14" + "loc": "79:10-79:14" }, { "token": "COMMA", - "loc": "81:14-81:15" + "loc": "79:14-79:15" }, { "token": [ "LIDENT", "value" ], - "loc": "81:16-81:21" + "loc": "79:16-79:21" }, { "token": "COLON", - "loc": "81:21-81:22" + "loc": "79:21-79:22" }, { "token": [ "UIDENT", "No_value" ], - "loc": "81:23-81:31" + "loc": "79:23-79:31" }, { "token": "RBRACE", - "loc": "81:32-81:33" + "loc": "79:32-79:33" }, { "token": "NEWLINE", - "loc": "81:33-81:34" + "loc": "79:33-79:34" }, { "token": "RBRACE", - "loc": "82:1-82:2" + "loc": "80:1-80:2" }, { "token": [ "SEMI", false ], - "loc": "82:2-82:2" + "loc": "80:2-80:2" }, { "token": "NEWLINE", - "loc": "82:2-82:3" + "loc": "80:2-80:3" }, { "token": "NEWLINE", - "loc": "83:1-83:2" + "loc": "81:1-81:2" }, { "token": "SUBERROR", - "loc": "84:1-84:9" + "loc": "82:1-82:9" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "84:10-84:27" + "loc": "82:10-82:27" }, { "token": [ "SEMI", false ], - "loc": "84:27-84:27" + "loc": "82:27-82:27" }, { "token": "NEWLINE", - "loc": "84:27-84:28" + "loc": "82:27-82:28" }, { "token": "NEWLINE", - "loc": "85:1-85:2" + "loc": "83:1-83:2" }, { "token": "FN", - "loc": "86:1-86:3" + "loc": "84:1-84:3" }, { "token": "LBRACKET", - "loc": "86:3-86:4" + "loc": "84:3-84:4" }, { "token": [ "UIDENT", "T" ], - "loc": "86:4-86:5" + "loc": "84:4-84:5" }, { "token": "RBRACKET", - "loc": "86:5-86:6" + "loc": "84:5-84:6" }, { "token": [ "UIDENT", "Channel" ], - "loc": "86:7-86:14" + "loc": "84:7-84:14" }, { "token": "COLONCOLON", - "loc": "86:14-86:16" + "loc": "84:14-84:16" }, { "token": [ "LIDENT", "terminate" ], - "loc": "86:16-86:25" + "loc": "84:16-84:25" }, { "token": "LPAREN", - "loc": "86:25-86:26" + "loc": "84:25-84:26" }, { "token": [ "LIDENT", "self" ], - "loc": "86:26-86:30" + "loc": "84:26-84:30" }, { "token": "COLON", - "loc": "86:31-86:32" + "loc": "84:31-84:32" }, { "token": [ "UIDENT", "Channel" ], - "loc": "86:33-86:40" + "loc": "84:33-84:40" }, { "token": "LBRACKET", - "loc": "86:40-86:41" + "loc": "84:40-84:41" }, { "token": [ "UIDENT", "T" ], - "loc": "86:41-86:42" + "loc": "84:41-84:42" }, { "token": "RBRACKET", - "loc": "86:42-86:43" + "loc": "84:42-84:43" }, { "token": "RPAREN", - "loc": "86:43-86:44" + "loc": "84:43-84:44" }, { "token": "THIN_ARROW", - "loc": "86:45-86:47" + "loc": "84:45-84:47" }, { "token": [ "UIDENT", "Unit" ], - "loc": "86:48-86:52" + "loc": "84:48-84:52" }, { "token": "LBRACE", - "loc": "86:53-86:54" + "loc": "84:53-84:54" }, { "token": "NEWLINE", - "loc": "86:54-86:55" + "loc": "84:54-84:55" }, { "token": [ "LIDENT", "self" ], - "loc": "87:3-87:7" + "loc": "85:3-85:7" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "87:8-87:13" + "loc": "85:8-85:13" }, { "token": "EQUAL", - "loc": "87:14-87:15" + "loc": "85:14-85:15" }, { "token": [ "UIDENT", "Terminated" ], - "loc": "87:16-87:26" + "loc": "85:16-85:26" }, { "token": "NEWLINE", - "loc": "87:26-87:27" + "loc": "85:26-85:27" }, { "token": "RBRACE", - "loc": "88:1-88:2" + "loc": "86:1-86:2" }, { "token": [ "SEMI", false ], - "loc": "88:2-88:2" + "loc": "86:2-86:2" }, { "token": "NEWLINE", - "loc": "88:2-88:3" + "loc": "86:2-86:3" }, { "token": "NEWLINE", - "loc": "89:1-89:2" + "loc": "87:1-87:2" }, { "token": "ASYNC", - "loc": "90:1-90:6" + "loc": "88:1-88:6" }, { "token": "FN", - "loc": "90:7-90:9" + "loc": "88:7-88:9" }, { "token": "LBRACKET", - "loc": "90:9-90:10" + "loc": "88:9-88:10" }, { "token": [ "UIDENT", "T" ], - "loc": "90:10-90:11" + "loc": "88:10-88:11" }, { "token": "RBRACKET", - "loc": "90:11-90:12" + "loc": "88:11-88:12" }, { "token": [ "UIDENT", "Channel" ], - "loc": "90:13-90:20" + "loc": "88:13-88:20" }, { "token": "COLONCOLON", - "loc": "90:20-90:22" + "loc": "88:20-88:22" }, { "token": [ "LIDENT", "send" ], - "loc": "90:22-90:26" + "loc": "88:22-88:26" }, { "token": "LPAREN", - "loc": "90:26-90:27" + "loc": "88:26-88:27" }, { "token": [ "LIDENT", "self" ], - "loc": "90:27-90:31" + "loc": "88:27-88:31" }, { "token": "COLON", - "loc": "90:32-90:33" + "loc": "88:32-88:33" }, { "token": [ "UIDENT", "Channel" ], - "loc": "90:34-90:41" + "loc": "88:34-88:41" }, { "token": "LBRACKET", - "loc": "90:41-90:42" + "loc": "88:41-88:42" }, { "token": [ "UIDENT", "T" ], - "loc": "90:42-90:43" + "loc": "88:42-88:43" }, { "token": "RBRACKET", - "loc": "90:43-90:44" + "loc": "88:43-88:44" }, { "token": "COMMA", - "loc": "90:44-90:45" + "loc": "88:44-88:45" }, { "token": [ "LIDENT", "value" ], - "loc": "90:46-90:51" + "loc": "88:46-88:51" }, { "token": "COLON", - "loc": "90:52-90:53" + "loc": "88:52-88:53" }, { "token": [ "UIDENT", "T" ], - "loc": "90:54-90:55" + "loc": "88:54-88:55" }, { "token": "RPAREN", - "loc": "90:55-90:56" + "loc": "88:55-88:56" }, { "token": "THIN_ARROW", - "loc": "90:57-90:59" + "loc": "88:57-88:59" }, { "token": [ "UIDENT", "Unit" ], - "loc": "90:60-90:64" + "loc": "88:60-88:64" }, { "token": "RAISE", - "loc": "90:65-90:70" + "loc": "88:65-88:70" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "90:71-90:88" + "loc": "88:71-88:88" }, { "token": "LBRACE", - "loc": "90:89-90:90" + "loc": "88:89-88:90" }, { "token": "NEWLINE", - "loc": "90:90-90:91" + "loc": "88:90-88:91" }, { "token": "MATCH", - "loc": "91:3-91:8" + "loc": "89:3-89:8" }, { "token": [ "LIDENT", "self" ], - "loc": "91:9-91:13" + "loc": "89:9-89:13" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "91:14-91:19" + "loc": "89:14-89:19" }, { "token": "LBRACE", - "loc": "91:20-91:21" + "loc": "89:20-89:21" }, { "token": "NEWLINE", - "loc": "91:21-91:22" + "loc": "89:21-89:22" }, { "token": [ "UIDENT", "Terminated" ], - "loc": "92:5-92:15" + "loc": "90:5-90:15" }, { "token": "FAT_ARROW", - "loc": "92:16-92:18" + "loc": "90:16-90:18" }, { "token": "RAISE", - "loc": "92:19-92:24" + "loc": "90:19-90:24" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "92:25-92:42" + "loc": "90:25-90:42" }, { "token": [ "SEMI", false ], - "loc": "92:42-92:42" + "loc": "90:42-90:42" }, { "token": "NEWLINE", - "loc": "92:42-92:43" + "loc": "90:42-90:43" }, { "token": [ "UIDENT", "Has_value" ], - "loc": "93:5-93:14" + "loc": "91:5-91:14" }, { "token": "LPAREN", - "loc": "93:14-93:15" + "loc": "91:14-91:15" }, { "token": "UNDERSCORE", - "loc": "93:15-93:16" + "loc": "91:15-91:16" }, { "token": "RPAREN", - "loc": "93:16-93:17" + "loc": "91:16-91:17" }, { "token": "FAT_ARROW", - "loc": "93:18-93:20" + "loc": "91:18-91:20" }, { "token": [ "LIDENT", "abort" ], - "loc": "93:21-93:26" + "loc": "91:21-91:26" }, { "token": "LPAREN", - "loc": "93:26-93:27" + "loc": "91:26-91:27" }, { "token": [ "STRING", "multiple sender detected" ], - "loc": "93:27-93:53" + "loc": "91:27-91:53" }, { "token": "RPAREN", - "loc": "93:53-93:54" + "loc": "91:53-91:54" }, { "token": [ "SEMI", false ], - "loc": "93:54-93:54" + "loc": "91:54-91:54" }, { "token": "NEWLINE", - "loc": "93:54-93:55" + "loc": "91:54-91:55" }, { "token": [ "UIDENT", "No_value" ], - "loc": "94:5-94:13" + "loc": "92:5-92:13" }, { "token": "FAT_ARROW", - "loc": "94:14-94:16" + "loc": "92:14-92:16" }, { "token": [ "LIDENT", "self" ], - "loc": "94:17-94:21" + "loc": "92:17-92:21" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "94:22-94:27" + "loc": "92:22-92:27" }, { "token": "EQUAL", - "loc": "94:28-94:29" + "loc": "92:28-92:29" }, { "token": [ "UIDENT", "Has_value" ], - "loc": "94:30-94:39" + "loc": "92:30-92:39" }, { "token": "LPAREN", - "loc": "94:39-94:40" + "loc": "92:39-92:40" }, { "token": [ "LIDENT", "value" ], - "loc": "94:40-94:45" + "loc": "92:40-92:45" }, { "token": "RPAREN", - "loc": "94:45-94:46" + "loc": "92:45-92:46" }, { "token": "NEWLINE", - "loc": "94:46-94:47" + "loc": "92:46-92:47" }, { "token": "RBRACE", - "loc": "95:3-95:4" + "loc": "93:3-93:4" }, { "token": [ "SEMI", false ], - "loc": "95:4-95:4" + "loc": "93:4-93:4" }, { "token": "NEWLINE", - "loc": "95:4-95:5" + "loc": "93:4-93:5" }, { "token": [ @@ -3353,1794 +3305,1770 @@ "consumed_by_docstring": false } ], - "loc": "96:3-96:34" + "loc": "94:3-94:34" }, { "token": "NEWLINE", - "loc": "96:34-96:35" + "loc": "94:34-94:35" }, { "token": "LOOP", - "loc": "97:3-97:7" + "loc": "95:3-95:7" }, { "token": [ "LIDENT", "self" ], - "loc": "97:8-97:12" + "loc": "95:8-95:12" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "97:13-97:18" + "loc": "95:13-95:18" }, { "token": "LBRACE", - "loc": "97:19-97:20" + "loc": "95:19-95:20" }, { "token": "NEWLINE", - "loc": "97:20-97:21" + "loc": "95:20-95:21" }, { "token": [ "UIDENT", "Has_value" ], - "loc": "98:5-98:14" + "loc": "96:5-96:14" }, { "token": "LPAREN", - "loc": "98:14-98:15" + "loc": "96:14-96:15" }, { "token": "UNDERSCORE", - "loc": "98:15-98:16" + "loc": "96:15-96:16" }, { "token": "RPAREN", - "loc": "98:16-98:17" + "loc": "96:16-96:17" }, { "token": "FAT_ARROW", - "loc": "98:18-98:20" + "loc": "96:18-96:20" }, { "token": "LBRACE", - "loc": "98:21-98:22" + "loc": "96:21-96:22" }, { "token": "NEWLINE", - "loc": "98:22-98:23" + "loc": "96:22-96:23" }, { "token": [ "LIDENT", "self" ], - "loc": "99:7-99:11" + "loc": "97:7-97:11" }, { "token": [ "DOT_LIDENT", "ctx" ], - "loc": "99:12-99:15" + "loc": "97:12-97:15" }, { "token": [ "DOT_LIDENT", "suspend" ], - "loc": "99:16-99:23" + "loc": "97:16-97:23" }, { "token": "LPAREN", - "loc": "99:23-99:24" + "loc": "97:23-97:24" }, { "token": "RPAREN", - "loc": "99:24-99:25" + "loc": "97:24-97:25" }, { "token": [ "SEMI", false ], - "loc": "99:25-99:25" + "loc": "97:25-97:25" }, { "token": "NEWLINE", - "loc": "99:25-99:26" + "loc": "97:25-97:26" }, { "token": "CONTINUE", - "loc": "100:7-100:15" + "loc": "98:7-98:15" }, { "token": [ "LIDENT", "self" ], - "loc": "100:16-100:20" + "loc": "98:16-98:20" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "100:21-100:26" + "loc": "98:21-98:26" }, { "token": "NEWLINE", - "loc": "100:26-100:27" + "loc": "98:26-98:27" }, { "token": "RBRACE", - "loc": "101:5-101:6" + "loc": "99:5-99:6" }, { "token": [ "SEMI", false ], - "loc": "101:6-101:6" + "loc": "99:6-99:6" }, { "token": "NEWLINE", - "loc": "101:6-101:7" + "loc": "99:6-99:7" }, { "token": [ "UIDENT", "No_value" ], - "loc": "102:5-102:13" + "loc": "100:5-100:13" }, { "token": "FAT_ARROW", - "loc": "102:14-102:16" + "loc": "100:14-100:16" }, { "token": "LPAREN", - "loc": "102:17-102:18" + "loc": "100:17-100:18" }, { "token": "RPAREN", - "loc": "102:18-102:19" + "loc": "100:18-100:19" }, { "token": [ "SEMI", false ], - "loc": "102:19-102:19" + "loc": "100:19-100:19" }, { "token": "NEWLINE", - "loc": "102:19-102:20" + "loc": "100:19-100:20" }, { "token": [ "UIDENT", "Terminated" ], - "loc": "103:5-103:15" + "loc": "101:5-101:15" }, { "token": "FAT_ARROW", - "loc": "103:16-103:18" + "loc": "101:16-101:18" }, { "token": "RAISE", - "loc": "103:19-103:24" + "loc": "101:19-101:24" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "103:25-103:42" + "loc": "101:25-101:42" }, { "token": "NEWLINE", - "loc": "103:42-103:43" + "loc": "101:42-101:43" }, { "token": "RBRACE", - "loc": "104:3-104:4" + "loc": "102:3-102:4" }, { "token": "NEWLINE", - "loc": "104:4-104:5" + "loc": "102:4-102:5" }, { "token": "RBRACE", - "loc": "105:1-105:2" + "loc": "103:1-103:2" }, { "token": [ "SEMI", false ], - "loc": "105:2-105:2" + "loc": "103:2-103:2" }, { "token": "NEWLINE", - "loc": "105:2-105:3" + "loc": "103:2-103:3" }, { "token": "NEWLINE", - "loc": "106:1-106:2" + "loc": "104:1-104:2" }, { "token": "ASYNC", - "loc": "107:1-107:6" + "loc": "105:1-105:6" }, { "token": "FN", - "loc": "107:7-107:9" + "loc": "105:7-105:9" }, { "token": "LBRACKET", - "loc": "107:9-107:10" + "loc": "105:9-105:10" }, { "token": [ "UIDENT", "T" ], - "loc": "107:10-107:11" + "loc": "105:10-105:11" }, { "token": "RBRACKET", - "loc": "107:11-107:12" + "loc": "105:11-105:12" }, { "token": [ "UIDENT", "Channel" ], - "loc": "107:13-107:20" + "loc": "105:13-105:20" }, { "token": "COLONCOLON", - "loc": "107:20-107:22" + "loc": "105:20-105:22" }, { "token": [ "LIDENT", "recv" ], - "loc": "107:22-107:26" + "loc": "105:22-105:26" }, { "token": "LPAREN", - "loc": "107:26-107:27" + "loc": "105:26-105:27" }, { "token": [ "LIDENT", "self" ], - "loc": "107:27-107:31" + "loc": "105:27-105:31" }, { "token": "COLON", - "loc": "107:32-107:33" + "loc": "105:32-105:33" }, { "token": [ "UIDENT", "Channel" ], - "loc": "107:34-107:41" + "loc": "105:34-105:41" }, { "token": "LBRACKET", - "loc": "107:41-107:42" + "loc": "105:41-105:42" }, { "token": [ "UIDENT", "T" ], - "loc": "107:42-107:43" + "loc": "105:42-105:43" }, { "token": "RBRACKET", - "loc": "107:43-107:44" + "loc": "105:43-105:44" }, { "token": "RPAREN", - "loc": "107:44-107:45" + "loc": "105:44-105:45" }, { "token": "THIN_ARROW", - "loc": "107:46-107:48" + "loc": "105:46-105:48" }, { "token": [ "UIDENT", "T" ], - "loc": "107:49-107:50" + "loc": "105:49-105:50" }, { "token": "RAISE", - "loc": "107:51-107:56" + "loc": "105:51-105:56" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "107:57-107:74" + "loc": "105:57-105:74" }, { "token": "LBRACE", - "loc": "107:75-107:76" + "loc": "105:75-105:76" }, { "token": "NEWLINE", - "loc": "107:76-107:77" + "loc": "105:76-105:77" }, { "token": "LOOP", - "loc": "108:3-108:7" + "loc": "106:3-106:7" }, { "token": [ "LIDENT", "self" ], - "loc": "108:8-108:12" + "loc": "106:8-106:12" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "108:13-108:18" + "loc": "106:13-106:18" }, { "token": "LBRACE", - "loc": "108:19-108:20" + "loc": "106:19-106:20" }, { "token": "NEWLINE", - "loc": "108:20-108:21" + "loc": "106:20-106:21" }, { "token": [ "UIDENT", "Has_value" ], - "loc": "109:5-109:14" + "loc": "107:5-107:14" }, { "token": "LPAREN", - "loc": "109:14-109:15" + "loc": "107:14-107:15" }, { "token": [ "LIDENT", "value" ], - "loc": "109:15-109:20" + "loc": "107:15-107:20" }, { "token": "RPAREN", - "loc": "109:20-109:21" + "loc": "107:20-107:21" }, { "token": "FAT_ARROW", - "loc": "109:22-109:24" + "loc": "107:22-107:24" }, { "token": "LBRACE", - "loc": "109:25-109:26" + "loc": "107:25-107:26" }, { "token": "NEWLINE", - "loc": "109:26-109:27" + "loc": "107:26-107:27" }, { "token": [ "LIDENT", "self" ], - "loc": "110:7-110:11" + "loc": "108:7-108:11" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "110:12-110:17" + "loc": "108:12-108:17" }, { "token": "EQUAL", - "loc": "110:18-110:19" + "loc": "108:18-108:19" }, { "token": [ "UIDENT", "No_value" ], - "loc": "110:20-110:28" + "loc": "108:20-108:28" }, { "token": [ "SEMI", false ], - "loc": "110:28-110:28" + "loc": "108:28-108:28" }, { "token": "NEWLINE", - "loc": "110:28-110:29" + "loc": "108:28-108:29" }, { "token": [ "LIDENT", "value" ], - "loc": "111:7-111:12" + "loc": "109:7-109:12" }, { "token": "NEWLINE", - "loc": "111:12-111:13" + "loc": "109:12-109:13" }, { "token": "RBRACE", - "loc": "112:5-112:6" + "loc": "110:5-110:6" }, { "token": [ "SEMI", false ], - "loc": "112:6-112:6" + "loc": "110:6-110:6" }, { "token": "NEWLINE", - "loc": "112:6-112:7" + "loc": "110:6-110:7" }, { "token": [ "UIDENT", "No_value" ], - "loc": "113:5-113:13" + "loc": "111:5-111:13" }, { "token": "FAT_ARROW", - "loc": "113:14-113:16" + "loc": "111:14-111:16" }, { "token": "LBRACE", - "loc": "113:17-113:18" + "loc": "111:17-111:18" }, { "token": "NEWLINE", - "loc": "113:18-113:19" + "loc": "111:18-111:19" }, { "token": [ "LIDENT", "self" ], - "loc": "114:7-114:11" + "loc": "112:7-112:11" }, { "token": [ "DOT_LIDENT", "ctx" ], - "loc": "114:12-114:15" + "loc": "112:12-112:15" }, { "token": [ "DOT_LIDENT", "suspend" ], - "loc": "114:16-114:23" + "loc": "112:16-112:23" }, { "token": "LPAREN", - "loc": "114:23-114:24" + "loc": "112:23-112:24" }, { "token": "RPAREN", - "loc": "114:24-114:25" + "loc": "112:24-112:25" }, { "token": [ "SEMI", false ], - "loc": "114:25-114:25" + "loc": "112:25-112:25" }, { "token": "NEWLINE", - "loc": "114:25-114:26" + "loc": "112:25-112:26" }, { "token": "CONTINUE", - "loc": "115:7-115:15" + "loc": "113:7-113:15" }, { "token": [ "LIDENT", "self" ], - "loc": "115:16-115:20" + "loc": "113:16-113:20" }, { "token": [ "DOT_LIDENT", "value" ], - "loc": "115:21-115:26" + "loc": "113:21-113:26" }, { "token": "NEWLINE", - "loc": "115:26-115:27" + "loc": "113:26-113:27" }, { "token": "RBRACE", - "loc": "116:5-116:6" + "loc": "114:5-114:6" }, { "token": [ "SEMI", false ], - "loc": "116:6-116:6" + "loc": "114:6-114:6" }, { "token": "NEWLINE", - "loc": "116:6-116:7" + "loc": "114:6-114:7" }, { "token": [ "UIDENT", "Terminated" ], - "loc": "117:5-117:15" + "loc": "115:5-115:15" }, { "token": "FAT_ARROW", - "loc": "117:16-117:18" + "loc": "115:16-115:18" }, { "token": "RAISE", - "loc": "117:19-117:24" + "loc": "115:19-115:24" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "117:25-117:42" + "loc": "115:25-115:42" }, { "token": "NEWLINE", - "loc": "117:42-117:43" + "loc": "115:42-115:43" }, { "token": "RBRACE", - "loc": "118:3-118:4" + "loc": "116:3-116:4" }, { "token": "NEWLINE", - "loc": "118:4-118:5" + "loc": "116:4-116:5" }, { "token": "RBRACE", - "loc": "119:1-119:2" + "loc": "117:1-117:2" }, { "token": [ "SEMI", false ], - "loc": "119:2-119:2" + "loc": "117:2-117:2" }, { "token": "NEWLINE", - "loc": "119:2-119:3" + "loc": "117:2-117:3" }, { "token": "NEWLINE", - "loc": "120:1-120:2" + "loc": "118:1-118:2" }, { "token": "FN", - "loc": "121:1-121:3" + "loc": "119:1-119:3" }, { "token": [ "LIDENT", "init" ], - "loc": "121:4-121:8" + "loc": "119:4-119:8" }, { "token": "LBRACE", - "loc": "121:9-121:10" + "loc": "119:9-119:10" }, { "token": "NEWLINE", - "loc": "121:10-121:11" + "loc": "119:10-119:11" }, { "token": "LET", - "loc": "122:3-122:6" + "loc": "120:3-120:6" }, { "token": [ "LIDENT", "ctx" ], - "loc": "122:7-122:10" + "loc": "120:7-120:10" }, { "token": "EQUAL", - "loc": "122:11-122:12" + "loc": "120:11-120:12" }, { "token": [ "UIDENT", "Scheduler" ], - "loc": "122:13-122:22" + "loc": "120:13-120:22" }, { "token": "COLONCOLON", - "loc": "122:22-122:24" + "loc": "120:22-120:24" }, { "token": [ "LIDENT", "new" ], - "loc": "122:24-122:27" + "loc": "120:24-120:27" }, { "token": "LPAREN", - "loc": "122:27-122:28" + "loc": "120:27-120:28" }, { "token": "RPAREN", - "loc": "122:28-122:29" + "loc": "120:28-120:29" }, { "token": [ "SEMI", false ], - "loc": "122:29-122:29" + "loc": "120:29-120:29" }, { "token": "NEWLINE", - "loc": "122:29-122:30" + "loc": "120:29-120:30" }, { "token": "LET", - "loc": "123:3-123:6" + "loc": "121:3-121:6" }, { "token": [ "LIDENT", "c1" ], - "loc": "123:7-123:9" + "loc": "121:7-121:9" }, { "token": "COLON", - "loc": "123:10-123:11" + "loc": "121:10-121:11" }, { "token": [ "UIDENT", "Channel" ], - "loc": "123:12-123:19" + "loc": "121:12-121:19" }, { "token": "LBRACKET", - "loc": "123:19-123:20" + "loc": "121:19-121:20" }, { "token": [ "UIDENT", "Int" ], - "loc": "123:20-123:23" + "loc": "121:20-121:23" }, { "token": "RBRACKET", - "loc": "123:23-123:24" + "loc": "121:23-121:24" }, { "token": "EQUAL", - "loc": "123:25-123:26" + "loc": "121:25-121:26" }, { "token": [ "LIDENT", "ctx" ], - "loc": "123:27-123:30" + "loc": "121:27-121:30" }, { "token": [ "DOT_LIDENT", "make_channel" ], - "loc": "123:31-123:43" + "loc": "121:31-121:43" }, { "token": "LPAREN", - "loc": "123:43-123:44" + "loc": "121:43-121:44" }, { "token": "RPAREN", - "loc": "123:44-123:45" + "loc": "121:44-121:45" }, { "token": [ "SEMI", false ], - "loc": "123:45-123:45" + "loc": "121:45-121:45" }, { "token": "NEWLINE", - "loc": "123:45-123:46" + "loc": "121:45-121:46" }, { "token": "LET", - "loc": "124:3-124:6" + "loc": "122:3-122:6" }, { "token": [ "LIDENT", "c2" ], - "loc": "124:7-124:9" + "loc": "122:7-122:9" }, { "token": "COLON", - "loc": "124:10-124:11" + "loc": "122:10-122:11" }, { "token": [ "UIDENT", "Channel" ], - "loc": "124:12-124:19" + "loc": "122:12-122:19" }, { "token": "LBRACKET", - "loc": "124:19-124:20" + "loc": "122:19-122:20" }, { "token": [ "UIDENT", "Int" ], - "loc": "124:20-124:23" + "loc": "122:20-122:23" }, { "token": "RBRACKET", - "loc": "124:23-124:24" + "loc": "122:23-122:24" }, { "token": "EQUAL", - "loc": "124:25-124:26" + "loc": "122:25-122:26" }, { "token": [ "LIDENT", "ctx" ], - "loc": "124:27-124:30" + "loc": "122:27-122:30" }, { "token": [ "DOT_LIDENT", "make_channel" ], - "loc": "124:31-124:43" + "loc": "122:31-122:43" }, { "token": "LPAREN", - "loc": "124:43-124:44" + "loc": "122:43-122:44" }, { "token": "RPAREN", - "loc": "124:44-124:45" + "loc": "122:44-122:45" }, { "token": [ "SEMI", false ], - "loc": "124:45-124:45" + "loc": "122:45-122:45" }, { "token": "NEWLINE", - "loc": "124:45-124:46" + "loc": "122:45-122:46" }, { "token": [ "LIDENT", "ctx" ], - "loc": "125:3-125:6" + "loc": "123:3-123:6" }, { "token": [ "DOT_LIDENT", "spawn" ], - "loc": "125:7-125:12" + "loc": "123:7-123:12" }, { "token": "LPAREN", - "loc": "125:12-125:13" - }, - { - "token": "FN", - "loc": "125:13-125:15" - }, - { - "token": "LPAREN", - "loc": "125:16-125:17" + "loc": "123:12-123:13" }, { "token": [ "LIDENT", "id" ], - "loc": "125:17-125:19" + "loc": "123:13-123:15" }, { - "token": "RPAREN", - "loc": "125:19-125:20" + "token": "FAT_ARROW", + "loc": "123:16-123:18" }, { "token": "LBRACE", - "loc": "125:21-125:22" + "loc": "123:19-123:20" }, { "token": "NEWLINE", - "loc": "125:22-125:23" + "loc": "123:20-123:21" }, { "token": "TRY", - "loc": "126:5-126:8" + "loc": "124:5-124:8" }, { "token": "LBRACE", - "loc": "126:9-126:10" + "loc": "124:9-124:10" }, { "token": "NEWLINE", - "loc": "126:10-126:11" + "loc": "124:10-124:11" }, { "token": "FOR", - "loc": "127:7-127:10" + "loc": "125:7-125:10" }, { "token": "LBRACE", - "loc": "127:11-127:12" + "loc": "125:11-125:12" }, { "token": "NEWLINE", - "loc": "127:12-127:13" + "loc": "125:12-125:13" }, { "token": [ "LIDENT", "println" ], - "loc": "128:9-128:16" + "loc": "126:9-126:16" }, { "token": "LPAREN", - "loc": "128:16-128:17" + "loc": "126:16-126:17" }, { "token": [ "INTERP", "\"thread \\{id}: received \\{c1.recv()} from channel 1\"" ], - "loc": "128:17-128:69" + "loc": "126:17-126:69" }, { "token": "RPAREN", - "loc": "128:69-128:70" + "loc": "126:69-126:70" }, { "token": "NEWLINE", - "loc": "128:70-128:71" + "loc": "126:70-126:71" }, { "token": "RBRACE", - "loc": "129:7-129:8" + "loc": "127:7-127:8" }, { "token": "NEWLINE", - "loc": "129:8-129:9" + "loc": "127:8-127:9" }, { "token": "RBRACE", - "loc": "130:5-130:6" + "loc": "128:5-128:6" }, { "token": "CATCH", - "loc": "130:7-130:12" + "loc": "128:7-128:12" }, { "token": "LBRACE", - "loc": "130:13-130:14" + "loc": "128:13-128:14" }, { "token": "NEWLINE", - "loc": "130:14-130:15" + "loc": "128:14-128:15" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "131:7-131:24" + "loc": "129:7-129:24" }, { "token": "FAT_ARROW", - "loc": "131:25-131:27" + "loc": "129:25-129:27" }, { "token": [ "LIDENT", "println" ], - "loc": "131:28-131:35" + "loc": "129:28-129:35" }, { "token": "LPAREN", - "loc": "131:35-131:36" + "loc": "129:35-129:36" }, { "token": [ "INTERP", "\"thread \\{id}: received termination\"" ], - "loc": "131:36-131:72" + "loc": "129:36-129:72" }, { "token": "RPAREN", - "loc": "131:72-131:73" + "loc": "129:72-129:73" }, { "token": "NEWLINE", - "loc": "131:73-131:74" + "loc": "129:73-129:74" }, { "token": "RBRACE", - "loc": "132:5-132:6" + "loc": "130:5-130:6" }, { "token": "NEWLINE", - "loc": "132:6-132:7" + "loc": "130:6-130:7" }, { "token": "RBRACE", - "loc": "133:3-133:4" + "loc": "131:3-131:4" }, { "token": "RPAREN", - "loc": "133:4-133:5" + "loc": "131:4-131:5" }, { "token": [ "SEMI", false ], - "loc": "133:5-133:5" + "loc": "131:5-131:5" }, { "token": "NEWLINE", - "loc": "133:5-133:6" + "loc": "131:5-131:6" }, { "token": [ "LIDENT", "ctx" ], - "loc": "134:3-134:6" + "loc": "132:3-132:6" }, { "token": [ "DOT_LIDENT", "spawn" ], - "loc": "134:7-134:12" - }, - { - "token": "LPAREN", - "loc": "134:12-134:13" - }, - { - "token": "FN", - "loc": "134:13-134:15" + "loc": "132:7-132:12" }, { "token": "LPAREN", - "loc": "134:16-134:17" + "loc": "132:12-132:13" }, { "token": [ "LIDENT", "id" ], - "loc": "134:17-134:19" + "loc": "132:13-132:15" }, { - "token": "RPAREN", - "loc": "134:19-134:20" + "token": "FAT_ARROW", + "loc": "132:16-132:18" }, { "token": "LBRACE", - "loc": "134:21-134:22" + "loc": "132:19-132:20" }, { "token": "NEWLINE", - "loc": "134:22-134:23" + "loc": "132:20-132:21" }, { "token": "TRY", - "loc": "135:5-135:8" + "loc": "133:5-133:8" }, { "token": "LBRACE", - "loc": "135:9-135:10" + "loc": "133:9-133:10" }, { "token": "NEWLINE", - "loc": "135:10-135:11" + "loc": "133:10-133:11" }, { "token": "FOR", - "loc": "136:7-136:10" + "loc": "134:7-134:10" }, { "token": "LBRACE", - "loc": "136:11-136:12" + "loc": "134:11-134:12" }, { "token": "NEWLINE", - "loc": "136:12-136:13" + "loc": "134:12-134:13" }, { "token": [ "LIDENT", "println" ], - "loc": "137:9-137:16" + "loc": "135:9-135:16" }, { "token": "LPAREN", - "loc": "137:16-137:17" + "loc": "135:16-135:17" }, { "token": [ "INTERP", "\"thread \\{id}: received \\{c2.recv()} from channel 2\"" ], - "loc": "137:17-137:69" + "loc": "135:17-135:69" }, { "token": "RPAREN", - "loc": "137:69-137:70" + "loc": "135:69-135:70" }, { "token": "NEWLINE", - "loc": "137:70-137:71" + "loc": "135:70-135:71" }, { "token": "RBRACE", - "loc": "138:7-138:8" + "loc": "136:7-136:8" }, { "token": "NEWLINE", - "loc": "138:8-138:9" + "loc": "136:8-136:9" }, { "token": "RBRACE", - "loc": "139:5-139:6" + "loc": "137:5-137:6" }, { "token": "CATCH", - "loc": "139:7-139:12" + "loc": "137:7-137:12" }, { "token": "LBRACE", - "loc": "139:13-139:14" + "loc": "137:13-137:14" }, { "token": "NEWLINE", - "loc": "139:14-139:15" + "loc": "137:14-137:15" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "140:7-140:24" + "loc": "138:7-138:24" }, { "token": "FAT_ARROW", - "loc": "140:25-140:27" + "loc": "138:25-138:27" }, { "token": [ "LIDENT", "println" ], - "loc": "140:28-140:35" + "loc": "138:28-138:35" }, { "token": "LPAREN", - "loc": "140:35-140:36" + "loc": "138:35-138:36" }, { "token": [ "INTERP", "\"thread \\{id}: received termination\"" ], - "loc": "140:36-140:72" + "loc": "138:36-138:72" }, { "token": "RPAREN", - "loc": "140:72-140:73" + "loc": "138:72-138:73" }, { "token": "NEWLINE", - "loc": "140:73-140:74" + "loc": "138:73-138:74" }, { "token": "RBRACE", - "loc": "141:5-141:6" + "loc": "139:5-139:6" }, { "token": "NEWLINE", - "loc": "141:6-141:7" + "loc": "139:6-139:7" }, { "token": "RBRACE", - "loc": "142:3-142:4" + "loc": "140:3-140:4" }, { "token": "RPAREN", - "loc": "142:4-142:5" + "loc": "140:4-140:5" }, { "token": [ "SEMI", false ], - "loc": "142:5-142:5" + "loc": "140:5-140:5" }, { "token": "NEWLINE", - "loc": "142:5-142:6" + "loc": "140:5-140:6" }, { "token": [ "LIDENT", "ctx" ], - "loc": "143:3-143:6" + "loc": "141:3-141:6" }, { "token": [ "DOT_LIDENT", "spawn" ], - "loc": "143:7-143:12" - }, - { - "token": "LPAREN", - "loc": "143:12-143:13" - }, - { - "token": "FN", - "loc": "143:13-143:15" + "loc": "141:7-141:12" }, { "token": "LPAREN", - "loc": "143:16-143:17" + "loc": "141:12-141:13" }, { "token": [ "LIDENT", "id" ], - "loc": "143:17-143:19" + "loc": "141:13-141:15" }, { - "token": "RPAREN", - "loc": "143:19-143:20" + "token": "FAT_ARROW", + "loc": "141:16-141:18" }, { "token": "LBRACE", - "loc": "143:21-143:22" + "loc": "141:19-141:20" }, { "token": "NEWLINE", - "loc": "143:22-143:23" + "loc": "141:20-141:21" }, { "token": "TRY", - "loc": "144:5-144:8" + "loc": "142:5-142:8" }, { "token": "LBRACE", - "loc": "144:9-144:10" + "loc": "142:9-142:10" }, { "token": "NEWLINE", - "loc": "144:10-144:11" + "loc": "142:10-142:11" }, { "token": [ "LIDENT", "println" ], - "loc": "145:7-145:14" + "loc": "143:7-143:14" }, { "token": "LPAREN", - "loc": "145:14-145:15" + "loc": "143:14-143:15" }, { "token": [ "INTERP", "\"thread \\{id}: sending 1 to channel 1\"" ], - "loc": "145:15-145:53" + "loc": "143:15-143:53" }, { "token": "RPAREN", - "loc": "145:53-145:54" + "loc": "143:53-143:54" }, { "token": [ "SEMI", false ], - "loc": "145:54-145:54" + "loc": "143:54-143:54" }, { "token": "NEWLINE", - "loc": "145:54-145:55" + "loc": "143:54-143:55" }, { "token": [ "LIDENT", "c1" ], - "loc": "146:7-146:9" + "loc": "144:7-144:9" }, { "token": [ "DOT_LIDENT", "send" ], - "loc": "146:10-146:14" + "loc": "144:10-144:14" }, { "token": "LPAREN", - "loc": "146:14-146:15" + "loc": "144:14-144:15" }, { "token": [ "INT", "1" ], - "loc": "146:15-146:16" + "loc": "144:15-144:16" }, { "token": "RPAREN", - "loc": "146:16-146:17" + "loc": "144:16-144:17" }, { "token": [ "SEMI", false ], - "loc": "146:17-146:17" + "loc": "144:17-144:17" }, { "token": "NEWLINE", - "loc": "146:17-146:18" + "loc": "144:17-144:18" }, { "token": [ "LIDENT", "println" ], - "loc": "147:7-147:14" + "loc": "145:7-145:14" }, { "token": "LPAREN", - "loc": "147:14-147:15" + "loc": "145:14-145:15" }, { "token": [ "INTERP", "\"thread \\{id}: sending 2 to channel 2\"" ], - "loc": "147:15-147:53" + "loc": "145:15-145:53" }, { "token": "RPAREN", - "loc": "147:53-147:54" + "loc": "145:53-145:54" }, { "token": [ "SEMI", false ], - "loc": "147:54-147:54" + "loc": "145:54-145:54" }, { "token": "NEWLINE", - "loc": "147:54-147:55" + "loc": "145:54-145:55" }, { "token": [ "LIDENT", "c2" ], - "loc": "148:7-148:9" + "loc": "146:7-146:9" }, { "token": [ "DOT_LIDENT", "send" ], - "loc": "148:10-148:14" + "loc": "146:10-146:14" }, { "token": "LPAREN", - "loc": "148:14-148:15" + "loc": "146:14-146:15" }, { "token": [ "INT", "2" ], - "loc": "148:15-148:16" + "loc": "146:15-146:16" }, { "token": "RPAREN", - "loc": "148:16-148:17" + "loc": "146:16-146:17" }, { "token": [ "SEMI", false ], - "loc": "148:17-148:17" + "loc": "146:17-146:17" }, { "token": "NEWLINE", - "loc": "148:17-148:18" + "loc": "146:17-146:18" }, { "token": [ "LIDENT", "println" ], - "loc": "149:7-149:14" + "loc": "147:7-147:14" }, { "token": "LPAREN", - "loc": "149:14-149:15" + "loc": "147:14-147:15" }, { "token": [ "INTERP", "\"thread \\{id}: sending 3 to channel 2\"" ], - "loc": "149:15-149:53" + "loc": "147:15-147:53" }, { "token": "RPAREN", - "loc": "149:53-149:54" + "loc": "147:53-147:54" }, { "token": [ "SEMI", false ], - "loc": "149:54-149:54" + "loc": "147:54-147:54" }, { "token": "NEWLINE", - "loc": "149:54-149:55" + "loc": "147:54-147:55" }, { "token": [ "LIDENT", "c2" ], - "loc": "150:7-150:9" + "loc": "148:7-148:9" }, { "token": [ "DOT_LIDENT", "send" ], - "loc": "150:10-150:14" + "loc": "148:10-148:14" }, { "token": "LPAREN", - "loc": "150:14-150:15" + "loc": "148:14-148:15" }, { "token": [ "INT", "3" ], - "loc": "150:15-150:16" + "loc": "148:15-148:16" }, { "token": "RPAREN", - "loc": "150:16-150:17" + "loc": "148:16-148:17" }, { "token": [ "SEMI", false ], - "loc": "150:17-150:17" + "loc": "148:17-148:17" }, { "token": "NEWLINE", - "loc": "150:17-150:18" + "loc": "148:17-148:18" }, { "token": [ "LIDENT", "println" ], - "loc": "151:7-151:14" + "loc": "149:7-149:14" }, { "token": "LPAREN", - "loc": "151:14-151:15" + "loc": "149:14-149:15" }, { "token": [ "INTERP", "\"thread \\{id}: sending 4 to channel 2\"" ], - "loc": "151:15-151:53" + "loc": "149:15-149:53" }, { "token": "RPAREN", - "loc": "151:53-151:54" + "loc": "149:53-149:54" }, { "token": [ "SEMI", false ], - "loc": "151:54-151:54" + "loc": "149:54-149:54" }, { "token": "NEWLINE", - "loc": "151:54-151:55" + "loc": "149:54-149:55" }, { "token": [ "LIDENT", "c1" ], - "loc": "152:7-152:9" + "loc": "150:7-150:9" }, { "token": [ "DOT_LIDENT", "send" ], - "loc": "152:10-152:14" + "loc": "150:10-150:14" }, { "token": "LPAREN", - "loc": "152:14-152:15" + "loc": "150:14-150:15" }, { "token": [ "INT", "4" ], - "loc": "152:15-152:16" + "loc": "150:15-150:16" }, { "token": "RPAREN", - "loc": "152:16-152:17" + "loc": "150:16-150:17" }, { "token": [ "SEMI", false ], - "loc": "152:17-152:17" + "loc": "150:17-150:17" }, { "token": "NEWLINE", - "loc": "152:17-152:18" + "loc": "150:17-150:18" }, { "token": [ "LIDENT", "println" ], - "loc": "153:7-153:14" + "loc": "151:7-151:14" }, { "token": "LPAREN", - "loc": "153:14-153:15" + "loc": "151:14-151:15" }, { "token": [ "INTERP", "\"thread \\{id}: terminating channel 1\"" ], - "loc": "153:15-153:52" + "loc": "151:15-151:52" }, { "token": "RPAREN", - "loc": "153:52-153:53" + "loc": "151:52-151:53" }, { "token": [ "SEMI", false ], - "loc": "153:53-153:53" + "loc": "151:53-151:53" }, { "token": "NEWLINE", - "loc": "153:53-153:54" + "loc": "151:53-151:54" }, { "token": [ "LIDENT", "c1" ], - "loc": "154:7-154:9" + "loc": "152:7-152:9" }, { "token": [ "DOT_LIDENT", "terminate" ], - "loc": "154:10-154:19" + "loc": "152:10-152:19" }, { "token": "LPAREN", - "loc": "154:19-154:20" + "loc": "152:19-152:20" }, { "token": "RPAREN", - "loc": "154:20-154:21" + "loc": "152:20-152:21" }, { "token": [ "SEMI", false ], - "loc": "154:21-154:21" + "loc": "152:21-152:21" }, { "token": "NEWLINE", - "loc": "154:21-154:22" + "loc": "152:21-152:22" }, { "token": [ "LIDENT", "println" ], - "loc": "155:7-155:14" + "loc": "153:7-153:14" }, { "token": "LPAREN", - "loc": "155:14-155:15" + "loc": "153:14-153:15" }, { "token": [ "INTERP", "\"thread \\{id}: terminating channel 2\"" ], - "loc": "155:15-155:52" + "loc": "153:15-153:52" }, { "token": "RPAREN", - "loc": "155:52-155:53" + "loc": "153:52-153:53" }, { "token": [ "SEMI", false ], - "loc": "155:53-155:53" + "loc": "153:53-153:53" }, { "token": "NEWLINE", - "loc": "155:53-155:54" + "loc": "153:53-153:54" }, { "token": [ "LIDENT", "c2" ], - "loc": "156:7-156:9" + "loc": "154:7-154:9" }, { "token": [ "DOT_LIDENT", "terminate" ], - "loc": "156:10-156:19" + "loc": "154:10-154:19" }, { "token": "LPAREN", - "loc": "156:19-156:20" + "loc": "154:19-154:20" }, { "token": "RPAREN", - "loc": "156:20-156:21" + "loc": "154:20-154:21" }, { "token": "NEWLINE", - "loc": "156:21-156:22" + "loc": "154:21-154:22" }, { "token": "RBRACE", - "loc": "157:5-157:6" + "loc": "155:5-155:6" }, { "token": "CATCH", - "loc": "157:7-157:12" + "loc": "155:7-155:12" }, { "token": "LBRACE", - "loc": "157:13-157:14" + "loc": "155:13-155:14" }, { "token": "NEWLINE", - "loc": "157:14-157:15" + "loc": "155:14-155:15" }, { "token": [ "UIDENT", "ChannelTerminated" ], - "loc": "158:7-158:24" + "loc": "156:7-156:24" }, { "token": "FAT_ARROW", - "loc": "158:25-158:27" + "loc": "156:25-156:27" }, { "token": [ "LIDENT", "abort" ], - "loc": "158:28-158:33" + "loc": "156:28-156:33" }, { "token": "LPAREN", - "loc": "158:33-158:34" + "loc": "156:33-156:34" }, { "token": [ "STRING", "unexpected termination of channel" ], - "loc": "158:34-158:69" + "loc": "156:34-156:69" }, { "token": "RPAREN", - "loc": "158:69-158:70" + "loc": "156:69-156:70" }, { "token": "NEWLINE", - "loc": "158:70-158:71" + "loc": "156:70-156:71" }, { "token": "RBRACE", - "loc": "159:5-159:6" + "loc": "157:5-157:6" }, { "token": "NEWLINE", - "loc": "159:6-159:7" + "loc": "157:6-157:7" }, { "token": "RBRACE", - "loc": "160:3-160:4" + "loc": "158:3-158:4" }, { "token": "RPAREN", - "loc": "160:4-160:5" + "loc": "158:4-158:5" }, { "token": [ "SEMI", false ], - "loc": "160:5-160:5" + "loc": "158:5-158:5" }, { "token": "NEWLINE", - "loc": "160:5-160:6" + "loc": "158:5-158:6" }, { "token": [ "LIDENT", "ctx" ], - "loc": "161:3-161:6" + "loc": "159:3-159:6" }, { "token": [ "DOT_LIDENT", "run_all" ], - "loc": "161:7-161:14" + "loc": "159:7-159:14" }, { "token": "LPAREN", - "loc": "161:14-161:15" + "loc": "159:14-159:15" }, { "token": "RPAREN", - "loc": "161:15-161:16" + "loc": "159:15-159:16" }, { "token": "NEWLINE", - "loc": "161:16-161:17" + "loc": "159:16-159:17" }, { "token": "RBRACE", - "loc": "162:1-162:2" + "loc": "160:1-160:2" }, { "token": [ "SEMI", false ], - "loc": "162:2-162:2" + "loc": "160:2-160:2" }, { "token": "NEWLINE", - "loc": "162:2-162:3" + "loc": "160:2-160:3" }, { "token": "EOF", - "loc": "163:1-163:1" + "loc": "161:1-161:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.json b/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.json index 7a663694..730acded 100644 --- a/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.json +++ b/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.json @@ -2583,126 +2583,93 @@ "children": [] }, "body": { - "kind": "Expr::Try", + "kind": "Expr::Group", "loc": null, "children": { - "body": { - "kind": "Expr::Apply", + "expr": { + "kind": "Expr::Try", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "f" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "id" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "id" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "err" - } - } - } - }, - "guard": null, - "body": { - "kind": "Expr::Mutate", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "record": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "self" - } - } - } - } - } - }, - "accessor": { - "kind": "Accessor::Label", + "pattern": { + "kind": "Pattern::Var", "loc": null, "children": { "value": { - "kind": "Label", + "kind": "Binder", "loc": null, "children": { "name": "err" @@ -2710,87 +2677,131 @@ } } }, - "field": { - "kind": "Expr::Apply", + "guard": null, + "body": { + "kind": "Expr::Mutate", "loc": null, "children": { - "func": { - "kind": "Expr::Constr", + "record": { + "kind": "Expr::Ident", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "id": { + "kind": "Var", "loc": null, "children": { "name": { - "kind": "ConstrName", + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "Some" + "value": "self" } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", + "accessor": { + "kind": "Accessor::Label", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "value": { + "kind": "Label", "loc": null, "children": { - "value": { - "kind": "Expr::Ident", + "name": "err" + } + } + } + }, + "field": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", "loc": null, "children": { - "id": { - "kind": "Var", + "name": { + "kind": "ConstrName", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "value": "err" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } + "augmented_by": null } - }, - "augmented_by": null + } } } - } - } - ] + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } }, - "catch_all": false, - "try_else": null, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -2800,7 +2811,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt b/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt index e8561415..a7508362 100644 --- a/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt @@ -43,7 +43,7 @@ fn Scheduler::spawn(self : Scheduler, f : async (Int) -> Unit raise) -> Unit { let id = self.next_id self.next_id += 1 fn ok() { - run_async(fn () { + run_async(() => { try f(id) catch { err => self.err = Some(err) } diff --git a/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt.tokens.json index e0d17b54..927525fc 100644 --- a/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_coroutine_cancel.mbt.tokens.json @@ -1561,17 +1561,17 @@ "token": "LPAREN", "loc": "46:14-46:15" }, - { - "token": "FN", - "loc": "46:15-46:17" - }, { "token": "LPAREN", - "loc": "46:18-46:19" + "loc": "46:15-46:16" }, { "token": "RPAREN", - "loc": "46:19-46:20" + "loc": "46:16-46:17" + }, + { + "token": "FAT_ARROW", + "loc": "46:18-46:20" }, { "token": "LBRACE", diff --git a/test/sync_test/__snapshot__/pipeline_test_error_enum_match.json b/test/sync_test/__snapshot__/pipeline_test_error_enum_match.json new file mode 100644 index 00000000..a7c4a456 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_error_enum_match.json @@ -0,0 +1,1541 @@ +[ + { + "kind": "Impl::TopTypeDef", + "loc": null, + "children": { + "value": { + "kind": "TypeDecl", + "loc": null, + "children": { + "tycon": "DemoError", + "params": { + "kind": "TypeDecl::ParamList", + "loc": null, + "children": [] + }, + "components": { + "kind": "TypeDesc::Error", + "loc": null, + "children": { + "value": { + "kind": "ExceptionDecl::EnumPayload", + "loc": null, + "children": { + "value": { + "kind": "ExceptionDecl::EnumPayload::ConstrList", + "loc": null, + "children": [ + { + "kind": "ConstrDecl", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "InvalidChar" + } + }, + "args": { + "kind": "ConstrDecl::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrParam", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Pos" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "label": null + } + }, + { + "kind": "ConstrParam", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Char" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "label": null + } + } + ] + }, + "tag": null, + "attrs": { + "kind": "ConstrDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + } + ] + } + } + } + } + }, + "attrs": { + "kind": "TypeDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "", + "type_vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "is_declare": false, + "deriving": { + "kind": "TypeDecl::DerivingList", + "loc": null, + "children": [] + } + } + } + } + }, + { + "kind": "Impl::TopTypeDef", + "loc": null, + "children": { + "value": { + "kind": "TypeDecl", + "loc": null, + "children": { + "tycon": "Pos", + "params": { + "kind": "TypeDecl::ParamList", + "loc": null, + "children": [] + }, + "components": { + "kind": "TypeDesc::Record", + "loc": null, + "children": { + "value": { + "kind": "TypeDesc::Record::FieldList", + "loc": null, + "children": [ + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "x" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + } + ] + } + } + }, + "attrs": { + "kind": "TypeDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "", + "type_vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "is_declare": false, + "deriving": { + "kind": "TypeDecl::DerivingList", + "loc": null, + "children": [] + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "foo" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Raise", + "loc": null, + "children": { + "err_value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "InvalidChar" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::TypeName", + "loc": null, + "children": { + "value": { + "kind": "TypeName", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "DemoError" + } + }, + "is_object": false + } + } + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Record", + "loc": null, + "children": { + "type_name": null, + "fields": { + "kind": "Expr::Record::FieldList", + "loc": null, + "children": [ + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "x" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + }, + "is_pun": false + } + } + ] + }, + "trailing": { + "kind": "Trailing::None", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Char", + "loc": null, + "children": { + "value": "a" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "init" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Try", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "foo" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "InvalidChar" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::TypeName", + "loc": null, + "children": { + "value": { + "kind": "TypeName", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "DemoError" + } + }, + "is_object": false + } + } + } + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "pos" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "ch" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "invalid char at " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "pos.x" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ": " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "ch" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "unknown error" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "ok" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "has_try": true + } + } + } + } + } + }, + { + "kind": "Impl::TopTypeDef", + "loc": null, + "children": { + "value": { + "kind": "TypeDecl", + "loc": null, + "children": { + "tycon": "MultiError", + "params": { + "kind": "TypeDecl::ParamList", + "loc": null, + "children": [] + }, + "components": { + "kind": "TypeDesc::Error", + "loc": null, + "children": { + "value": { + "kind": "ExceptionDecl::EnumPayload", + "loc": null, + "children": { + "value": { + "kind": "ExceptionDecl::EnumPayload::ConstrList", + "loc": null, + "children": [ + { + "kind": "ConstrDecl", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "E" + } + }, + "args": { + "kind": "ConstrDecl::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrParam", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "label": null + } + }, + { + "kind": "ConstrParam", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Double" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "label": null + } + } + ] + }, + "tag": null, + "attrs": { + "kind": "ConstrDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + } + ] + } + } + } + } + }, + "attrs": { + "kind": "TypeDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "", + "type_vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "is_declare": false, + "deriving": { + "kind": "TypeDecl::DerivingList", + "loc": null, + "children": [] + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "bar" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::ErrorType", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "MultiError" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Raise", + "loc": null, + "children": { + "err_value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "E" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Double", + "loc": null, + "children": { + "value": "4.2" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "init" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Try", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bar" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "E" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "d" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "E(" + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "i" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ", " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "d" + } + }, + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": ")" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true + } + } + } + } + } + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt b/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt index 06920130..53ade023 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt @@ -15,7 +15,7 @@ fn init { DemoError::InvalidChar(pos, ch) => println("invalid char at \{pos.x}: \{ch}") _ => println("unknown error") - } else { + } noraise { _ => println("ok") } } diff --git a/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt.tokens.json index 2c298616..0d9536fe 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_enum_match.mbt.tokens.json @@ -440,16 +440,16 @@ "loc": "18:3-18:4" }, { - "token": "ELSE", - "loc": "18:5-18:9" + "token": "NORAISE", + "loc": "18:5-18:12" }, { "token": "LBRACE", - "loc": "18:10-18:11" + "loc": "18:13-18:14" }, { "token": "NEWLINE", - "loc": "18:11-18:12" + "loc": "18:14-18:15" }, { "token": "UNDERSCORE", diff --git a/test/sync_test/__snapshot__/pipeline_test_error_handle2.json b/test/sync_test/__snapshot__/pipeline_test_error_handle2.json index 104bddbc..8e088328 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_handle2.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_handle2.json @@ -3362,31 +3362,18 @@ ] }, "body": { - "kind": "Expr::If", + "kind": "Expr::Group", "loc": null, "children": { - "cond": { - "kind": "Expr::Infix", + "expr": { + "kind": "Expr::If", "loc": null, "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "<" - } - } - } - }, - "lhs": { - "kind": "Expr::Ident", + "cond": { + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -3394,50 +3381,50 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "x" + "value": "<" } } } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", + }, + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "5" + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } } - } - } - } - } - }, - "ifso": { - "kind": "Expr::Infix", - "loc": null, - "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", + }, + "rhs": { + "kind": "Expr::Constant", "loc": null, "children": { - "value": "+" + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } } } } }, - "lhs": { - "kind": "Expr::Ident", + "ifso": { + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -3445,87 +3432,111 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "x" + "value": "+" } } } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", + }, + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "1" + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } } - } - } - } - } - }, - "ifnot": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", + }, + "rhs": { + "kind": "Expr::Constant", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "constant": { + "kind": "Constant::Int", "loc": null, "children": { - "value": "fail" + "value": "1" } } } } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", + "ifnot": { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Constant", + "id": { + "kind": "Var", "loc": null, "children": { - "constant": { - "kind": "Constant::String", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "too big" + "value": "fail" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "too big" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } }, @@ -3536,7 +3547,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -3992,7 +4003,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt b/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt index 81027ead..79b5128a 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt @@ -46,13 +46,13 @@ struct T { fn init { let xs = List::from_array([1, 2, 3, 4]) - let ys = try! map_with_error(xs, fn (x) { + let ys = try! map_with_error(xs, x => { if x < 5 { x + 1 } else { fail("too big") } }) println(ys) let t = T::{ a: Failure::Failure("1"), - b: fn (x) { if x < 5 { x - 1 } else { fail("42") } }, + b: x => if x < 5 { x - 1 } else { fail("42") }, } let zs = try! map_with_error(xs, t.b) println(zs) diff --git a/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt.tokens.json index fc9add39..b9cdb5ae 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_handle2.mbt.tokens.json @@ -1933,32 +1933,24 @@ "token": "COMMA", "loc": "49:34-49:35" }, - { - "token": "FN", - "loc": "49:36-49:38" - }, - { - "token": "LPAREN", - "loc": "49:39-49:40" - }, { "token": [ "LIDENT", "x" ], - "loc": "49:40-49:41" + "loc": "49:36-49:37" }, { - "token": "RPAREN", - "loc": "49:41-49:42" + "token": "FAT_ARROW", + "loc": "49:38-49:40" }, { "token": "LBRACE", - "loc": "49:43-49:44" + "loc": "49:41-49:42" }, { "token": "NEWLINE", - "loc": "49:44-49:45" + "loc": "49:42-49:43" }, { "token": "IF", @@ -2198,125 +2190,109 @@ "token": "COLON", "loc": "55:6-55:7" }, - { - "token": "FN", - "loc": "55:8-55:10" - }, - { - "token": "LPAREN", - "loc": "55:11-55:12" - }, { "token": [ "LIDENT", "x" ], - "loc": "55:12-55:13" - }, - { - "token": "RPAREN", - "loc": "55:13-55:14" + "loc": "55:8-55:9" }, { - "token": "LBRACE", - "loc": "55:15-55:16" + "token": "FAT_ARROW", + "loc": "55:10-55:12" }, { "token": "IF", - "loc": "55:17-55:19" + "loc": "55:13-55:15" }, { "token": [ "LIDENT", "x" ], - "loc": "55:20-55:21" + "loc": "55:16-55:17" }, { "token": [ "INFIX1", "<" ], - "loc": "55:22-55:23" + "loc": "55:18-55:19" }, { "token": [ "INT", "5" ], - "loc": "55:24-55:25" + "loc": "55:20-55:21" }, { "token": "LBRACE", - "loc": "55:26-55:27" + "loc": "55:22-55:23" }, { "token": [ "LIDENT", "x" ], - "loc": "55:28-55:29" + "loc": "55:24-55:25" }, { "token": "MINUS", - "loc": "55:30-55:31" + "loc": "55:26-55:27" }, { "token": [ "INT", "1" ], - "loc": "55:32-55:33" + "loc": "55:28-55:29" }, { "token": "RBRACE", - "loc": "55:34-55:35" + "loc": "55:30-55:31" }, { "token": "ELSE", - "loc": "55:36-55:40" + "loc": "55:32-55:36" }, { "token": "LBRACE", - "loc": "55:41-55:42" + "loc": "55:37-55:38" }, { "token": [ "LIDENT", "fail" ], - "loc": "55:43-55:47" + "loc": "55:39-55:43" }, { "token": "LPAREN", - "loc": "55:47-55:48" + "loc": "55:43-55:44" }, { "token": [ "STRING", "42" ], - "loc": "55:48-55:52" + "loc": "55:44-55:48" }, { "token": "RPAREN", - "loc": "55:52-55:53" + "loc": "55:48-55:49" }, { "token": "RBRACE", - "loc": "55:54-55:55" - }, - { - "token": "RBRACE", - "loc": "55:56-55:57" + "loc": "55:50-55:51" }, { "token": "COMMA", - "loc": "55:57-55:58" + "loc": "55:51-55:52" }, { "token": "NEWLINE", - "loc": "55:58-55:59" + "loc": "55:52-55:53" }, { "token": "RBRACE", diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.json b/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.json index ab40c14b..d101edf0 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.json @@ -949,7 +949,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt b/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt index c52a4625..9b8b6cde 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt @@ -18,6 +18,6 @@ suberror E { ///| fn main { - println(try? h(fn(x) { raise E(x) })) + println(try? h(x => raise E(x))) h(fn(x) { println(x) }) } diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt.tokens.json index f844e216..59a072db 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_dce.mbt.tokens.json @@ -504,77 +504,61 @@ "token": "LPAREN", "loc": "21:17-21:18" }, - { - "token": "FN", - "loc": "21:18-21:20" - }, - { - "token": "LPAREN", - "loc": "21:20-21:21" - }, { "token": [ "LIDENT", "x" ], - "loc": "21:21-21:22" + "loc": "21:18-21:19" }, { - "token": "RPAREN", - "loc": "21:22-21:23" - }, - { - "token": "LBRACE", - "loc": "21:24-21:25" + "token": "FAT_ARROW", + "loc": "21:20-21:22" }, { "token": "RAISE", - "loc": "21:26-21:31" + "loc": "21:23-21:28" }, { "token": [ "UIDENT", "E" ], - "loc": "21:32-21:33" + "loc": "21:29-21:30" }, { "token": "LPAREN", - "loc": "21:33-21:34" + "loc": "21:30-21:31" }, { "token": [ "LIDENT", "x" ], - "loc": "21:34-21:35" + "loc": "21:31-21:32" }, { "token": "RPAREN", - "loc": "21:35-21:36" - }, - { - "token": "RBRACE", - "loc": "21:37-21:38" + "loc": "21:32-21:33" }, { "token": "RPAREN", - "loc": "21:38-21:39" + "loc": "21:33-21:34" }, { "token": "RPAREN", - "loc": "21:39-21:40" + "loc": "21:34-21:35" }, { "token": [ "SEMI", false ], - "loc": "21:40-21:40" + "loc": "21:35-21:35" }, { "token": "NEWLINE", - "loc": "21:40-21:41" + "loc": "21:35-21:36" }, { "token": [ diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.json b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.json new file mode 100644 index 00000000..3fdd1e5f --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.json @@ -0,0 +1,12085 @@ +[ + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "from_bytes" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "b" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Bytes" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Byte" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "yield_" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::ForEach", + "loc": null, + "children": { + "binders": { + "kind": "Expr::ForEach::BinderList", + "loc": null, + "children": [ + { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } + } + ] + }, + "expr": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "..<" + } + } + } + }, + "lhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + }, + "rhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "b" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "body": { + "kind": "Expr::Match", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::ArrayGet", + "loc": null, + "children": { + "array": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "b" + } + } + } + } + } + }, + "index": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "cases": { + "kind": "Expr::Match::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Unit", + "loc": null, + "children": { + "faked": false + } + } + } + }, + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterEnd" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Break", + "loc": null, + "children": { + "arg": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterEnd" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "label": null + } + } + } + } + ] + } + } + }, + "else_block": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "label": null + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "each" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + }, + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "f" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [ + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "X", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + } + ] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "ignore" + } + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "collect" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [ + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "X", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + } + ] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Array" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + } + } + }, + "error_type": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "result" + } + } + } + }, + "expr": { + "kind": "Expr::Array", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Array::ExprList", + "loc": null, + "children": [] + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "each" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "elem" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "push" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "elem" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "take" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + }, + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "n" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [ + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "X", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + } + ] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "yield_" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::LetMut", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } + }, + "ty": null, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": ">=" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + } + } + }, + "ifso": { + "kind": "Expr::Return", + "loc": null, + "children": { + "return_value": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterEnd" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "ifnot": null + } + }, + { + "kind": "Expr::Assign", + "loc": null, + "children": { + "var": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } + } + }, + "expr": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "+" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + } + } + }, + "augmented_by": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "map" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + }, + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "f" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Y" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [ + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "X", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + }, + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "Y", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + } + ] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Y" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "yield_" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::LetMut", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err_from_f" + } + }, + "ty": null, + "expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "result" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Try", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Assign", + "loc": null, + "children": { + "var": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err_from_f" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "augmented_by": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterEnd" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "fx" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "fx" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "has_try": true + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "body": { + "kind": "Expr::Match", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err_from_f" + } + } + } + } + } + }, + "cases": { + "kind": "Expr::Match::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } + } + } + } + } + } + }, + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Raise", + "loc": null, + "children": { + "err_value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } + } + } + } + } + } + } + } + } + ] + } + } + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "filter_map" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + }, + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "f" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Option", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Y" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [ + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "X", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + }, + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "Y", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + } + ] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Y" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "yield_" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::LetMut", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err_from_f" + } + }, + "ty": null, + "expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "result" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "fx" + } + } + } + }, + "expr": { + "kind": "Expr::Try", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Assign", + "loc": null, + "children": { + "var": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err_from_f" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "augmented_by": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Return", + "loc": null, + "children": { + "return_value": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterEnd" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": null, + "has_try": false + } + }, + "body": { + "kind": "Expr::Guard", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "fx" + } + } + } + } + } + }, + "pat": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + } + } + }, + "otherwise": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "body": { + "kind": "Expr::Match", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err_from_f" + } + } + } + } + } + }, + "cases": { + "kind": "Expr::Match::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } + } + } + } + } + } + }, + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Raise", + "loc": null, + "children": { + "err_value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } + } + } + } + } + } + } + } + } + ] + } + } + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "with_last" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [ + { + "kind": "TypeVarBinder", + "loc": null, + "children": { + "name": "X", + "constraints": { + "kind": "TypeVarBinder::TypeVarConstraintList", + "loc": null, + "children": [] + } + } + } + ] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Tuple", + "loc": null, + "children": { + "tys": { + "kind": "Type::Tuple::TypeList", + "loc": null, + "children": [ + { + "kind": "Type::Option", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "X" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "yield_" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::LetMut", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "last" + } + }, + "ty": null, + "expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x0" + } + } + } + }, + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Assign", + "loc": null, + "children": { + "var": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "augmented_by": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Tuple", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Tuple::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x0" + } + } + } + } + } + }, + { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopTypeDef", + "loc": null, + "children": { + "value": { + "kind": "TypeDecl", + "loc": null, + "children": { + "tycon": "UTF16DecodeError", + "params": { + "kind": "TypeDecl::ParamList", + "loc": null, + "children": [] + }, + "components": { + "kind": "TypeDesc::Error", + "loc": null, + "children": { + "value": { + "kind": "ExceptionDecl::EnumPayload", + "loc": null, + "children": { + "value": { + "kind": "ExceptionDecl::EnumPayload::ConstrList", + "loc": null, + "children": [ + { + "kind": "ConstrDecl", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "MissingLowSurrogate" + } + }, + "args": null, + "tag": null, + "attrs": { + "kind": "ConstrDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + { + "kind": "ConstrDecl", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "UnexpectedLowSurrogate" + } + }, + "args": null, + "tag": null, + "attrs": { + "kind": "ConstrDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + } + ] + } + } + } + } + }, + "attrs": { + "kind": "TypeDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "", + "type_vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "is_declare": false, + "deriving": { + "kind": "TypeDecl::DerivingList", + "loc": null, + "children": [ + { + "kind": "DerivingDirective", + "loc": null, + "children": { + "type_name": { + "kind": "TypeName", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Show" + } + }, + "is_object": false + } + }, + "args": { + "kind": "DerivingDirective::ArgList", + "loc": null, + "children": [] + } + } + } + ] + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "is_high_surrogate" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Bool" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "pat": { + "kind": "Pattern::Range", + "loc": null, + "children": { + "lhs": { + "kind": "Pattern::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xD800" + } + } + } + }, + "rhs": { + "kind": "Pattern::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xDBFF" + } + } + } + }, + "kind": { + "kind": "RangeKind::Inclusive", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "is_low_surrogate" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Bool" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "pat": { + "kind": "Pattern::Range", + "loc": null, + "children": { + "lhs": { + "kind": "Pattern::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xDC00" + } + } + } + }, + "rhs": { + "kind": "Pattern::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xDFFF" + } + } + } + }, + "kind": { + "kind": "RangeKind::Inclusive", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "decode_utf16" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Char" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + } + } + }, + "expr": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "with_last" + } + } + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "pairs" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "filter_map" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "pairs" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "pair" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Tuple", + "loc": null, + "children": { + "pats": { + "kind": "Pattern::Tuple::PatternList", + "loc": null, + "children": [ + { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "last" + } + } + } + }, + { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "c" + } + } + } + } + ] + } + } + }, + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "pair" + } + } + } + } + } + }, + "body": { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "is_low_surrogate" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "ifso": { + "kind": "Expr::Guard", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + } + } + }, + "pat": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "c0" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + } + } + }, + "rhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "is_high_surrogate" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c0" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "otherwise": { + "kind": "Expr::Raise", + "loc": null, + "children": { + "err_value": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "UnexpectedLowSurrogate" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "+" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "-" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "+" + } + } + } + }, + "lhs": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "<<" + } + } + } + }, + "lhs": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "-" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xD800" + } + } + } + } + } + }, + "group": { + "kind": "Group::Paren", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "10" + } + } + } + } + } + }, + "group": { + "kind": "Group::Paren", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c" + } + } + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xDC00" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0x10000" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "ifnot": { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + } + } + }, + "pat": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "c0" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + } + } + }, + "rhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "is_high_surrogate" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c0" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "ifso": { + "kind": "Expr::Raise", + "loc": null, + "children": { + "err_value": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "MissingLowSurrogate" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "ifnot": { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "is_high_surrogate" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "ifso": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "ifnot": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "map" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "unsafe_to_char" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopTypeDef", + "loc": null, + "children": { + "value": { + "kind": "TypeDecl", + "loc": null, + "children": { + "tycon": "IncompleteUTF16CodePoint", + "params": { + "kind": "TypeDecl::ParamList", + "loc": null, + "children": [] + }, + "components": { + "kind": "TypeDesc::Error", + "loc": null, + "children": { + "value": { + "kind": "ExceptionDecl::NoPayload", + "loc": null, + "children": {} + } + } + }, + "attrs": { + "kind": "TypeDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "", + "type_vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "is_declare": false, + "deriving": { + "kind": "TypeDecl::DerivingList", + "loc": null, + "children": [ + { + "kind": "DerivingDirective", + "loc": null, + "children": { + "type_name": { + "kind": "TypeName", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Show" + } + }, + "is_object": false + } + }, + "args": { + "kind": "DerivingDirective::ArgList", + "loc": null, + "children": [] + } + } + } + ] + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "bytes_to_utf16_code_points" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + }, + "ty": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Byte" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "yield_" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::LetMut", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "last" + } + }, + "ty": null, + "expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "result" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "b" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Match", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + } + } + }, + "cases": { + "kind": "Expr::Match::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Assign", + "loc": null, + "children": { + "var": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "b" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "augmented_by": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + } + } + }, + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "b0" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + }, + "guard": null, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Assign", + "loc": null, + "children": { + "var": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + }, + "expr": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "augmented_by": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "|" + } + } + } + }, + "lhs": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "<<" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "b" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "to_int" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "8" + } + } + } + } + } + }, + "group": { + "kind": "Group::Paren", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "b0" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "to_int" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + } + } + } + ] + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } + } + } + } + }, + "pat": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + } + } + }, + "rhs": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "last" + } + } + } + } + } + }, + "pat": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false + } + } + } + } + } + }, + "ifso": { + "kind": "Expr::Raise", + "loc": null, + "children": { + "err_value": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IncompleteUTF16CodePoint" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "ifnot": null + } + } + ] + }, + "last_expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } + } + } + } + } + } + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "bytes_to_utf16" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "b" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Bytes" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Array" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Char" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "b" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "from_bytes" + } + } + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_to_utf16_code_points" + } + } + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "decode_utf16" + } + } + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "collect" + } + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "init" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_to_utf16" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Dot", + "loc": null, + "children": { + "pkg": "encoding/utf16", + "id": "encode" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "abc" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_to_utf16" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Dot", + "loc": null, + "children": { + "pkg": "encoding/utf16", + "id": "encode" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "中文" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_to_utf16" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Dot", + "loc": null, + "children": { + "pkg": "encoding/utf16", + "id": "encode" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "🤣" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_to_utf16" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Array", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Array::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0x00" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xD8" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0x00" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0x61" + } + } + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_to_utf16" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Array", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Array::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0x00" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0xDC" + } + } + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "bytes_arary_to_iter" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "data" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Array" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Bytes" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Arrow", + "loc": null, + "children": { + "args": { + "kind": "Type::Arrow::ArgList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Byte" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "is_async": null + } + } + ] + }, + "res": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "IterResult" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "err": { + "kind": "ErrorType::MaybeError", + "loc": null, + "children": { + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Error" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + "is_async": null + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "yield_" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::ForEach", + "loc": null, + "children": { + "binders": { + "kind": "Expr::ForEach::BinderList", + "loc": null, + "children": [ + { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } + }, + { + "kind": "Binder", + "loc": null, + "children": { + "name": "segment" + } + } + ] + }, + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "data" + } + } + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "fetching data segment " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "i + 1" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Guard", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Is", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "from_bytes" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "segment" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "pat": { + "kind": "Pattern::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + }, + "args": null, + "is_open": false + } + } + } + }, + "otherwise": { + "kind": "Expr::Break", + "loc": null, + "children": { + "arg": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterEnd" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "label": null + } + }, + "body": { + "kind": "Expr::Unit", + "loc": null, + "children": { + "faked": true + } + } + } + } + } + }, + "else_block": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "label": null + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "init" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::LetFn", + "loc": null, + "children": { + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "run" + } + }, + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "data" + } + }, + "ty": null + } + }, + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "n" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "it" + } + } + } + }, + "expr": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "data" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_arary_to_iter" + } + } + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "bytes_to_utf16_code_points" + } + } + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "decode_utf16" + } + } + } + } + } + } + } + }, + "body": { + "kind": "Expr::Pipe", + "loc": null, + "children": { + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "take" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "collect" + } + } + } + } + } + } + } + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "run" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Array", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Array::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "一二" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "三四" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "五六" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "七八" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "九十" + } + } + } + } + ] + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "map" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "s" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Dot", + "loc": null, + "children": { + "pkg": "encoding/utf16", + "id": "encode" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "s" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "7" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "run" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Array", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Array::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "abcdefghij" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "klmnopqrst" + } + } + } + }, + { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "uvwxyz" + } + } + } + } + ] + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "map" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", + "loc": null, + "children": { + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "s" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Dot", + "loc": null, + "children": { + "pkg": "encoding/utf16", + "id": "encode" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "s" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "10" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt index d00a1f83..b3f0a3b6 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt @@ -28,7 +28,7 @@ fn[X] collect( it : ((X) -> IterResult) -> IterResult raise?, ) -> Array[X] raise? { let result = [] - each(it, result.push(_)) + each(it, elem => result.push(elem)) result } @@ -36,7 +36,7 @@ fn[X] take( it : ((X) -> IterResult) -> IterResult raise?, n : Int ) -> ((X) -> IterResult) -> IterResult raise? { - fn (yield_) { + yield_ => { let mut i = 0 it(fn (x) { if i >= n { @@ -52,7 +52,7 @@ fn[X, Y] map( it : ((X) -> IterResult) -> IterResult raise?, f : (X) -> Y raise? ) -> ((Y) -> IterResult) -> IterResult raise? { - fn (yield_) { + yield_ => { let mut err_from_f = None let result = it(fn (x) { try f(x) catch { @@ -60,7 +60,7 @@ fn[X, Y] map( err_from_f = Some(err) IterEnd } - } else { + } noraise { fx => yield_(fx) } }) @@ -75,7 +75,7 @@ fn[X, Y] filter_map( it : ((X) -> IterResult) -> IterResult raise?, f : (X) -> Y? raise? ) -> ((Y) -> IterResult) -> IterResult raise? { - fn (yield_) { + yield_ => { let mut err_from_f = None let result = it(fn (x) { let fx = f(x) catch { @@ -97,7 +97,7 @@ fn[X, Y] filter_map( fn[X] with_last( it : ((X) -> IterResult) -> IterResult raise? ) -> (((X?, X)) -> IterResult) -> IterResult raise? { - fn (yield_) { + yield_ => { let mut last = None it(fn (x) { let x0 = last @@ -125,22 +125,23 @@ fn decode_utf16( ) -> ((Char) -> IterResult) -> IterResult raise { let it = it |> with_last - |> filter_map(_, fn (pair) raise { - let (last, c) = pair - if is_low_surrogate(c) { - guard last is Some(c0) && is_high_surrogate(c0) else { - raise UnexpectedLowSurrogate + |> fn (pairs) { filter_map(pairs, fn (pair) raise { + let (last, c) = pair + if is_low_surrogate(c) { + guard last is Some(c0) && is_high_surrogate(c0) else { + raise UnexpectedLowSurrogate + } + Some(((c0 - 0xD800) << 10) + c - 0xDC00 + 0x10000) + } else if last is Some(c0) && is_high_surrogate(c0) { + raise MissingLowSurrogate + } else if is_high_surrogate(c) { + None + } else { + Some(c) } - Some(((c0 - 0xD800) << 10) + c - 0xDC00 + 0x10000) - } else if last is Some(c0) && is_high_surrogate(c0) { - raise MissingLowSurrogate - } else if is_high_surrogate(c) { - None - } else { - Some(c) - } - }) - map(it, _.unsafe_to_char()) + }) + } + map(it, it => it.unsafe_to_char()) } suberror IncompleteUTF16CodePoint derive(Show) @@ -148,7 +149,7 @@ suberror IncompleteUTF16CodePoint derive(Show) fn bytes_to_utf16_code_points( it : ((Byte) -> IterResult) -> IterResult raise ) -> ((Int) -> IterResult) -> IterResult raise { - fn (yield_) { + yield_ => { let mut last = None let result = it(fn (b) { match last { @@ -207,6 +208,6 @@ fn init { |> decode_utf16 take(it, n) |> collect } - println(try? run([ "一二", "三四", "五六", "七八", "九十" ].map(@encoding/utf16.encode(_)), 7)) - println(try? run([ "abcdefghij", "klmnopqrst", "uvwxyz" ].map(@encoding/utf16.encode(_)), 10)) + println(try? run([ "一二", "三四", "五六", "七八", "九十" ].map(s => @encoding/utf16.encode(s)), 7)) + println(try? run([ "abcdefghij", "klmnopqrst", "uvwxyz" ].map(s => @encoding/utf16.encode(s)), 10)) } diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt.tokens.json index d19cad20..5d1e4fa7 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter.mbt.tokens.json @@ -932,46 +932,60 @@ "token": "COMMA", "loc": "31:10-31:11" }, + { + "token": [ + "LIDENT", + "elem" + ], + "loc": "31:12-31:16" + }, + { + "token": "FAT_ARROW", + "loc": "31:17-31:19" + }, { "token": [ "LIDENT", "result" ], - "loc": "31:12-31:18" + "loc": "31:20-31:26" }, { "token": [ "DOT_LIDENT", "push" ], - "loc": "31:19-31:23" + "loc": "31:27-31:31" }, { "token": "LPAREN", - "loc": "31:23-31:24" + "loc": "31:31-31:32" }, { - "token": "UNDERSCORE", - "loc": "31:24-31:25" + "token": [ + "LIDENT", + "elem" + ], + "loc": "31:32-31:36" }, { "token": "RPAREN", - "loc": "31:25-31:26" + "loc": "31:36-31:37" }, { "token": "RPAREN", - "loc": "31:26-31:27" + "loc": "31:37-31:38" }, { "token": [ "SEMI", false ], - "loc": "31:27-31:27" + "loc": "31:38-31:38" }, { "token": "NEWLINE", - "loc": "31:27-31:28" + "loc": "31:38-31:39" }, { "token": [ @@ -1200,32 +1214,24 @@ "token": "NEWLINE", "loc": "38:48-38:49" }, - { - "token": "FN", - "loc": "39:3-39:5" - }, - { - "token": "LPAREN", - "loc": "39:6-39:7" - }, { "token": [ "LIDENT", "yield_" ], - "loc": "39:7-39:13" + "loc": "39:3-39:9" }, { - "token": "RPAREN", - "loc": "39:13-39:14" + "token": "FAT_ARROW", + "loc": "39:10-39:12" }, { "token": "LBRACE", - "loc": "39:15-39:16" + "loc": "39:13-39:14" }, { "token": "NEWLINE", - "loc": "39:16-39:17" + "loc": "39:14-39:15" }, { "token": "LET", @@ -1705,32 +1711,24 @@ "token": "NEWLINE", "loc": "54:48-54:49" }, - { - "token": "FN", - "loc": "55:3-55:5" - }, - { - "token": "LPAREN", - "loc": "55:6-55:7" - }, { "token": [ "LIDENT", "yield_" ], - "loc": "55:7-55:13" + "loc": "55:3-55:9" }, { - "token": "RPAREN", - "loc": "55:13-55:14" + "token": "FAT_ARROW", + "loc": "55:10-55:12" }, { "token": "LBRACE", - "loc": "55:15-55:16" + "loc": "55:13-55:14" }, { "token": "NEWLINE", - "loc": "55:16-55:17" + "loc": "55:14-55:15" }, { "token": "LET", @@ -1947,16 +1945,16 @@ "loc": "63:7-63:8" }, { - "token": "ELSE", - "loc": "63:9-63:13" + "token": "NORAISE", + "loc": "63:9-63:16" }, { "token": "LBRACE", - "loc": "63:14-63:15" + "loc": "63:17-63:18" }, { "token": "NEWLINE", - "loc": "63:15-63:16" + "loc": "63:18-63:19" }, { "token": [ @@ -2385,32 +2383,24 @@ "token": "NEWLINE", "loc": "77:48-77:49" }, - { - "token": "FN", - "loc": "78:3-78:5" - }, - { - "token": "LPAREN", - "loc": "78:6-78:7" - }, { "token": [ "LIDENT", "yield_" ], - "loc": "78:7-78:13" + "loc": "78:3-78:9" }, { - "token": "RPAREN", - "loc": "78:13-78:14" + "token": "FAT_ARROW", + "loc": "78:10-78:12" }, { "token": "LBRACE", - "loc": "78:15-78:16" + "loc": "78:13-78:14" }, { "token": "NEWLINE", - "loc": "78:16-78:17" + "loc": "78:14-78:15" }, { "token": "LET", @@ -3082,32 +3072,24 @@ "token": "NEWLINE", "loc": "99:54-99:55" }, - { - "token": "FN", - "loc": "100:3-100:5" - }, - { - "token": "LPAREN", - "loc": "100:6-100:7" - }, { "token": [ "LIDENT", "yield_" ], - "loc": "100:7-100:13" + "loc": "100:3-100:9" }, { - "token": "RPAREN", - "loc": "100:13-100:14" + "token": "FAT_ARROW", + "loc": "100:10-100:12" }, { "token": "LBRACE", - "loc": "100:15-100:16" + "loc": "100:13-100:14" }, { "token": "NEWLINE", - "loc": "100:16-100:17" + "loc": "100:14-100:15" }, { "token": "LET", @@ -3840,2316 +3822,2356 @@ "token": "PIPE", "loc": "128:5-128:7" }, + { + "token": "FN", + "loc": "128:8-128:10" + }, + { + "token": "LPAREN", + "loc": "128:11-128:12" + }, + { + "token": [ + "LIDENT", + "pairs" + ], + "loc": "128:12-128:17" + }, + { + "token": "RPAREN", + "loc": "128:17-128:18" + }, + { + "token": "LBRACE", + "loc": "128:19-128:20" + }, { "token": [ "LIDENT", "filter_map" ], - "loc": "128:8-128:18" + "loc": "128:21-128:31" }, { "token": "LPAREN", - "loc": "128:18-128:19" + "loc": "128:31-128:32" }, { - "token": "UNDERSCORE", - "loc": "128:19-128:20" + "token": [ + "LIDENT", + "pairs" + ], + "loc": "128:32-128:37" }, { "token": "COMMA", - "loc": "128:20-128:21" + "loc": "128:37-128:38" }, { "token": "FN", - "loc": "128:22-128:24" + "loc": "128:39-128:41" }, { "token": "LPAREN", - "loc": "128:25-128:26" + "loc": "128:42-128:43" }, { "token": [ "LIDENT", "pair" ], - "loc": "128:26-128:30" + "loc": "128:43-128:47" }, { "token": "RPAREN", - "loc": "128:30-128:31" + "loc": "128:47-128:48" }, { "token": "RAISE", - "loc": "128:32-128:37" + "loc": "128:49-128:54" }, { "token": "LBRACE", - "loc": "128:38-128:39" + "loc": "128:55-128:56" }, { "token": "NEWLINE", - "loc": "128:39-128:40" + "loc": "128:56-128:57" }, { "token": "LET", - "loc": "129:7-129:10" + "loc": "129:9-129:12" }, { "token": "LPAREN", - "loc": "129:11-129:12" + "loc": "129:13-129:14" }, { "token": [ "LIDENT", "last" ], - "loc": "129:12-129:16" + "loc": "129:14-129:18" }, { "token": "COMMA", - "loc": "129:16-129:17" + "loc": "129:18-129:19" }, { "token": [ "LIDENT", "c" ], - "loc": "129:18-129:19" + "loc": "129:20-129:21" }, { "token": "RPAREN", - "loc": "129:19-129:20" + "loc": "129:21-129:22" }, { "token": "EQUAL", - "loc": "129:21-129:22" + "loc": "129:23-129:24" }, { "token": [ "LIDENT", "pair" ], - "loc": "129:23-129:27" + "loc": "129:25-129:29" }, { "token": [ "SEMI", false ], - "loc": "129:27-129:27" + "loc": "129:29-129:29" }, { "token": "NEWLINE", - "loc": "129:27-129:28" + "loc": "129:29-129:30" }, { "token": "IF", - "loc": "130:7-130:9" + "loc": "130:9-130:11" }, { "token": [ "LIDENT", "is_low_surrogate" ], - "loc": "130:10-130:26" + "loc": "130:12-130:28" }, { "token": "LPAREN", - "loc": "130:26-130:27" + "loc": "130:28-130:29" }, { "token": [ "LIDENT", "c" ], - "loc": "130:27-130:28" + "loc": "130:29-130:30" }, { "token": "RPAREN", - "loc": "130:28-130:29" + "loc": "130:30-130:31" }, { "token": "LBRACE", - "loc": "130:30-130:31" + "loc": "130:32-130:33" }, { "token": "NEWLINE", - "loc": "130:31-130:32" + "loc": "130:33-130:34" }, { "token": "GUARD", - "loc": "131:9-131:14" + "loc": "131:11-131:16" }, { "token": [ "LIDENT", "last" ], - "loc": "131:15-131:19" + "loc": "131:17-131:21" }, { "token": "IS", - "loc": "131:20-131:22" + "loc": "131:22-131:24" }, { "token": [ "UIDENT", "Some" ], - "loc": "131:23-131:27" + "loc": "131:25-131:29" }, { "token": "LPAREN", - "loc": "131:27-131:28" + "loc": "131:29-131:30" }, { "token": [ "LIDENT", "c0" ], - "loc": "131:28-131:30" + "loc": "131:30-131:32" }, { "token": "RPAREN", - "loc": "131:30-131:31" + "loc": "131:32-131:33" }, { "token": "AMPERAMPER", - "loc": "131:32-131:34" + "loc": "131:34-131:36" }, { "token": [ "LIDENT", "is_high_surrogate" ], - "loc": "131:35-131:52" + "loc": "131:37-131:54" }, { "token": "LPAREN", - "loc": "131:52-131:53" + "loc": "131:54-131:55" }, { "token": [ "LIDENT", "c0" ], - "loc": "131:53-131:55" + "loc": "131:55-131:57" }, { "token": "RPAREN", - "loc": "131:55-131:56" + "loc": "131:57-131:58" }, { "token": "ELSE", - "loc": "131:57-131:61" + "loc": "131:59-131:63" }, { "token": "LBRACE", - "loc": "131:62-131:63" + "loc": "131:64-131:65" }, { "token": "NEWLINE", - "loc": "131:63-131:64" + "loc": "131:65-131:66" }, { "token": "RAISE", - "loc": "132:11-132:16" + "loc": "132:13-132:18" }, { "token": [ "UIDENT", "UnexpectedLowSurrogate" ], - "loc": "132:17-132:39" + "loc": "132:19-132:41" }, { "token": "NEWLINE", - "loc": "132:39-132:40" + "loc": "132:41-132:42" }, { "token": "RBRACE", - "loc": "133:9-133:10" + "loc": "133:11-133:12" }, { "token": [ "SEMI", false ], - "loc": "133:10-133:10" + "loc": "133:12-133:12" }, { "token": "NEWLINE", - "loc": "133:10-133:11" + "loc": "133:12-133:13" }, { "token": [ "UIDENT", "Some" ], - "loc": "134:9-134:13" + "loc": "134:11-134:15" }, { "token": "LPAREN", - "loc": "134:13-134:14" + "loc": "134:15-134:16" }, { "token": "LPAREN", - "loc": "134:14-134:15" + "loc": "134:16-134:17" }, { "token": "LPAREN", - "loc": "134:15-134:16" + "loc": "134:17-134:18" }, { "token": [ "LIDENT", "c0" ], - "loc": "134:16-134:18" + "loc": "134:18-134:20" }, { "token": "MINUS", - "loc": "134:19-134:20" + "loc": "134:21-134:22" }, { "token": [ "INT", "0xD800" ], - "loc": "134:21-134:27" + "loc": "134:23-134:29" }, { "token": "RPAREN", - "loc": "134:27-134:28" + "loc": "134:29-134:30" }, { "token": [ "INFIX2", "<<" ], - "loc": "134:29-134:31" + "loc": "134:31-134:33" }, { "token": [ "INT", "10" ], - "loc": "134:32-134:34" + "loc": "134:34-134:36" }, { "token": "RPAREN", - "loc": "134:34-134:35" + "loc": "134:36-134:37" }, { "token": "PLUS", - "loc": "134:36-134:37" + "loc": "134:38-134:39" }, { "token": [ "LIDENT", "c" ], - "loc": "134:38-134:39" + "loc": "134:40-134:41" }, { "token": "MINUS", - "loc": "134:40-134:41" + "loc": "134:42-134:43" }, { "token": [ "INT", "0xDC00" ], - "loc": "134:42-134:48" + "loc": "134:44-134:50" }, { "token": "PLUS", - "loc": "134:49-134:50" + "loc": "134:51-134:52" }, { "token": [ "INT", "0x10000" ], - "loc": "134:51-134:58" + "loc": "134:53-134:60" }, { "token": "RPAREN", - "loc": "134:58-134:59" + "loc": "134:60-134:61" }, { "token": "NEWLINE", - "loc": "134:59-134:60" + "loc": "134:61-134:62" }, { "token": "RBRACE", - "loc": "135:7-135:8" + "loc": "135:9-135:10" }, { "token": "ELSE", - "loc": "135:9-135:13" + "loc": "135:11-135:15" }, { "token": "IF", - "loc": "135:14-135:16" + "loc": "135:16-135:18" }, { "token": [ "LIDENT", "last" ], - "loc": "135:17-135:21" + "loc": "135:19-135:23" }, { "token": "IS", - "loc": "135:22-135:24" + "loc": "135:24-135:26" }, { "token": [ "UIDENT", "Some" ], - "loc": "135:25-135:29" + "loc": "135:27-135:31" }, { "token": "LPAREN", - "loc": "135:29-135:30" + "loc": "135:31-135:32" }, { "token": [ "LIDENT", "c0" ], - "loc": "135:30-135:32" + "loc": "135:32-135:34" }, { "token": "RPAREN", - "loc": "135:32-135:33" + "loc": "135:34-135:35" }, { "token": "AMPERAMPER", - "loc": "135:34-135:36" + "loc": "135:36-135:38" }, { "token": [ "LIDENT", "is_high_surrogate" ], - "loc": "135:37-135:54" + "loc": "135:39-135:56" }, { "token": "LPAREN", - "loc": "135:54-135:55" + "loc": "135:56-135:57" }, { "token": [ "LIDENT", "c0" ], - "loc": "135:55-135:57" + "loc": "135:57-135:59" }, { "token": "RPAREN", - "loc": "135:57-135:58" + "loc": "135:59-135:60" }, { "token": "LBRACE", - "loc": "135:59-135:60" + "loc": "135:61-135:62" }, { "token": "NEWLINE", - "loc": "135:60-135:61" + "loc": "135:62-135:63" }, { "token": "RAISE", - "loc": "136:9-136:14" + "loc": "136:11-136:16" }, { "token": [ "UIDENT", "MissingLowSurrogate" ], - "loc": "136:15-136:34" + "loc": "136:17-136:36" }, { "token": "NEWLINE", - "loc": "136:34-136:35" + "loc": "136:36-136:37" }, { "token": "RBRACE", - "loc": "137:7-137:8" + "loc": "137:9-137:10" }, { "token": "ELSE", - "loc": "137:9-137:13" + "loc": "137:11-137:15" }, { "token": "IF", - "loc": "137:14-137:16" + "loc": "137:16-137:18" }, { "token": [ "LIDENT", "is_high_surrogate" ], - "loc": "137:17-137:34" + "loc": "137:19-137:36" }, { "token": "LPAREN", - "loc": "137:34-137:35" + "loc": "137:36-137:37" }, { "token": [ "LIDENT", "c" ], - "loc": "137:35-137:36" + "loc": "137:37-137:38" }, { "token": "RPAREN", - "loc": "137:36-137:37" + "loc": "137:38-137:39" }, { "token": "LBRACE", - "loc": "137:38-137:39" + "loc": "137:40-137:41" }, { "token": "NEWLINE", - "loc": "137:39-137:40" + "loc": "137:41-137:42" }, { "token": [ "UIDENT", "None" ], - "loc": "138:9-138:13" + "loc": "138:11-138:15" }, { "token": "NEWLINE", - "loc": "138:13-138:14" + "loc": "138:15-138:16" }, { "token": "RBRACE", - "loc": "139:7-139:8" + "loc": "139:9-139:10" }, { "token": "ELSE", - "loc": "139:9-139:13" + "loc": "139:11-139:15" }, { "token": "LBRACE", - "loc": "139:14-139:15" + "loc": "139:16-139:17" }, { "token": "NEWLINE", - "loc": "139:15-139:16" + "loc": "139:17-139:18" }, { "token": [ "UIDENT", "Some" ], - "loc": "140:9-140:13" + "loc": "140:11-140:15" }, { "token": "LPAREN", - "loc": "140:13-140:14" + "loc": "140:15-140:16" }, { "token": [ "LIDENT", "c" ], - "loc": "140:14-140:15" + "loc": "140:16-140:17" }, { "token": "RPAREN", - "loc": "140:15-140:16" + "loc": "140:17-140:18" }, { "token": "NEWLINE", - "loc": "140:16-140:17" + "loc": "140:18-140:19" }, { "token": "RBRACE", - "loc": "141:7-141:8" + "loc": "141:9-141:10" }, { "token": "NEWLINE", - "loc": "141:8-141:9" + "loc": "141:10-141:11" }, { "token": "RBRACE", - "loc": "142:5-142:6" + "loc": "142:7-142:8" }, { "token": "RPAREN", - "loc": "142:6-142:7" + "loc": "142:8-142:9" + }, + { + "token": "NEWLINE", + "loc": "142:9-142:10" + }, + { + "token": "RBRACE", + "loc": "143:5-143:6" }, { "token": [ "SEMI", false ], - "loc": "142:7-142:7" + "loc": "143:6-143:6" }, { "token": "NEWLINE", - "loc": "142:7-142:8" + "loc": "143:6-143:7" }, { "token": [ "LIDENT", "map" ], - "loc": "143:3-143:6" + "loc": "144:3-144:6" }, { "token": "LPAREN", - "loc": "143:6-143:7" + "loc": "144:6-144:7" }, { "token": [ "LIDENT", "it" ], - "loc": "143:7-143:9" + "loc": "144:7-144:9" }, { "token": "COMMA", - "loc": "143:9-143:10" + "loc": "144:9-144:10" }, { - "token": "UNDERSCORE", - "loc": "143:11-143:12" + "token": [ + "LIDENT", + "it" + ], + "loc": "144:11-144:13" + }, + { + "token": "FAT_ARROW", + "loc": "144:14-144:16" + }, + { + "token": [ + "LIDENT", + "it" + ], + "loc": "144:17-144:19" }, { "token": [ "DOT_LIDENT", "unsafe_to_char" ], - "loc": "143:13-143:27" + "loc": "144:20-144:34" }, { "token": "LPAREN", - "loc": "143:27-143:28" + "loc": "144:34-144:35" }, { "token": "RPAREN", - "loc": "143:28-143:29" + "loc": "144:35-144:36" }, { "token": "RPAREN", - "loc": "143:29-143:30" + "loc": "144:36-144:37" }, { "token": "NEWLINE", - "loc": "143:30-143:31" + "loc": "144:37-144:38" }, { "token": "RBRACE", - "loc": "144:1-144:2" + "loc": "145:1-145:2" }, { "token": [ "SEMI", false ], - "loc": "144:2-144:2" + "loc": "145:2-145:2" }, { "token": "NEWLINE", - "loc": "144:2-144:3" + "loc": "145:2-145:3" }, { "token": "NEWLINE", - "loc": "145:1-145:2" + "loc": "146:1-146:2" }, { "token": "SUBERROR", - "loc": "146:1-146:9" + "loc": "147:1-147:9" }, { "token": [ "UIDENT", "IncompleteUTF16CodePoint" ], - "loc": "146:10-146:34" + "loc": "147:10-147:34" }, { "token": "DERIVE", - "loc": "146:35-146:41" + "loc": "147:35-147:41" }, { "token": "LPAREN", - "loc": "146:41-146:42" + "loc": "147:41-147:42" }, { "token": [ "UIDENT", "Show" ], - "loc": "146:42-146:46" + "loc": "147:42-147:46" }, { "token": "RPAREN", - "loc": "146:46-146:47" + "loc": "147:46-147:47" }, { "token": [ "SEMI", false ], - "loc": "146:47-146:47" + "loc": "147:47-147:47" }, { "token": "NEWLINE", - "loc": "146:47-146:48" + "loc": "147:47-147:48" }, { "token": "NEWLINE", - "loc": "147:1-147:2" + "loc": "148:1-148:2" }, { "token": "FN", - "loc": "148:1-148:3" + "loc": "149:1-149:3" }, { "token": [ "LIDENT", "bytes_to_utf16_code_points" ], - "loc": "148:4-148:30" + "loc": "149:4-149:30" }, { "token": "LPAREN", - "loc": "148:30-148:31" + "loc": "149:30-149:31" }, { "token": "NEWLINE", - "loc": "148:31-148:32" + "loc": "149:31-149:32" }, { "token": [ "LIDENT", "it" ], - "loc": "149:3-149:5" + "loc": "150:3-150:5" }, { "token": "COLON", - "loc": "149:6-149:7" + "loc": "150:6-150:7" }, { "token": "LPAREN", - "loc": "149:8-149:9" + "loc": "150:8-150:9" }, { "token": "LPAREN", - "loc": "149:9-149:10" + "loc": "150:9-150:10" }, { "token": [ "UIDENT", "Byte" ], - "loc": "149:10-149:14" + "loc": "150:10-150:14" }, { "token": "RPAREN", - "loc": "149:14-149:15" + "loc": "150:14-150:15" }, { "token": "THIN_ARROW", - "loc": "149:16-149:18" + "loc": "150:16-150:18" }, { "token": [ "UIDENT", "IterResult" ], - "loc": "149:19-149:29" + "loc": "150:19-150:29" }, { "token": "RPAREN", - "loc": "149:29-149:30" + "loc": "150:29-150:30" }, { "token": "THIN_ARROW", - "loc": "149:31-149:33" + "loc": "150:31-150:33" }, { "token": [ "UIDENT", "IterResult" ], - "loc": "149:34-149:44" + "loc": "150:34-150:44" }, { "token": "RAISE", - "loc": "149:45-149:50" + "loc": "150:45-150:50" }, { "token": "NEWLINE", - "loc": "149:50-149:51" + "loc": "150:50-150:51" }, { "token": "RPAREN", - "loc": "150:1-150:2" + "loc": "151:1-151:2" }, { "token": "THIN_ARROW", - "loc": "150:3-150:5" + "loc": "151:3-151:5" }, { "token": "LPAREN", - "loc": "150:6-150:7" + "loc": "151:6-151:7" }, { "token": "LPAREN", - "loc": "150:7-150:8" + "loc": "151:7-151:8" }, { "token": [ "UIDENT", "Int" ], - "loc": "150:8-150:11" + "loc": "151:8-151:11" }, { "token": "RPAREN", - "loc": "150:11-150:12" + "loc": "151:11-151:12" }, { "token": "THIN_ARROW", - "loc": "150:13-150:15" + "loc": "151:13-151:15" }, { "token": [ "UIDENT", "IterResult" ], - "loc": "150:16-150:26" + "loc": "151:16-151:26" }, { "token": "RPAREN", - "loc": "150:26-150:27" + "loc": "151:26-151:27" }, { "token": "THIN_ARROW", - "loc": "150:28-150:30" + "loc": "151:28-151:30" }, { "token": [ "UIDENT", "IterResult" ], - "loc": "150:31-150:41" + "loc": "151:31-151:41" }, { "token": "RAISE", - "loc": "150:42-150:47" + "loc": "151:42-151:47" }, { "token": "LBRACE", - "loc": "150:48-150:49" + "loc": "151:48-151:49" }, { "token": "NEWLINE", - "loc": "150:49-150:50" - }, - { - "token": "FN", - "loc": "151:3-151:5" - }, - { - "token": "LPAREN", - "loc": "151:6-151:7" + "loc": "151:49-151:50" }, { "token": [ "LIDENT", "yield_" ], - "loc": "151:7-151:13" + "loc": "152:3-152:9" }, { - "token": "RPAREN", - "loc": "151:13-151:14" + "token": "FAT_ARROW", + "loc": "152:10-152:12" }, { "token": "LBRACE", - "loc": "151:15-151:16" + "loc": "152:13-152:14" }, { "token": "NEWLINE", - "loc": "151:16-151:17" + "loc": "152:14-152:15" }, { "token": "LET", - "loc": "152:5-152:8" + "loc": "153:5-153:8" }, { "token": "MUTABLE", - "loc": "152:9-152:12" + "loc": "153:9-153:12" }, { "token": [ "LIDENT", "last" ], - "loc": "152:13-152:17" + "loc": "153:13-153:17" }, { "token": "EQUAL", - "loc": "152:18-152:19" + "loc": "153:18-153:19" }, { "token": [ "UIDENT", "None" ], - "loc": "152:20-152:24" + "loc": "153:20-153:24" }, { "token": [ "SEMI", false ], - "loc": "152:24-152:24" + "loc": "153:24-153:24" }, { "token": "NEWLINE", - "loc": "152:24-152:25" + "loc": "153:24-153:25" }, { "token": "LET", - "loc": "153:5-153:8" + "loc": "154:5-154:8" }, { "token": [ "LIDENT", "result" ], - "loc": "153:9-153:15" + "loc": "154:9-154:15" }, { "token": "EQUAL", - "loc": "153:16-153:17" + "loc": "154:16-154:17" }, { "token": [ "LIDENT", "it" ], - "loc": "153:18-153:20" + "loc": "154:18-154:20" }, { "token": "LPAREN", - "loc": "153:20-153:21" + "loc": "154:20-154:21" }, { "token": "FN", - "loc": "153:21-153:23" + "loc": "154:21-154:23" }, { "token": "LPAREN", - "loc": "153:24-153:25" + "loc": "154:24-154:25" }, { "token": [ "LIDENT", "b" ], - "loc": "153:25-153:26" + "loc": "154:25-154:26" }, { "token": "RPAREN", - "loc": "153:26-153:27" + "loc": "154:26-154:27" }, { "token": "LBRACE", - "loc": "153:28-153:29" + "loc": "154:28-154:29" }, { "token": "NEWLINE", - "loc": "153:29-153:30" + "loc": "154:29-154:30" }, { "token": "MATCH", - "loc": "154:7-154:12" + "loc": "155:7-155:12" }, { "token": [ "LIDENT", "last" ], - "loc": "154:13-154:17" + "loc": "155:13-155:17" }, { "token": "LBRACE", - "loc": "154:18-154:19" + "loc": "155:18-155:19" }, { "token": "NEWLINE", - "loc": "154:19-154:20" + "loc": "155:19-155:20" }, { "token": [ "UIDENT", "None" ], - "loc": "155:9-155:13" + "loc": "156:9-156:13" }, { "token": "FAT_ARROW", - "loc": "155:14-155:16" + "loc": "156:14-156:16" }, { "token": "LBRACE", - "loc": "155:17-155:18" + "loc": "156:17-156:18" }, { "token": "NEWLINE", - "loc": "155:18-155:19" + "loc": "156:18-156:19" }, { "token": [ "LIDENT", "last" ], - "loc": "156:11-156:15" + "loc": "157:11-157:15" }, { "token": "EQUAL", - "loc": "156:16-156:17" + "loc": "157:16-157:17" }, { "token": [ "UIDENT", "Some" ], - "loc": "156:18-156:22" + "loc": "157:18-157:22" }, { "token": "LPAREN", - "loc": "156:22-156:23" + "loc": "157:22-157:23" }, { "token": [ "LIDENT", "b" ], - "loc": "156:23-156:24" + "loc": "157:23-157:24" }, { "token": "RPAREN", - "loc": "156:24-156:25" + "loc": "157:24-157:25" }, { "token": [ "SEMI", false ], - "loc": "156:25-156:25" + "loc": "157:25-157:25" }, { "token": "NEWLINE", - "loc": "156:25-156:26" + "loc": "157:25-157:26" }, { "token": [ "UIDENT", "IterContinue" ], - "loc": "157:11-157:23" + "loc": "158:11-158:23" }, { "token": "NEWLINE", - "loc": "157:23-157:24" + "loc": "158:23-158:24" }, { "token": "RBRACE", - "loc": "158:9-158:10" + "loc": "159:9-159:10" }, { "token": [ "SEMI", false ], - "loc": "158:10-158:10" + "loc": "159:10-159:10" }, { "token": "NEWLINE", - "loc": "158:10-158:11" + "loc": "159:10-159:11" }, { "token": [ "UIDENT", "Some" ], - "loc": "159:9-159:13" + "loc": "160:9-160:13" }, { "token": "LPAREN", - "loc": "159:13-159:14" + "loc": "160:13-160:14" }, { "token": [ "LIDENT", "b0" ], - "loc": "159:14-159:16" + "loc": "160:14-160:16" }, { "token": "RPAREN", - "loc": "159:16-159:17" + "loc": "160:16-160:17" }, { "token": "FAT_ARROW", - "loc": "159:18-159:20" + "loc": "160:18-160:20" }, { "token": "LBRACE", - "loc": "159:21-159:22" + "loc": "160:21-160:22" }, { "token": "NEWLINE", - "loc": "159:22-159:23" + "loc": "160:22-160:23" }, { "token": [ "LIDENT", "last" ], - "loc": "160:11-160:15" + "loc": "161:11-161:15" }, { "token": "EQUAL", - "loc": "160:16-160:17" + "loc": "161:16-161:17" }, { "token": [ "UIDENT", "None" ], - "loc": "160:18-160:22" + "loc": "161:18-161:22" }, { "token": [ "SEMI", false ], - "loc": "160:22-160:22" + "loc": "161:22-161:22" }, { "token": "NEWLINE", - "loc": "160:22-160:23" + "loc": "161:22-161:23" }, { "token": [ "LIDENT", "yield_" ], - "loc": "161:11-161:17" + "loc": "162:11-162:17" }, { "token": "LPAREN", - "loc": "161:17-161:18" + "loc": "162:17-162:18" }, { "token": "LPAREN", - "loc": "161:18-161:19" + "loc": "162:18-162:19" }, { "token": [ "LIDENT", "b" ], - "loc": "161:19-161:20" + "loc": "162:19-162:20" }, { "token": [ "DOT_LIDENT", "to_int" ], - "loc": "161:21-161:27" + "loc": "162:21-162:27" }, { "token": "LPAREN", - "loc": "161:27-161:28" + "loc": "162:27-162:28" }, { "token": "RPAREN", - "loc": "161:28-161:29" + "loc": "162:28-162:29" }, { "token": [ "INFIX2", "<<" ], - "loc": "161:30-161:32" + "loc": "162:30-162:32" }, { "token": [ "INT", "8" ], - "loc": "161:33-161:34" + "loc": "162:33-162:34" }, { "token": "RPAREN", - "loc": "161:34-161:35" + "loc": "162:34-162:35" }, { "token": "BAR", - "loc": "161:36-161:37" + "loc": "162:36-162:37" }, { "token": [ "LIDENT", "b0" ], - "loc": "161:38-161:40" + "loc": "162:38-162:40" }, { "token": [ "DOT_LIDENT", "to_int" ], - "loc": "161:41-161:47" + "loc": "162:41-162:47" }, { "token": "LPAREN", - "loc": "161:47-161:48" + "loc": "162:47-162:48" }, { "token": "RPAREN", - "loc": "161:48-161:49" + "loc": "162:48-162:49" }, { "token": "RPAREN", - "loc": "161:49-161:50" + "loc": "162:49-162:50" }, { "token": "NEWLINE", - "loc": "161:50-161:51" + "loc": "162:50-162:51" }, { "token": "RBRACE", - "loc": "162:9-162:10" + "loc": "163:9-163:10" }, { "token": "NEWLINE", - "loc": "162:10-162:11" + "loc": "163:10-163:11" }, { "token": "RBRACE", - "loc": "163:7-163:8" + "loc": "164:7-164:8" }, { "token": "NEWLINE", - "loc": "163:8-163:9" + "loc": "164:8-164:9" }, { "token": "RBRACE", - "loc": "164:5-164:6" + "loc": "165:5-165:6" }, { "token": "RPAREN", - "loc": "164:6-164:7" + "loc": "165:6-165:7" }, { "token": [ "SEMI", false ], - "loc": "164:7-164:7" + "loc": "165:7-165:7" }, { "token": "NEWLINE", - "loc": "164:7-164:8" + "loc": "165:7-165:8" }, { "token": "IF", - "loc": "165:5-165:7" + "loc": "166:5-166:7" }, { "token": [ "LIDENT", "result" ], - "loc": "165:8-165:14" + "loc": "166:8-166:14" }, { "token": "IS", - "loc": "165:15-165:17" + "loc": "166:15-166:17" }, { "token": [ "UIDENT", "IterContinue" ], - "loc": "165:18-165:30" + "loc": "166:18-166:30" }, { "token": "AMPERAMPER", - "loc": "165:31-165:33" + "loc": "166:31-166:33" }, { "token": [ "LIDENT", "last" ], - "loc": "165:34-165:38" + "loc": "166:34-166:38" }, { "token": "IS", - "loc": "165:39-165:41" + "loc": "166:39-166:41" }, { "token": [ "UIDENT", "Some" ], - "loc": "165:42-165:46" + "loc": "166:42-166:46" }, { "token": "LPAREN", - "loc": "165:46-165:47" + "loc": "166:46-166:47" }, { "token": "UNDERSCORE", - "loc": "165:47-165:48" + "loc": "166:47-166:48" }, { "token": "RPAREN", - "loc": "165:48-165:49" + "loc": "166:48-166:49" }, { "token": "LBRACE", - "loc": "165:50-165:51" + "loc": "166:50-166:51" }, { "token": "NEWLINE", - "loc": "165:51-165:52" + "loc": "166:51-166:52" }, { "token": "RAISE", - "loc": "166:7-166:12" + "loc": "167:7-167:12" }, { "token": [ "UIDENT", "IncompleteUTF16CodePoint" ], - "loc": "166:13-166:37" + "loc": "167:13-167:37" }, { "token": "NEWLINE", - "loc": "166:37-166:38" + "loc": "167:37-167:38" }, { "token": "RBRACE", - "loc": "167:5-167:6" + "loc": "168:5-168:6" }, { "token": [ "SEMI", false ], - "loc": "167:6-167:6" + "loc": "168:6-168:6" }, { "token": "NEWLINE", - "loc": "167:6-167:7" + "loc": "168:6-168:7" }, { "token": [ "LIDENT", "result" ], - "loc": "168:5-168:11" + "loc": "169:5-169:11" }, { "token": "NEWLINE", - "loc": "168:11-168:12" + "loc": "169:11-169:12" }, { "token": "RBRACE", - "loc": "169:3-169:4" + "loc": "170:3-170:4" }, { "token": "NEWLINE", - "loc": "169:4-169:5" + "loc": "170:4-170:5" }, { "token": "RBRACE", - "loc": "170:1-170:2" + "loc": "171:1-171:2" }, { "token": [ "SEMI", false ], - "loc": "170:2-170:2" + "loc": "171:2-171:2" }, { "token": "NEWLINE", - "loc": "170:2-170:3" + "loc": "171:2-171:3" }, { "token": "NEWLINE", - "loc": "171:1-171:2" + "loc": "172:1-172:2" }, { "token": "FN", - "loc": "172:1-172:3" + "loc": "173:1-173:3" }, { "token": [ "LIDENT", "bytes_to_utf16" ], - "loc": "172:4-172:18" + "loc": "173:4-173:18" }, { "token": "LPAREN", - "loc": "172:18-172:19" + "loc": "173:18-173:19" }, { "token": [ "LIDENT", "b" ], - "loc": "172:19-172:20" + "loc": "173:19-173:20" }, { "token": "COLON", - "loc": "172:21-172:22" + "loc": "173:21-173:22" }, { "token": [ "UIDENT", "Bytes" ], - "loc": "172:23-172:28" + "loc": "173:23-173:28" }, { "token": "RPAREN", - "loc": "172:28-172:29" + "loc": "173:28-173:29" }, { "token": "THIN_ARROW", - "loc": "172:30-172:32" + "loc": "173:30-173:32" }, { "token": [ "UIDENT", "Array" ], - "loc": "172:33-172:38" + "loc": "173:33-173:38" }, { "token": "LBRACKET", - "loc": "172:38-172:39" + "loc": "173:38-173:39" }, { "token": [ "UIDENT", "Char" ], - "loc": "172:39-172:43" + "loc": "173:39-173:43" }, { "token": "RBRACKET", - "loc": "172:43-172:44" + "loc": "173:43-173:44" }, { "token": "RAISE", - "loc": "172:45-172:50" + "loc": "173:45-173:50" }, { "token": "LBRACE", - "loc": "172:51-172:52" + "loc": "173:51-173:52" }, { "token": "NEWLINE", - "loc": "172:52-172:53" + "loc": "173:52-173:53" }, { "token": [ "LIDENT", "b" ], - "loc": "173:3-173:4" + "loc": "174:3-174:4" }, { "token": "NEWLINE", - "loc": "173:4-173:5" + "loc": "174:4-174:5" }, { "token": "PIPE", - "loc": "174:3-174:5" + "loc": "175:3-175:5" }, { "token": [ "LIDENT", "from_bytes" ], - "loc": "174:6-174:16" + "loc": "175:6-175:16" }, { "token": "NEWLINE", - "loc": "174:16-174:17" + "loc": "175:16-175:17" }, { "token": "PIPE", - "loc": "175:3-175:5" + "loc": "176:3-176:5" }, { "token": [ "LIDENT", "bytes_to_utf16_code_points" ], - "loc": "175:6-175:32" + "loc": "176:6-176:32" }, { "token": "NEWLINE", - "loc": "175:32-175:33" + "loc": "176:32-176:33" }, { "token": "PIPE", - "loc": "176:3-176:5" + "loc": "177:3-177:5" }, { "token": [ "LIDENT", "decode_utf16" ], - "loc": "176:6-176:18" + "loc": "177:6-177:18" }, { "token": "NEWLINE", - "loc": "176:18-176:19" + "loc": "177:18-177:19" }, { "token": "PIPE", - "loc": "177:3-177:5" + "loc": "178:3-178:5" }, { "token": [ "LIDENT", "collect" ], - "loc": "177:6-177:13" + "loc": "178:6-178:13" }, { "token": "NEWLINE", - "loc": "177:13-177:14" + "loc": "178:13-178:14" }, { "token": "RBRACE", - "loc": "178:1-178:2" + "loc": "179:1-179:2" }, { "token": [ "SEMI", false ], - "loc": "178:2-178:2" + "loc": "179:2-179:2" }, { "token": "NEWLINE", - "loc": "178:2-178:3" + "loc": "179:2-179:3" }, { "token": "NEWLINE", - "loc": "179:1-179:2" + "loc": "180:1-180:2" }, { "token": "FN", - "loc": "180:1-180:3" + "loc": "181:1-181:3" }, { "token": [ "LIDENT", "init" ], - "loc": "180:4-180:8" + "loc": "181:4-181:8" }, { "token": "LBRACE", - "loc": "180:9-180:10" + "loc": "181:9-181:10" }, { "token": "NEWLINE", - "loc": "180:10-180:11" + "loc": "181:10-181:11" }, { "token": [ "LIDENT", "println" ], - "loc": "181:3-181:10" + "loc": "182:3-182:10" }, { "token": "LPAREN", - "loc": "181:10-181:11" + "loc": "182:10-182:11" }, { "token": "TRY_QUESTION", - "loc": "181:11-181:15" + "loc": "182:11-182:15" }, { "token": [ "LIDENT", "bytes_to_utf16" ], - "loc": "181:16-181:30" + "loc": "182:16-182:30" }, { "token": "LPAREN", - "loc": "181:30-181:31" + "loc": "182:30-182:31" }, { "token": [ "PACKAGE_NAME", "encoding/utf16" ], - "loc": "181:31-181:46" + "loc": "182:31-182:46" }, { "token": [ "DOT_LIDENT", "encode" ], - "loc": "181:47-181:53" + "loc": "182:47-182:53" }, { "token": "LPAREN", - "loc": "181:53-181:54" + "loc": "182:53-182:54" }, { "token": [ "STRING", "abc" ], - "loc": "181:54-181:59" + "loc": "182:54-182:59" }, { "token": "RPAREN", - "loc": "181:59-181:60" + "loc": "182:59-182:60" }, { "token": "RPAREN", - "loc": "181:60-181:61" + "loc": "182:60-182:61" }, { "token": "RPAREN", - "loc": "181:61-181:62" + "loc": "182:61-182:62" }, { "token": [ "SEMI", false ], - "loc": "181:62-181:62" + "loc": "182:62-182:62" }, { "token": "NEWLINE", - "loc": "181:62-181:63" + "loc": "182:62-182:63" }, { "token": [ "LIDENT", "println" ], - "loc": "182:3-182:10" + "loc": "183:3-183:10" }, { "token": "LPAREN", - "loc": "182:10-182:11" + "loc": "183:10-183:11" }, { "token": "TRY_QUESTION", - "loc": "182:11-182:15" + "loc": "183:11-183:15" }, { "token": [ "LIDENT", "bytes_to_utf16" ], - "loc": "182:16-182:30" + "loc": "183:16-183:30" }, { "token": "LPAREN", - "loc": "182:30-182:31" + "loc": "183:30-183:31" }, { "token": [ "PACKAGE_NAME", "encoding/utf16" ], - "loc": "182:31-182:46" + "loc": "183:31-183:46" }, { "token": [ "DOT_LIDENT", "encode" ], - "loc": "182:47-182:53" + "loc": "183:47-183:53" }, { "token": "LPAREN", - "loc": "182:53-182:54" + "loc": "183:53-183:54" }, { "token": [ "STRING", "中文" ], - "loc": "182:54-182:58" + "loc": "183:54-183:58" }, { "token": "RPAREN", - "loc": "182:58-182:59" + "loc": "183:58-183:59" }, { "token": "RPAREN", - "loc": "182:59-182:60" + "loc": "183:59-183:60" }, { "token": "RPAREN", - "loc": "182:60-182:61" + "loc": "183:60-183:61" }, { "token": [ "SEMI", false ], - "loc": "182:61-182:61" + "loc": "183:61-183:61" }, { "token": "NEWLINE", - "loc": "182:61-182:62" + "loc": "183:61-183:62" }, { "token": [ "LIDENT", "println" ], - "loc": "183:3-183:10" + "loc": "184:3-184:10" }, { "token": "LPAREN", - "loc": "183:10-183:11" + "loc": "184:10-184:11" }, { "token": "TRY_QUESTION", - "loc": "183:11-183:15" + "loc": "184:11-184:15" }, { "token": [ "LIDENT", "bytes_to_utf16" ], - "loc": "183:16-183:30" + "loc": "184:16-184:30" }, { "token": "LPAREN", - "loc": "183:30-183:31" + "loc": "184:30-184:31" }, { "token": [ "PACKAGE_NAME", "encoding/utf16" ], - "loc": "183:31-183:46" + "loc": "184:31-184:46" }, { "token": [ "DOT_LIDENT", "encode" ], - "loc": "183:47-183:53" + "loc": "184:47-184:53" }, { "token": "LPAREN", - "loc": "183:53-183:54" + "loc": "184:53-184:54" }, { "token": [ "STRING", "🤣" ], - "loc": "183:54-183:57" + "loc": "184:54-184:57" }, { "token": "RPAREN", - "loc": "183:57-183:58" + "loc": "184:57-184:58" }, { "token": "RPAREN", - "loc": "183:58-183:59" + "loc": "184:58-184:59" }, { "token": "RPAREN", - "loc": "183:59-183:60" + "loc": "184:59-184:60" }, { "token": [ "SEMI", false ], - "loc": "183:60-183:60" + "loc": "184:60-184:60" }, { "token": "NEWLINE", - "loc": "183:60-183:61" + "loc": "184:60-184:61" }, { "token": [ "LIDENT", "println" ], - "loc": "184:3-184:10" + "loc": "185:3-185:10" }, { "token": "LPAREN", - "loc": "184:10-184:11" + "loc": "185:10-185:11" }, { "token": "TRY_QUESTION", - "loc": "184:11-184:15" + "loc": "185:11-185:15" }, { "token": [ "LIDENT", "bytes_to_utf16" ], - "loc": "184:16-184:30" + "loc": "185:16-185:30" }, { "token": "LPAREN", - "loc": "184:30-184:31" + "loc": "185:30-185:31" }, { "token": "LBRACKET", - "loc": "184:31-184:32" + "loc": "185:31-185:32" }, { "token": [ "INT", "0x00" ], - "loc": "184:33-184:37" + "loc": "185:33-185:37" }, { "token": "COMMA", - "loc": "184:37-184:38" + "loc": "185:37-185:38" }, { "token": [ "INT", "0xD8" ], - "loc": "184:39-184:43" + "loc": "185:39-185:43" }, { "token": "COMMA", - "loc": "184:43-184:44" + "loc": "185:43-185:44" }, { "token": [ "INT", "0x00" ], - "loc": "184:45-184:49" + "loc": "185:45-185:49" }, { "token": "COMMA", - "loc": "184:49-184:50" + "loc": "185:49-185:50" }, { "token": [ "INT", "0x61" ], - "loc": "184:51-184:55" + "loc": "185:51-185:55" }, { "token": "RBRACKET", - "loc": "184:56-184:57" + "loc": "185:56-185:57" }, { "token": "RPAREN", - "loc": "184:57-184:58" + "loc": "185:57-185:58" }, { "token": "RPAREN", - "loc": "184:58-184:59" + "loc": "185:58-185:59" }, { "token": [ "SEMI", false ], - "loc": "184:59-184:59" + "loc": "185:59-185:59" }, { "token": "NEWLINE", - "loc": "184:59-184:60" + "loc": "185:59-185:60" }, { "token": [ "LIDENT", "println" ], - "loc": "185:3-185:10" + "loc": "186:3-186:10" }, { "token": "LPAREN", - "loc": "185:10-185:11" + "loc": "186:10-186:11" }, { "token": "TRY_QUESTION", - "loc": "185:11-185:15" + "loc": "186:11-186:15" }, { "token": [ "LIDENT", "bytes_to_utf16" ], - "loc": "185:16-185:30" + "loc": "186:16-186:30" }, { "token": "LPAREN", - "loc": "185:30-185:31" + "loc": "186:30-186:31" }, { "token": "LBRACKET", - "loc": "185:31-185:32" + "loc": "186:31-186:32" }, { "token": [ "INT", "0x00" ], - "loc": "185:33-185:37" + "loc": "186:33-186:37" }, { "token": "COMMA", - "loc": "185:37-185:38" + "loc": "186:37-186:38" }, { "token": [ "INT", "0xDC" ], - "loc": "185:39-185:43" + "loc": "186:39-186:43" }, { "token": "RBRACKET", - "loc": "185:44-185:45" + "loc": "186:44-186:45" }, { "token": "RPAREN", - "loc": "185:45-185:46" + "loc": "186:45-186:46" }, { "token": "RPAREN", - "loc": "185:46-185:47" + "loc": "186:46-186:47" }, { "token": "NEWLINE", - "loc": "185:47-185:48" + "loc": "186:47-186:48" }, { "token": "RBRACE", - "loc": "186:1-186:2" + "loc": "187:1-187:2" }, { "token": [ "SEMI", false ], - "loc": "186:2-186:2" + "loc": "187:2-187:2" }, { "token": "NEWLINE", - "loc": "186:2-186:3" + "loc": "187:2-187:3" }, { "token": "NEWLINE", - "loc": "187:1-187:2" + "loc": "188:1-188:2" }, { "token": "FN", - "loc": "188:1-188:3" + "loc": "189:1-189:3" }, { "token": [ "LIDENT", "bytes_arary_to_iter" ], - "loc": "188:4-188:23" + "loc": "189:4-189:23" }, { "token": "LPAREN", - "loc": "188:23-188:24" + "loc": "189:23-189:24" }, { "token": "NEWLINE", - "loc": "188:24-188:25" + "loc": "189:24-189:25" }, { "token": [ "LIDENT", "data" ], - "loc": "189:3-189:7" + "loc": "190:3-190:7" }, { "token": "COLON", - "loc": "189:8-189:9" + "loc": "190:8-190:9" }, { "token": [ "UIDENT", "Array" ], - "loc": "189:10-189:15" + "loc": "190:10-190:15" }, { "token": "LBRACKET", - "loc": "189:15-189:16" + "loc": "190:15-190:16" }, { "token": [ "UIDENT", "Bytes" ], - "loc": "189:16-189:21" + "loc": "190:16-190:21" }, { "token": "RBRACKET", - "loc": "189:21-189:22" + "loc": "190:21-190:22" }, { "token": "NEWLINE", - "loc": "189:22-189:23" + "loc": "190:22-190:23" }, { "token": "RPAREN", - "loc": "190:1-190:2" + "loc": "191:1-191:2" }, { "token": "THIN_ARROW", - "loc": "190:3-190:5" + "loc": "191:3-191:5" }, { "token": "LPAREN", - "loc": "190:6-190:7" + "loc": "191:6-191:7" }, { "token": "LPAREN", - "loc": "190:7-190:8" + "loc": "191:7-191:8" }, { "token": [ "UIDENT", "Byte" ], - "loc": "190:8-190:12" + "loc": "191:8-191:12" }, { "token": "RPAREN", - "loc": "190:12-190:13" + "loc": "191:12-191:13" }, { "token": "THIN_ARROW", - "loc": "190:14-190:16" + "loc": "191:14-191:16" }, { "token": [ "UIDENT", "IterResult" ], - "loc": "190:17-190:27" + "loc": "191:17-191:27" }, { "token": "RPAREN", - "loc": "190:27-190:28" + "loc": "191:27-191:28" }, { "token": "THIN_ARROW", - "loc": "190:29-190:31" + "loc": "191:29-191:31" }, { "token": [ "UIDENT", "IterResult" ], - "loc": "190:32-190:42" + "loc": "191:32-191:42" }, { "token": "RAISE", - "loc": "190:43-190:48" + "loc": "191:43-191:48" }, { "token": "QUESTION", - "loc": "190:48-190:49" + "loc": "191:48-191:49" }, { "token": "LBRACE", - "loc": "190:50-190:51" + "loc": "191:50-191:51" }, { "token": "NEWLINE", - "loc": "190:51-190:52" + "loc": "191:51-191:52" }, { "token": "FN", - "loc": "191:3-191:5" + "loc": "192:3-192:5" }, { "token": "LPAREN", - "loc": "191:6-191:7" + "loc": "192:6-192:7" }, { "token": [ "LIDENT", "yield_" ], - "loc": "191:7-191:13" + "loc": "192:7-192:13" }, { "token": "RPAREN", - "loc": "191:13-191:14" + "loc": "192:13-192:14" }, { "token": "LBRACE", - "loc": "191:15-191:16" + "loc": "192:15-192:16" }, { "token": "NEWLINE", - "loc": "191:16-191:17" + "loc": "192:16-192:17" }, { "token": "FOR", - "loc": "192:5-192:8" + "loc": "193:5-193:8" }, { "token": [ "LIDENT", "i" ], - "loc": "192:9-192:10" + "loc": "193:9-193:10" }, { "token": "COMMA", - "loc": "192:10-192:11" + "loc": "193:10-193:11" }, { "token": [ "LIDENT", "segment" ], - "loc": "192:12-192:19" + "loc": "193:12-193:19" }, { "token": "IN", - "loc": "192:20-192:22" + "loc": "193:20-193:22" }, { "token": [ "LIDENT", "data" ], - "loc": "192:23-192:27" + "loc": "193:23-193:27" }, { "token": "LBRACE", - "loc": "192:28-192:29" + "loc": "193:28-193:29" }, { "token": "NEWLINE", - "loc": "192:29-192:30" + "loc": "193:29-193:30" }, { "token": [ "LIDENT", "println" ], - "loc": "193:7-193:14" + "loc": "194:7-194:14" }, { "token": "LPAREN", - "loc": "193:14-193:15" + "loc": "194:14-194:15" }, { "token": [ "INTERP", "\"fetching data segment \\{i + 1}\"" ], - "loc": "193:15-193:47" + "loc": "194:15-194:47" }, { "token": "RPAREN", - "loc": "193:47-193:48" + "loc": "194:47-194:48" }, { "token": [ "SEMI", false ], - "loc": "193:48-193:48" + "loc": "194:48-194:48" }, { "token": "NEWLINE", - "loc": "193:48-193:49" + "loc": "194:48-194:49" }, { "token": "GUARD", - "loc": "194:7-194:12" + "loc": "195:7-195:12" }, { "token": [ "LIDENT", "from_bytes" ], - "loc": "194:13-194:23" + "loc": "195:13-195:23" }, { "token": "LPAREN", - "loc": "194:23-194:24" + "loc": "195:23-195:24" }, { "token": [ "LIDENT", "segment" ], - "loc": "194:24-194:31" + "loc": "195:24-195:31" }, { "token": "RPAREN", - "loc": "194:31-194:32" + "loc": "195:31-195:32" }, { "token": "LPAREN", - "loc": "194:32-194:33" + "loc": "195:32-195:33" }, { "token": [ "LIDENT", "yield_" ], - "loc": "194:33-194:39" + "loc": "195:33-195:39" }, { "token": "RPAREN", - "loc": "194:39-194:40" + "loc": "195:39-195:40" }, { "token": "IS", - "loc": "194:41-194:43" + "loc": "195:41-195:43" }, { "token": [ "UIDENT", "IterContinue" ], - "loc": "194:44-194:56" + "loc": "195:44-195:56" }, { "token": "ELSE", - "loc": "194:57-194:61" + "loc": "195:57-195:61" }, { "token": "LBRACE", - "loc": "194:62-194:63" + "loc": "195:62-195:63" }, { "token": "BREAK", - "loc": "194:64-194:69" + "loc": "195:64-195:69" }, { "token": [ "UIDENT", "IterEnd" ], - "loc": "194:70-194:77" + "loc": "195:70-195:77" }, { "token": "RBRACE", - "loc": "194:78-194:79" + "loc": "195:78-195:79" }, { "token": "NEWLINE", - "loc": "194:79-194:80" + "loc": "195:79-195:80" }, { "token": "RBRACE", - "loc": "195:5-195:6" + "loc": "196:5-196:6" }, { "token": "ELSE", - "loc": "195:7-195:11" + "loc": "196:7-196:11" }, { "token": "LBRACE", - "loc": "195:12-195:13" + "loc": "196:12-196:13" }, { "token": "NEWLINE", - "loc": "195:13-195:14" + "loc": "196:13-196:14" }, { "token": [ "UIDENT", "IterContinue" ], - "loc": "196:7-196:19" + "loc": "197:7-197:19" }, { "token": "NEWLINE", - "loc": "196:19-196:20" + "loc": "197:19-197:20" }, { "token": "RBRACE", - "loc": "197:5-197:6" + "loc": "198:5-198:6" }, { "token": "NEWLINE", - "loc": "197:6-197:7" + "loc": "198:6-198:7" }, { "token": "RBRACE", - "loc": "198:3-198:4" + "loc": "199:3-199:4" }, { "token": "NEWLINE", - "loc": "198:4-198:5" + "loc": "199:4-199:5" }, { "token": "RBRACE", - "loc": "199:1-199:2" + "loc": "200:1-200:2" }, { "token": [ "SEMI", false ], - "loc": "199:2-199:2" + "loc": "200:2-200:2" }, { "token": "NEWLINE", - "loc": "199:2-199:3" + "loc": "200:2-200:3" }, { "token": "NEWLINE", - "loc": "200:1-200:2" + "loc": "201:1-201:2" }, { "token": [ @@ -6166,521 +6188,549 @@ "consumed_by_docstring": false } ], - "loc": "201:1-201:24" + "loc": "202:1-202:24" }, { "token": "NEWLINE", - "loc": "201:24-201:25" + "loc": "202:24-202:25" }, { "token": "FN", - "loc": "202:1-202:3" + "loc": "203:1-203:3" }, { "token": [ "LIDENT", "init" ], - "loc": "202:4-202:8" + "loc": "203:4-203:8" }, { "token": "LBRACE", - "loc": "202:9-202:10" + "loc": "203:9-203:10" }, { "token": "NEWLINE", - "loc": "202:10-202:11" + "loc": "203:10-203:11" }, { "token": "FN", - "loc": "203:3-203:5" + "loc": "204:3-204:5" }, { "token": [ "LIDENT", "run" ], - "loc": "203:6-203:9" + "loc": "204:6-204:9" }, { "token": "LPAREN", - "loc": "203:9-203:10" + "loc": "204:9-204:10" }, { "token": [ "LIDENT", "data" ], - "loc": "203:10-203:14" + "loc": "204:10-204:14" }, { "token": "COMMA", - "loc": "203:14-203:15" + "loc": "204:14-204:15" }, { "token": [ "LIDENT", "n" ], - "loc": "203:16-203:17" + "loc": "204:16-204:17" }, { "token": "RPAREN", - "loc": "203:17-203:18" + "loc": "204:17-204:18" }, { "token": "RAISE", - "loc": "203:19-203:24" + "loc": "204:19-204:24" }, { "token": "LBRACE", - "loc": "203:25-203:26" + "loc": "204:25-204:26" }, { "token": "NEWLINE", - "loc": "203:26-203:27" + "loc": "204:26-204:27" }, { "token": "LET", - "loc": "204:5-204:8" + "loc": "205:5-205:8" }, { "token": [ "LIDENT", "it" ], - "loc": "204:9-204:11" + "loc": "205:9-205:11" }, { "token": "EQUAL", - "loc": "204:12-204:13" + "loc": "205:12-205:13" }, { "token": [ "LIDENT", "data" ], - "loc": "204:14-204:18" + "loc": "205:14-205:18" }, { "token": "NEWLINE", - "loc": "204:18-204:19" + "loc": "205:18-205:19" }, { "token": "PIPE", - "loc": "205:5-205:7" + "loc": "206:5-206:7" }, { "token": [ "LIDENT", "bytes_arary_to_iter" ], - "loc": "205:8-205:27" + "loc": "206:8-206:27" }, { "token": "NEWLINE", - "loc": "205:27-205:28" + "loc": "206:27-206:28" }, { "token": "PIPE", - "loc": "206:5-206:7" + "loc": "207:5-207:7" }, { "token": [ "LIDENT", "bytes_to_utf16_code_points" ], - "loc": "206:8-206:34" + "loc": "207:8-207:34" }, { "token": "NEWLINE", - "loc": "206:34-206:35" + "loc": "207:34-207:35" }, { "token": "PIPE", - "loc": "207:5-207:7" + "loc": "208:5-208:7" }, { "token": [ "LIDENT", "decode_utf16" ], - "loc": "207:8-207:20" + "loc": "208:8-208:20" }, { "token": [ "SEMI", false ], - "loc": "207:20-207:20" + "loc": "208:20-208:20" }, { "token": "NEWLINE", - "loc": "207:20-207:21" + "loc": "208:20-208:21" }, { "token": [ "LIDENT", "take" ], - "loc": "208:5-208:9" + "loc": "209:5-209:9" }, { "token": "LPAREN", - "loc": "208:9-208:10" + "loc": "209:9-209:10" }, { "token": [ "LIDENT", "it" ], - "loc": "208:10-208:12" + "loc": "209:10-209:12" }, { "token": "COMMA", - "loc": "208:12-208:13" + "loc": "209:12-209:13" }, { "token": [ "LIDENT", "n" ], - "loc": "208:14-208:15" + "loc": "209:14-209:15" }, { "token": "RPAREN", - "loc": "208:15-208:16" + "loc": "209:15-209:16" }, { "token": "PIPE", - "loc": "208:17-208:19" + "loc": "209:17-209:19" }, { "token": [ "LIDENT", "collect" ], - "loc": "208:20-208:27" + "loc": "209:20-209:27" }, { "token": "NEWLINE", - "loc": "208:27-208:28" + "loc": "209:27-209:28" }, { "token": "RBRACE", - "loc": "209:3-209:4" + "loc": "210:3-210:4" }, { "token": [ "SEMI", false ], - "loc": "209:4-209:4" + "loc": "210:4-210:4" }, { "token": "NEWLINE", - "loc": "209:4-209:5" + "loc": "210:4-210:5" }, { "token": [ "LIDENT", "println" ], - "loc": "210:3-210:10" + "loc": "211:3-211:10" }, { "token": "LPAREN", - "loc": "210:10-210:11" + "loc": "211:10-211:11" }, { "token": "TRY_QUESTION", - "loc": "210:11-210:15" + "loc": "211:11-211:15" }, { "token": [ "LIDENT", "run" ], - "loc": "210:16-210:19" + "loc": "211:16-211:19" }, { "token": "LPAREN", - "loc": "210:19-210:20" + "loc": "211:19-211:20" }, { "token": "LBRACKET", - "loc": "210:20-210:21" + "loc": "211:20-211:21" }, { "token": [ "STRING", "一二" ], - "loc": "210:22-210:26" + "loc": "211:22-211:26" }, { "token": "COMMA", - "loc": "210:26-210:27" + "loc": "211:26-211:27" }, { "token": [ "STRING", "三四" ], - "loc": "210:28-210:32" + "loc": "211:28-211:32" }, { "token": "COMMA", - "loc": "210:32-210:33" + "loc": "211:32-211:33" }, { "token": [ "STRING", "五六" ], - "loc": "210:34-210:38" + "loc": "211:34-211:38" }, { "token": "COMMA", - "loc": "210:38-210:39" + "loc": "211:38-211:39" }, { "token": [ "STRING", "七八" ], - "loc": "210:40-210:44" + "loc": "211:40-211:44" }, { "token": "COMMA", - "loc": "210:44-210:45" + "loc": "211:44-211:45" }, { "token": [ "STRING", "九十" ], - "loc": "210:46-210:50" + "loc": "211:46-211:50" }, { "token": "RBRACKET", - "loc": "210:51-210:52" + "loc": "211:51-211:52" }, { "token": [ "DOT_LIDENT", "map" ], - "loc": "210:53-210:56" + "loc": "211:53-211:56" }, { "token": "LPAREN", - "loc": "210:56-210:57" + "loc": "211:56-211:57" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "211:57-211:58" + }, + { + "token": "FAT_ARROW", + "loc": "211:59-211:61" }, { "token": [ "PACKAGE_NAME", "encoding/utf16" ], - "loc": "210:57-210:72" + "loc": "211:62-211:77" }, { "token": [ "DOT_LIDENT", "encode" ], - "loc": "210:73-210:79" + "loc": "211:78-211:84" }, { "token": "LPAREN", - "loc": "210:79-210:80" + "loc": "211:84-211:85" }, { - "token": "UNDERSCORE", - "loc": "210:80-210:81" + "token": [ + "LIDENT", + "s" + ], + "loc": "211:85-211:86" }, { "token": "RPAREN", - "loc": "210:81-210:82" + "loc": "211:86-211:87" }, { "token": "RPAREN", - "loc": "210:82-210:83" + "loc": "211:87-211:88" }, { "token": "COMMA", - "loc": "210:83-210:84" + "loc": "211:88-211:89" }, { "token": [ "INT", "7" ], - "loc": "210:85-210:86" + "loc": "211:90-211:91" }, { "token": "RPAREN", - "loc": "210:86-210:87" + "loc": "211:91-211:92" }, { "token": "RPAREN", - "loc": "210:87-210:88" + "loc": "211:92-211:93" }, { "token": [ "SEMI", false ], - "loc": "210:88-210:88" + "loc": "211:93-211:93" }, { "token": "NEWLINE", - "loc": "210:88-210:89" + "loc": "211:93-211:94" }, { "token": [ "LIDENT", "println" ], - "loc": "211:3-211:10" + "loc": "212:3-212:10" }, { "token": "LPAREN", - "loc": "211:10-211:11" + "loc": "212:10-212:11" }, { "token": "TRY_QUESTION", - "loc": "211:11-211:15" + "loc": "212:11-212:15" }, { "token": [ "LIDENT", "run" ], - "loc": "211:16-211:19" + "loc": "212:16-212:19" }, { "token": "LPAREN", - "loc": "211:19-211:20" + "loc": "212:19-212:20" }, { "token": "LBRACKET", - "loc": "211:20-211:21" + "loc": "212:20-212:21" }, { "token": [ "STRING", "abcdefghij" ], - "loc": "211:22-211:34" + "loc": "212:22-212:34" }, { "token": "COMMA", - "loc": "211:34-211:35" + "loc": "212:34-212:35" }, { "token": [ "STRING", "klmnopqrst" ], - "loc": "211:36-211:48" + "loc": "212:36-212:48" }, { "token": "COMMA", - "loc": "211:48-211:49" + "loc": "212:48-212:49" }, { "token": [ "STRING", "uvwxyz" ], - "loc": "211:50-211:58" + "loc": "212:50-212:58" }, { "token": "RBRACKET", - "loc": "211:59-211:60" + "loc": "212:59-212:60" }, { "token": [ "DOT_LIDENT", "map" ], - "loc": "211:61-211:64" + "loc": "212:61-212:64" }, { "token": "LPAREN", - "loc": "211:64-211:65" + "loc": "212:64-212:65" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "212:65-212:66" + }, + { + "token": "FAT_ARROW", + "loc": "212:67-212:69" }, { "token": [ "PACKAGE_NAME", "encoding/utf16" ], - "loc": "211:65-211:80" + "loc": "212:70-212:85" }, { "token": [ "DOT_LIDENT", "encode" ], - "loc": "211:81-211:87" + "loc": "212:86-212:92" }, { "token": "LPAREN", - "loc": "211:87-211:88" + "loc": "212:92-212:93" }, { - "token": "UNDERSCORE", - "loc": "211:88-211:89" + "token": [ + "LIDENT", + "s" + ], + "loc": "212:93-212:94" }, { "token": "RPAREN", - "loc": "211:89-211:90" + "loc": "212:94-212:95" }, { "token": "RPAREN", - "loc": "211:90-211:91" + "loc": "212:95-212:96" }, { "token": "COMMA", - "loc": "211:91-211:92" + "loc": "212:96-212:97" }, { "token": [ "INT", "10" ], - "loc": "211:93-211:95" + "loc": "212:98-212:100" }, { "token": "RPAREN", - "loc": "211:95-211:96" + "loc": "212:100-212:101" }, { "token": "RPAREN", - "loc": "211:96-211:97" + "loc": "212:101-212:102" }, { "token": "NEWLINE", - "loc": "211:97-211:98" + "loc": "212:102-212:103" }, { "token": "RBRACE", - "loc": "212:1-212:2" + "loc": "213:1-213:2" }, { "token": [ "SEMI", false ], - "loc": "212:2-212:2" + "loc": "213:2-213:2" }, { "token": "NEWLINE", - "loc": "212:2-212:3" + "loc": "213:2-213:3" }, { "token": "EOF", - "loc": "213:1-213:1" + "loc": "214:1-214:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.json b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.json index eaa2d57f..2ca08392 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.json @@ -319,46 +319,27 @@ ] }, "body": { - "kind": "Expr::ForEach", + "kind": "Expr::Group", "loc": null, "children": { - "binders": { - "kind": "Expr::ForEach::BinderList", - "loc": null, - "children": [ - { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - } - ] - }, "expr": { - "kind": "Expr::Ident", + "kind": "Expr::ForEach", "loc": null, "children": { - "id": { - "kind": "Var", + "binders": { + "kind": "Expr::ForEach::BinderList", "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", + "children": [ + { + "kind": "Binder", "loc": null, "children": { - "value": "arr" + "name": "x" } } - } - } - } - }, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { + ] + }, + "expr": { "kind": "Expr::Ident", "loc": null, "children": { @@ -370,58 +351,88 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "yield_" + "value": "arr" } } } } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", + "body": { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "id": { - "kind": "Var", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "value": "yield_" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "value": "x" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } + "else_block": null, + "label": null } }, - "else_block": null, - "label": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -431,7 +442,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -1324,68 +1335,121 @@ "loc": null, "children": { "value": { - "kind": "Expr::DotApply", + "kind": "Expr::Function", "loc": null, "children": { - "self": { - "kind": "Expr::Ident", + "func": { + "kind": "Func::Lambda", "loc": null, "children": { - "id": { - "kind": "Var", + "parameters": { + "kind": "Func::Lambda::ParameterList", "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", + "children": [ + { + "kind": "Parameter::Positional", "loc": null, "children": { - "value": "result" + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "elem" + } + }, + "ty": null } } - } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "push" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", + ] + }, + "body": { + "kind": "Expr::DotApply", "loc": null, "children": { - "value": { - "kind": "Expr::Hole", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "kind": { - "kind": "Hole::Incomplete", + "id": { + "kind": "Var", "loc": null, - "children": {} + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } + } } } }, - "kind": { - "kind": "ArgumentKind::Positional", + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "push" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "elem" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", "loc": null, "children": {} } } - } - ] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } } } }, @@ -2746,142 +2810,153 @@ ] }, "body": { - "kind": "Expr::If", + "kind": "Expr::Group", "loc": null, "children": { - "cond": { - "kind": "Expr::Apply", + "expr": { + "kind": "Expr::If", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "cond": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "f" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "x" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "ifso": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + "ifso": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "yield_" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "yield_" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "x" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } + "ifnot": null } }, - "ifnot": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -2891,7 +2966,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -3400,42 +3475,10 @@ ] }, "body": { - "kind": "Expr::LetMut", + "kind": "Expr::Group", "loc": null, "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "err_from_yield" - } - }, - "ty": null, "expr": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "None" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - } - } - }, - "body": { "kind": "Expr::LetMut", "loc": null, "children": { @@ -3443,234 +3486,247 @@ "kind": "Binder", "loc": null, "children": { - "name": "i" + "name": "err_from_yield" } }, "ty": null, "expr": { - "kind": "Expr::Constant", + "kind": "Expr::Constr", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "value": "0" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } } } }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::LetMut", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "binder": { + "kind": "Binder", "loc": null, - "children": [ - { - "kind": "Expr::Try", + "children": { + "name": "i" + } + }, + "ty": null, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", "loc": null, "children": { - "body": { - "kind": "Expr::Apply", + "value": "0" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Try", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "it" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "it" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Function", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "func": { - "kind": "Func::Lambda", + "value": { + "kind": "Expr::Function", "loc": null, "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": null - } - } - ] - }, - "body": { - "kind": "Expr::Sequence", + "func": { + "kind": "Func::Lambda", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "parameters": { + "kind": "Func::Lambda::ParameterList", "loc": null, "children": [ { - "kind": "Expr::If", + "kind": "Parameter::Positional", "loc": null, "children": { - "cond": { - "kind": "Expr::Infix", + "binder": { + "kind": "Binder", "loc": null, "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": ">" - } - } - } - }, - "lhs": { - "kind": "Expr::Ident", + "name": "x" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::If", "loc": null, "children": { - "id": { - "kind": "Var", + "cond": { + "kind": "Expr::Infix", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "op": { + "kind": "Var", "loc": null, "children": { - "value": "i" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": ">" + } + } } - } - } - } - } - }, - "rhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "n" + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } } } } - } - } - } - } - }, - "ifso": { - "kind": "Expr::Raise", - "loc": null, - "children": { - "err_value": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", + }, + "ifso": { + "kind": "Expr::Raise", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "err_value": { + "kind": "Expr::Constr", "loc": null, "children": { - "name": "IterTake" + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterTake" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } - } + }, + "ifnot": null } } - } + ] }, - "ifnot": null - } - } - ] - }, - "last_expr": { - "kind": "Expr::Try", - "loc": null, - "children": { - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + "last_expr": { + "kind": "Expr::Try", "loc": null, "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "yield_" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "value": { + "func": { "kind": "Expr::Ident", "loc": null, "children": { @@ -3682,68 +3738,26 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "x" + "value": "yield_" } } } } } }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "name": "err" - } - } - } - }, - "guard": null, - "body": { - "kind": "Expr::Group", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "children": [ + { + "kind": "Argument", "loc": null, - "children": [ - { - "kind": "Expr::Assign", + "children": { + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "var": { + "id": { "kind": "Var", "loc": null, "children": { @@ -3751,414 +3765,492 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "err_from_yield" + "value": "x" } } } - }, - "expr": { - "kind": "Expr::Apply", + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", + "children": [ + { + "kind": "Expr::Assign", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "var": { + "kind": "Var", "loc": null, "children": { "name": { - "kind": "ConstrName", + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "Some" + "value": "err_from_yield" } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "value": { - "kind": "Expr::Ident", + "func": { + "kind": "Expr::Constr", "loc": null, "children": { - "id": { - "kind": "Var", + "constr": { + "kind": "Constructor", "loc": null, "children": { "name": { - "kind": "LongIdent::Ident", + "kind": "ConstrName", "loc": null, "children": { - "value": "err" + "name": "Some" } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} } } } } }, - "kind": { - "kind": "ArgumentKind::Positional", + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", "loc": null, "children": {} } } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + }, + "augmented_by": null + } } - } + ] }, - "augmented_by": null - } - } - ] - }, - "last_expr": { - "kind": "Expr::Raise", - "loc": null, - "children": { - "err_value": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", + "last_expr": { + "kind": "Expr::Raise", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "err_value": { + "kind": "Expr::Constr", "loc": null, "children": { - "name": "IterTake" + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterTake" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } } } - }, - "group": { - "kind": "Group::Brace", - "loc": null, - "children": {} } - } - } + ] + }, + "catch_all": false, + "try_else": null, + "has_try": true } } - ] + } }, - "catch_all": false, - "try_else": null, - "has_try": true + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } - } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": null, - "is_async": null + } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "catch": { - "kind": "Expr::Try::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + "catch": { + "kind": "Expr::Try::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "pattern": { + "kind": "Pattern::Constr", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "name": "IterTake" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterTake" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } + "args": null, + "is_open": false } }, - "args": null, - "is_open": false + "guard": null, + "body": { + "kind": "Expr::Unit", + "loc": null, + "children": { + "faked": false + } + } } }, - "guard": null, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } - } - } - }, - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Apply", + { + "kind": "Case", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "guard": null, + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "panic" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "panic" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} } } } - } - } - ] - }, - "catch_all": false, - "try_else": null, - "has_try": false - } - } - ] - }, - "last_expr": { - "kind": "Expr::Match", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Ident", + ] + }, + "catch_all": false, + "try_else": null, + "has_try": false + } + } + ] + }, + "last_expr": { + "kind": "Expr::Match", "loc": null, "children": { - "id": { - "kind": "Var", + "expr": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "err_from_yield" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err_from_yield" + } + } } } } - } - } - }, - "cases": { - "kind": "Expr::Match::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + }, + "cases": { + "kind": "Expr::Match::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "pattern": { + "kind": "Pattern::Constr", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "name": "None" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } + "args": null, + "is_open": false } }, - "args": null, - "is_open": false + "guard": null, + "body": { + "kind": "Expr::Unit", + "loc": null, + "children": { + "faked": false + } + } } }, - "guard": null, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } - } - } - }, - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Constr", + { + "kind": "Case", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "pattern": { + "kind": "Pattern::Constr", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "name": "Some" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - }, - "args": { - "kind": "Pattern::Constr::ArgList", - "loc": null, - "children": [ - { - "kind": "ConstrPatArg", + "args": { + "kind": "Pattern::Constr::ArgList", "loc": null, - "children": { - "pat": { - "kind": "Pattern::Var", + "children": [ + { + "kind": "ConstrPatArg", "loc": null, "children": { - "value": { - "kind": "Binder", + "pat": { + "kind": "Pattern::Var", "loc": null, "children": { - "name": "err" + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "err" + } + } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } - } - ] + ] + }, + "is_open": false + } }, - "is_open": false - } - }, - "guard": null, - "body": { - "kind": "Expr::Raise", - "loc": null, - "children": { - "err_value": { - "kind": "Expr::Ident", + "guard": null, + "body": { + "kind": "Expr::Raise", "loc": null, "children": { - "id": { - "kind": "Var", + "err_value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "err" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "err" + } + } } } } @@ -4167,15 +4259,20 @@ } } } - } + ] } - ] + } } } } } } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } }, @@ -4186,7 +4283,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -4659,209 +4756,220 @@ ] }, "body": { - "kind": "Expr::If", + "kind": "Expr::Group", "loc": null, "children": { - "cond": { - "kind": "Expr::Apply", + "expr": { + "kind": "Expr::If", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "cond": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "f" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "x" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "ifso": { - "kind": "Expr::Sequence", - "loc": null, - "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "ifso": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::Assign", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "var": { - "kind": "Var", + "children": [ + { + "kind": "Expr::Assign", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "var": { + "kind": "Var", "loc": null, "children": { - "value": "result" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "result" + } + } } - } - } - }, - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", + }, + "expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "func": { + "kind": "Expr::Constr", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "name": "Some" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "Some" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "x" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } + "augmented_by": null } - }, - "augmented_by": null - } - } - ] - }, - "last_expr": { - "kind": "Expr::Raise", - "loc": null, - "children": { - "err_value": { - "kind": "Expr::Constr", + } + ] + }, + "last_expr": { + "kind": "Expr::Raise", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "err_value": { + "kind": "Expr::Constr", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "name": "IterFind" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterFind" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } } } } } - } + }, + "ifnot": null } }, - "ifnot": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -4871,7 +4979,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt index 20f06102..8bc7f750 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt @@ -8,7 +8,7 @@ pub fn[X] from_array(arr : Array[X]) -> ( (X) -> Unit raise? ) -> Unit raise? { - fn (yield_) { + yield_ => { for x in arr { yield_(x) } @@ -26,7 +26,7 @@ pub fn[X] collect( it : ((X) -> Unit raise?) -> Unit raise? ) -> Array[X] raise? { let result = [] - each(it, result.push(_)) + each(it, elem => result.push(elem)) result } @@ -41,7 +41,7 @@ pub fn[X] filter( it : ((X) -> Unit raise?) -> Unit raise?, f : (X) -> Bool ) -> ((X) -> Unit raise?) -> Unit raise? { - yield_ => it(fn (x) { + yield_ => it(x => { if f(x) { yield_(x) } @@ -54,10 +54,10 @@ pub fn[X] take( it : ((X) -> Unit raise) -> Unit raise, n : Int ) -> ((X) -> Unit raise?) -> Unit raise? { - fn (yield_) { + yield_ => { let mut err_from_yield = None let mut i = 0 - it(fn (x) { + it(x => { if i > n { raise IterTake } try yield_(x) catch { err => { @@ -91,7 +91,7 @@ pub fn[X] find( ) -> X? { let mut result = None try { - it(fn (x) { + it(x => { if f(x) { result = Some(x) raise IterFind diff --git a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt.tokens.json index 2be208a9..c2c0532d 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_poly_iter2.mbt.tokens.json @@ -264,32 +264,24 @@ "token": "NEWLINE", "loc": "10:19-10:20" }, - { - "token": "FN", - "loc": "11:3-11:5" - }, - { - "token": "LPAREN", - "loc": "11:6-11:7" - }, { "token": [ "LIDENT", "yield_" ], - "loc": "11:7-11:13" + "loc": "11:3-11:9" }, { - "token": "RPAREN", - "loc": "11:13-11:14" + "token": "FAT_ARROW", + "loc": "11:10-11:12" }, { "token": "LBRACE", - "loc": "11:15-11:16" + "loc": "11:13-11:14" }, { "token": "NEWLINE", - "loc": "11:16-11:17" + "loc": "11:14-11:15" }, { "token": "FOR", @@ -841,46 +833,60 @@ "token": "COMMA", "loc": "29:10-29:11" }, + { + "token": [ + "LIDENT", + "elem" + ], + "loc": "29:12-29:16" + }, + { + "token": "FAT_ARROW", + "loc": "29:17-29:19" + }, { "token": [ "LIDENT", "result" ], - "loc": "29:12-29:18" + "loc": "29:20-29:26" }, { "token": [ "DOT_LIDENT", "push" ], - "loc": "29:19-29:23" + "loc": "29:27-29:31" }, { "token": "LPAREN", - "loc": "29:23-29:24" + "loc": "29:31-29:32" }, { - "token": "UNDERSCORE", - "loc": "29:24-29:25" + "token": [ + "LIDENT", + "elem" + ], + "loc": "29:32-29:36" }, { "token": "RPAREN", - "loc": "29:25-29:26" + "loc": "29:36-29:37" }, { "token": "RPAREN", - "loc": "29:26-29:27" + "loc": "29:37-29:38" }, { "token": [ "SEMI", false ], - "loc": "29:27-29:27" + "loc": "29:38-29:38" }, { "token": "NEWLINE", - "loc": "29:27-29:28" + "loc": "29:38-29:39" }, { "token": [ @@ -1514,32 +1520,24 @@ "token": "LPAREN", "loc": "44:15-44:16" }, - { - "token": "FN", - "loc": "44:16-44:18" - }, - { - "token": "LPAREN", - "loc": "44:19-44:20" - }, { "token": [ "LIDENT", "x" ], - "loc": "44:20-44:21" + "loc": "44:16-44:17" }, { - "token": "RPAREN", - "loc": "44:21-44:22" + "token": "FAT_ARROW", + "loc": "44:18-44:20" }, { "token": "LBRACE", - "loc": "44:23-44:24" + "loc": "44:21-44:22" }, { "token": "NEWLINE", - "loc": "44:24-44:25" + "loc": "44:22-44:23" }, { "token": "IF", @@ -1879,32 +1877,24 @@ "token": "NEWLINE", "loc": "56:43-56:44" }, - { - "token": "FN", - "loc": "57:3-57:5" - }, - { - "token": "LPAREN", - "loc": "57:6-57:7" - }, { "token": [ "LIDENT", "yield_" ], - "loc": "57:7-57:13" + "loc": "57:3-57:9" }, { - "token": "RPAREN", - "loc": "57:13-57:14" + "token": "FAT_ARROW", + "loc": "57:10-57:12" }, { "token": "LBRACE", - "loc": "57:15-57:16" + "loc": "57:13-57:14" }, { "token": "NEWLINE", - "loc": "57:16-57:17" + "loc": "57:14-57:15" }, { "token": "LET", @@ -1991,32 +1981,24 @@ "token": "LPAREN", "loc": "60:7-60:8" }, - { - "token": "FN", - "loc": "60:8-60:10" - }, - { - "token": "LPAREN", - "loc": "60:11-60:12" - }, { "token": [ "LIDENT", "x" ], - "loc": "60:12-60:13" + "loc": "60:8-60:9" }, { - "token": "RPAREN", - "loc": "60:13-60:14" + "token": "FAT_ARROW", + "loc": "60:10-60:12" }, { "token": "LBRACE", - "loc": "60:15-60:16" + "loc": "60:13-60:14" }, { "token": "NEWLINE", - "loc": "60:16-60:17" + "loc": "60:14-60:15" }, { "token": "IF", @@ -2820,32 +2802,24 @@ "token": "LPAREN", "loc": "94:7-94:8" }, - { - "token": "FN", - "loc": "94:8-94:10" - }, - { - "token": "LPAREN", - "loc": "94:11-94:12" - }, { "token": [ "LIDENT", "x" ], - "loc": "94:12-94:13" + "loc": "94:8-94:9" }, { - "token": "RPAREN", - "loc": "94:13-94:14" + "token": "FAT_ARROW", + "loc": "94:10-94:12" }, { "token": "LBRACE", - "loc": "94:15-94:16" + "loc": "94:13-94:14" }, { "token": "NEWLINE", - "loc": "94:16-94:17" + "loc": "94:14-94:15" }, { "token": "IF", diff --git a/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.json b/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.json index 395f07a3..6d125a1d 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.json @@ -1105,27 +1105,14 @@ ] }, "body": { - "kind": "Expr::If", + "kind": "Expr::Group", "loc": null, "children": { - "cond": { - "kind": "Expr::Infix", + "expr": { + "kind": "Expr::If", "loc": null, "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "==" - } - } - } - }, - "lhs": { + "cond": { "kind": "Expr::Infix", "loc": null, "children": { @@ -1137,16 +1124,16 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "%" + "value": "==" } } } }, "lhs": { - "kind": "Expr::Ident", + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -1154,7 +1141,39 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "x" + "value": "%" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "2" } } } @@ -1169,55 +1188,108 @@ "kind": "Constant::Int", "loc": null, "children": { - "value": "2" + "value": "0" } } } } } }, - "rhs": { - "kind": "Expr::Constant", + "ifso": { + "kind": "Expr::Raise", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "err_value": { + "kind": "Expr::Apply", "loc": null, "children": { - "value": "0" + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "MyErr" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } } } } - } - } - }, - "ifso": { - "kind": "Expr::Raise", - "loc": null, - "children": { - "err_value": { + }, + "ifnot": { "kind": "Expr::Apply", "loc": null, "children": { "func": { - "kind": "Expr::Constr", + "kind": "Expr::Ident", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "id": { + "kind": "Var", "loc": null, "children": { "name": { - "kind": "ConstrName", + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "MyErr" + "value": "println" } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } } @@ -1268,71 +1340,10 @@ } } }, - "ifnot": { - "kind": "Expr::Apply", + "group": { + "kind": "Group::Brace", "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } + "children": {} } } }, @@ -1343,7 +1354,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -2154,7 +2165,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -3168,27 +3179,14 @@ ] }, "body": { - "kind": "Expr::If", + "kind": "Expr::Group", "loc": null, "children": { - "cond": { - "kind": "Expr::Infix", + "expr": { + "kind": "Expr::If", "loc": null, "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "==" - } - } - } - }, - "lhs": { + "cond": { "kind": "Expr::Infix", "loc": null, "children": { @@ -3200,16 +3198,16 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "%" + "value": "==" } } } }, "lhs": { - "kind": "Expr::Ident", + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -3217,7 +3215,39 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "x" + "value": "%" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "2" } } } @@ -3232,106 +3262,98 @@ "kind": "Constant::Int", "loc": null, "children": { - "value": "2" + "value": "0" } } } } } }, - "rhs": { - "kind": "Expr::Constant", + "ifso": { + "kind": "Expr::Raise", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "err_value": { + "kind": "Expr::Apply", "loc": null, "children": { - "value": "0" - } - } - } - } - } - }, - "ifso": { - "kind": "Expr::Raise", - "loc": null, - "children": { - "err_value": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", + "func": { + "kind": "Expr::Constr", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "name": "MyErr" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "MyErr" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "x" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } - } + }, + "ifnot": null } }, - "ifnot": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -3341,7 +3363,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt b/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt index 74a249c6..322852f8 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt @@ -18,7 +18,7 @@ fn init { } fn has_error() -> Unit raise { - each([ 1, 2, 3 ], fn (x) { + each([ 1, 2, 3 ], x => { if x % 2 == 0 { raise MyErr(x) } else { @@ -42,7 +42,7 @@ fn rethrow(f : () -> Int raise?) -> Int raise? { fn init { println("===") - println(try? rethrow(fn () { raise MyErr(42) })) + println(try? rethrow(() => raise MyErr(42))) println(rethrow(fn () { 42 })) } @@ -60,7 +60,7 @@ fn no_error_in_array(arr : Array[Int], f : (Int) -> Unit raise?) -> Int { fn init { println("===") - no_error_in_array([ 1, 2, 3, 4 ], fn (x) { + no_error_in_array([ 1, 2, 3, 4 ], x => { if x % 2 == 0 { raise MyErr(x) } diff --git a/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt.tokens.json index 511332dc..d18e53f0 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_polymorphism.mbt.tokens.json @@ -616,32 +616,24 @@ "token": "COMMA", "loc": "21:19-21:20" }, - { - "token": "FN", - "loc": "21:21-21:23" - }, - { - "token": "LPAREN", - "loc": "21:24-21:25" - }, { "token": [ "LIDENT", "x" ], - "loc": "21:25-21:26" + "loc": "21:21-21:22" }, { - "token": "RPAREN", - "loc": "21:26-21:27" + "token": "FAT_ARROW", + "loc": "21:23-21:25" }, { "token": "LBRACE", - "loc": "21:28-21:29" + "loc": "21:26-21:27" }, { "token": "NEWLINE", - "loc": "21:29-21:30" + "loc": "21:27-21:28" }, { "token": "IF", @@ -1176,70 +1168,62 @@ "token": "LPAREN", "loc": "45:23-45:24" }, - { - "token": "FN", - "loc": "45:24-45:26" - }, { "token": "LPAREN", - "loc": "45:27-45:28" + "loc": "45:24-45:25" }, { "token": "RPAREN", - "loc": "45:28-45:29" + "loc": "45:25-45:26" }, { - "token": "LBRACE", - "loc": "45:30-45:31" + "token": "FAT_ARROW", + "loc": "45:27-45:29" }, { "token": "RAISE", - "loc": "45:32-45:37" + "loc": "45:30-45:35" }, { "token": [ "UIDENT", "MyErr" ], - "loc": "45:38-45:43" + "loc": "45:36-45:41" }, { "token": "LPAREN", - "loc": "45:43-45:44" + "loc": "45:41-45:42" }, { "token": [ "INT", "42" ], - "loc": "45:44-45:46" + "loc": "45:42-45:44" }, { "token": "RPAREN", - "loc": "45:46-45:47" - }, - { - "token": "RBRACE", - "loc": "45:48-45:49" + "loc": "45:44-45:45" }, { "token": "RPAREN", - "loc": "45:49-45:50" + "loc": "45:45-45:46" }, { "token": "RPAREN", - "loc": "45:50-45:51" + "loc": "45:46-45:47" }, { "token": [ "SEMI", false ], - "loc": "45:51-45:51" + "loc": "45:47-45:47" }, { "token": "NEWLINE", - "loc": "45:51-45:52" + "loc": "45:47-45:48" }, { "token": [ @@ -1786,32 +1770,24 @@ "token": "COMMA", "loc": "63:35-63:36" }, - { - "token": "FN", - "loc": "63:37-63:39" - }, - { - "token": "LPAREN", - "loc": "63:40-63:41" - }, { "token": [ "LIDENT", "x" ], - "loc": "63:41-63:42" + "loc": "63:37-63:38" }, { - "token": "RPAREN", - "loc": "63:42-63:43" + "token": "FAT_ARROW", + "loc": "63:39-63:41" }, { "token": "LBRACE", - "loc": "63:44-63:45" + "loc": "63:42-63:43" }, { "token": "NEWLINE", - "loc": "63:45-63:46" + "loc": "63:43-63:44" }, { "token": "IF", diff --git a/test/sync_test/__snapshot__/pipeline_test_error_tail.json b/test/sync_test/__snapshot__/pipeline_test_error_tail.json new file mode 100644 index 00000000..281f59cd --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_error_tail.json @@ -0,0 +1,1606 @@ +[ + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "sum" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "n" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Pub", + "loc": null, + "children": { + "attr": null + } + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::LetFn", + "loc": null, + "children": { + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "taill_call_sum" + } + }, + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "n" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "acc" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "body": { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "ifso": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "acc" + } + } + } + } + } + }, + "ifnot": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "taill_call_sum" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "-" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "+" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "acc" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "taill_call_sum" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "sum2" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "n" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Pub", + "loc": null, + "children": { + "attr": null + } + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::LetFn", + "loc": null, + "children": { + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "taill_call_sum" + } + }, + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "n" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + }, + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "acc" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "body": { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "ifso": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "acc" + } + } + } + } + } + }, + "ifnot": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "taill_call_sum" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "-" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "+" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "acc" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + }, + "body": { + "kind": "Expr::Try", + "loc": null, + "children": { + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "taill_call_sum" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "abort" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "error" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + }, + "catch_all": false, + "try_else": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + "guard": null, + "body": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + } + } + } + ] + }, + "has_try": true + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "main" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "sum" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "10" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "sum2" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "10" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt b/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt index 4f3e5b3a..012b5372 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt @@ -24,7 +24,7 @@ pub fn sum2(n : Int) -> Int { taill_call_sum(n, 0) } catch { _ => abort("error") - } else { + } noraise { x => x } } diff --git a/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt.tokens.json index 397482e0..e658c29c 100644 --- a/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_error_tail.mbt.tokens.json @@ -735,16 +735,16 @@ "loc": "27:3-27:4" }, { - "token": "ELSE", - "loc": "27:5-27:9" + "token": "NORAISE", + "loc": "27:5-27:12" }, { "token": "LBRACE", - "loc": "27:10-27:11" + "loc": "27:13-27:14" }, { "token": "NEWLINE", - "loc": "27:11-27:12" + "loc": "27:14-27:15" }, { "token": [ diff --git a/test/sync_test/__snapshot__/pipeline_test_generator.json b/test/sync_test/__snapshot__/pipeline_test_generator.json index 4f2f3638..1580c912 100644 --- a/test/sync_test/__snapshot__/pipeline_test_generator.json +++ b/test/sync_test/__snapshot__/pipeline_test_generator.json @@ -1004,80 +1004,149 @@ "children": [] }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::Group", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "expr": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::Apply", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "f" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "gen" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "gen" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", + { + "kind": "Expr::Mutate", "loc": null, - "children": {} + "children": { + "record": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "gen" + } + } + } + } + } + }, + "accessor": { + "kind": "Accessor::Label", + "loc": null, + "children": { + "value": { + "kind": "Label", + "loc": null, + "children": { + "name": "value" + } + } + } + }, + "field": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "augmented_by": null + } } - } + ] }, - { + "last_expr": { "kind": "Expr::Mutate", "loc": null, "children": { @@ -1108,30 +1177,25 @@ "kind": "Label", "loc": null, "children": { - "name": "value" + "name": "next" } } } }, "field": { - "kind": "Expr::Constr", + "kind": "Expr::Ident", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "id": { + "kind": "Var", "loc": null, "children": { "name": { - "kind": "ConstrName", + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "None" + "value": "panic" } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } } @@ -1140,65 +1204,12 @@ "augmented_by": null } } - ] + } }, - "last_expr": { - "kind": "Expr::Mutate", + "group": { + "kind": "Group::Brace", "loc": null, - "children": { - "record": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "gen" - } - } - } - } - } - }, - "accessor": { - "kind": "Accessor::Label", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "next" - } - } - } - }, - "field": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "panic" - } - } - } - } - } - }, - "augmented_by": null - } + "children": {} } } }, @@ -1209,7 +1220,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -2589,63 +2600,50 @@ ] }, "body": { - "kind": "Expr::For", + "kind": "Expr::Group", "loc": null, "children": { - "binders": { - "kind": "Expr::For::BindingList", + "expr": { + "kind": "Expr::For", "loc": null, - "children": [ - { - "kind": "For::Binding", + "children": { + "binders": { + "kind": "Expr::For::BindingList", "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "i" - } - }, - "expr": { - "kind": "Expr::Constant", + "children": [ + { + "kind": "For::Binding", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } + }, + "expr": { + "kind": "Expr::Constant", "loc": null, "children": { - "value": "0" + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } } } } } - } - } - ] - }, - "condition": { - "kind": "Expr::Infix", - "loc": null, - "children": { - "op": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "<" - } - } - } + ] }, - "lhs": { - "kind": "Expr::Ident", + "condition": { + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -2653,48 +2651,16 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "i" + "value": "<" } } } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "10" - } - } - } - } - } - }, - "continue_block": { - "kind": "Expr::For::ContBindingList", - "loc": null, - "children": [ - { - "kind": "For::ContBinding", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "i" - } }, - "expr": { - "kind": "Expr::Infix", + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "op": { + "id": { "kind": "Var", "loc": null, "children": { @@ -2702,16 +2668,48 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "+" + "value": "i" } } } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "10" + } + } + } + } + } + }, + "continue_block": { + "kind": "Expr::For::ContBindingList", + "loc": null, + "children": [ + { + "kind": "For::ContBinding", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "i" + } }, - "lhs": { - "kind": "Expr::Ident", + "expr": { + "kind": "Expr::Infix", "loc": null, "children": { - "id": { + "op": { "kind": "Var", "loc": null, "children": { @@ -2719,109 +2717,133 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "i" + "value": "+" } } } - } - } - }, - "rhs": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", + }, + "lhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "1" + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } } } } } } } - } - } - ] - }, - "body": { - "kind": "Expr::DotApply", - "loc": null, - "children": { - "self": { - "kind": "Expr::Ident", + ] + }, + "body": { + "kind": "Expr::DotApply", "loc": null, "children": { - "id": { - "kind": "Var", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "self" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "self" + } + } } } } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "produce_value" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "method_name": { + "kind": "Label", "loc": null, "children": { - "value": { - "kind": "Expr::Ident", + "name": "produce_value" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "i" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "i" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } + "for_else": null, + "where_clause": null, + "label": null } }, - "for_else": null, - "where_clause": null, - "label": null + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } } }, "return_type": null, @@ -2831,7 +2853,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_generator.mbt b/test/sync_test/__snapshot__/pipeline_test_generator.mbt index a9600a61..a551cc57 100644 --- a/test/sync_test/__snapshot__/pipeline_test_generator.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_generator.mbt @@ -11,7 +11,7 @@ struct Generator[Elem] { fn[Elem] Generator::spawn(f : async (Generator[Elem]) -> Unit noraise) -> Generator[Elem] { let gen = { value: None, next: panic } gen.next = fn () { - run_async(fn () { + run_async(() => { f(gen) gen.value = None // [code] will probably capture [coro] itself, forming a cycle, @@ -42,7 +42,7 @@ fn[Elem] Generator::iter(self : Generator[Elem]) -> Iter[Elem] { } fn init { - let gen = Generator::spawn(fn (self) { + let gen = Generator::spawn(self => { for i = 0; i < 10; i = i + 1 { self.produce_value(i) } diff --git a/test/sync_test/__snapshot__/pipeline_test_generator.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_generator.mbt.tokens.json index 06b57e21..0497c453 100644 --- a/test/sync_test/__snapshot__/pipeline_test_generator.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_generator.mbt.tokens.json @@ -639,17 +639,17 @@ "token": "LPAREN", "loc": "14:14-14:15" }, - { - "token": "FN", - "loc": "14:15-14:17" - }, { "token": "LPAREN", - "loc": "14:18-14:19" + "loc": "14:15-14:16" }, { "token": "RPAREN", - "loc": "14:19-14:20" + "loc": "14:16-14:17" + }, + { + "token": "FAT_ARROW", + "loc": "14:18-14:20" }, { "token": "LBRACE", @@ -1614,32 +1614,24 @@ "token": "LPAREN", "loc": "45:29-45:30" }, - { - "token": "FN", - "loc": "45:30-45:32" - }, - { - "token": "LPAREN", - "loc": "45:33-45:34" - }, { "token": [ "LIDENT", "self" ], - "loc": "45:34-45:38" + "loc": "45:30-45:34" }, { - "token": "RPAREN", - "loc": "45:38-45:39" + "token": "FAT_ARROW", + "loc": "45:35-45:37" }, { "token": "LBRACE", - "loc": "45:40-45:41" + "loc": "45:38-45:39" }, { "token": "NEWLINE", - "loc": "45:41-45:42" + "loc": "45:39-45:40" }, { "token": "FOR", diff --git a/test/sync_test/__snapshot__/pipeline_test_generator2.json b/test/sync_test/__snapshot__/pipeline_test_generator2.json index 5573c9c6..ec12ec79 100644 --- a/test/sync_test/__snapshot__/pipeline_test_generator2.json +++ b/test/sync_test/__snapshot__/pipeline_test_generator2.json @@ -1581,80 +1581,149 @@ "children": [] }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::Group", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "expr": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::Apply", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "f" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "gen" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "gen" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", + { + "kind": "Expr::Mutate", "loc": null, - "children": {} + "children": { + "record": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "gen" + } + } + } + } + } + }, + "accessor": { + "kind": "Accessor::Label", + "loc": null, + "children": { + "value": { + "kind": "Label", + "loc": null, + "children": { + "name": "value" + } + } + } + }, + "field": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "None" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "augmented_by": null + } } - } + ] }, - { + "last_expr": { "kind": "Expr::Mutate", "loc": null, "children": { @@ -1685,30 +1754,25 @@ "kind": "Label", "loc": null, "children": { - "name": "value" + "name": "next" } } } }, "field": { - "kind": "Expr::Constr", + "kind": "Expr::Ident", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "id": { + "kind": "Var", "loc": null, "children": { "name": { - "kind": "ConstrName", + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "None" + "value": "panic" } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } } @@ -1717,65 +1781,12 @@ "augmented_by": null } } - ] + } }, - "last_expr": { - "kind": "Expr::Mutate", + "group": { + "kind": "Group::Brace", "loc": null, - "children": { - "record": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "gen" - } - } - } - } - } - }, - "accessor": { - "kind": "Accessor::Label", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "next" - } - } - } - }, - "field": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "panic" - } - } - } - } - } - }, - "augmented_by": null - } + "children": {} } } }, @@ -1786,7 +1797,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -4258,96 +4269,107 @@ ] }, "body": { - "kind": "Expr::Apply", + "kind": "Expr::Group", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "walk" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "id": { - "kind": "Var", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "self" - } - } + "value": "walk" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } }, - { - "kind": "Argument", + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "tree" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "self" + } + } } } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } }, - "kind": { - "kind": "ArgumentKind::Positional", + { + "kind": "Argument", "loc": null, - "children": {} - } - } + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "tree" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", + "group": { + "kind": "Group::Brace", "loc": null, "children": {} } @@ -4360,7 +4382,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, @@ -5160,481 +5182,503 @@ ] }, "body": { - "kind": "Expr::Pipe", + "kind": "Expr::Group", "loc": null, "children": { - "lhs": { - "kind": "Expr::DotApply", + "expr": { + "kind": "Expr::Pipe", "loc": null, "children": { - "self": { - "kind": "Expr::Ident", + "lhs": { + "kind": "Expr::DotApply", "loc": null, "children": { - "id": { - "kind": "Var", + "self": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "iter" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "iter" + } + } } } } - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "run" - } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "method_name": { + "kind": "Label", "loc": null, "children": { - "value": { - "kind": "Expr::Function", + "name": "run" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "func": { - "kind": "Func::Lambda", + "value": { + "kind": "Expr::Function", "loc": null, "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "v" - } - }, - "ty": null - } - } - ] - }, - "body": { - "kind": "Expr::Apply", + "func": { + "kind": "Func::Lambda", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "parameters": { + "kind": "Func::Lambda::ParameterList", "loc": null, - "children": { - "id": { - "kind": "Var", + "children": [ + { + "kind": "Parameter::Positional", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "binder": { + "kind": "Binder", "loc": null, "children": { - "value": "callcc" + "name": "v" } - } + }, + "ty": null } } - } + ] }, - "args": { - "kind": "Expr::Apply::ArgumentList", + "body": { + "kind": "Expr::Group", "loc": null, - "children": [ - { - "kind": "Argument", + "children": { + "expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "value": { - "kind": "Expr::Function", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "func": { - "kind": "Func::Lambda", + "id": { + "kind": "Var", "loc": null, "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", + "name": { + "kind": "LongIdent::Ident", "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "k" - } - }, - "ty": null - } - } - ] - }, - "body": { - "kind": "Expr::Sequence", + "children": { + "value": "callcc" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Function", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "func": { + "kind": "Func::Lambda", "loc": null, - "children": [ - { - "kind": "Expr::Mutate", + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", "loc": null, - "children": { - "record": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "self" - } - } - } - } - } - }, - "accessor": { - "kind": "Accessor::Label", + "children": [ + { + "kind": "Parameter::Positional", "loc": null, "children": { - "value": { - "kind": "Label", + "binder": { + "kind": "Binder", "loc": null, "children": { - "name": "value" + "name": "k" } - } + }, + "ty": null } - }, - "field": { - "kind": "Expr::Apply", + } + ] + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", + "children": [ + { + "kind": "Expr::Mutate", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "record": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "id": { + "kind": "Var", "loc": null, "children": { - "name": "Some" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "self" + } + } } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "accessor": { + "kind": "Accessor::Label", "loc": null, "children": { "value": { - "kind": "Expr::Ident", + "kind": "Label", "loc": null, "children": { - "id": { - "kind": "Var", + "name": "value" + } + } + } + }, + "field": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", "loc": null, "children": { "name": { - "kind": "LongIdent::Ident", + "kind": "ConstrName", "loc": null, "children": { - "value": "v" + "name": "Some" } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} } } } } }, - "kind": { - "kind": "ArgumentKind::Positional", + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "v" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", "loc": null, "children": {} } } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + }, + "augmented_by": null + } } - } + ] }, - "augmented_by": null - } - } - ] - }, - "last_expr": { - "kind": "Expr::Mutate", - "loc": null, - "children": { - "record": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", + "last_expr": { + "kind": "Expr::Mutate", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "record": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "self" + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "self" + } + } + } + } } - } - } - } - } - }, - "accessor": { - "kind": "Accessor::Label", - "loc": null, - "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "next" - } - } - } - }, - "field": { - "kind": "Expr::Function", - "loc": null, - "children": { - "func": { - "kind": "Func::Lambda", - "loc": null, - "children": { - "parameters": { - "kind": "Func::Lambda::ParameterList", + }, + "accessor": { + "kind": "Accessor::Label", "loc": null, - "children": [] + "children": { + "value": { + "kind": "Label", + "loc": null, + "children": { + "name": "next" + } + } + } }, - "body": { - "kind": "Expr::Apply", + "field": { + "kind": "Expr::Function", "loc": null, "children": { "func": { - "kind": "Expr::Ident", + "kind": "Func::Lambda", "loc": null, "children": { - "id": { - "kind": "Var", + "parameters": { + "kind": "Func::Lambda::ParameterList", "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "k" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + "children": [] + }, + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "value": { - "kind": "Expr::Constr", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "id": { + "kind": "Var", "loc": null, "children": { "name": { - "kind": "ConstrName", + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "k" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constr", "loc": null, "children": { - "name": "IterContinue" + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "IterContinue" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } } }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", + "kind": { + "kind": "ArgumentKind::Positional", "loc": null, "children": {} } } } - } + ] }, - "kind": { - "kind": "ArgumentKind::Positional", + "attr": { + "kind": "ApplyAttr::NoAttr", "loc": null, "children": {} } } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } } } }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": null, - "is_async": null + "augmented_by": null } } } }, - "augmented_by": null + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null } } } }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, "kind": { - "kind": "FnKind::Lambda", + "kind": "ArgumentKind::Positional", "loc": null, "children": {} - }, - "has_error": null, - "is_async": null + } } } - } + ] }, - "kind": { - "kind": "ArgumentKind::Positional", + "attr": { + "kind": "ApplyAttr::NoAttr", "loc": null, "children": {} } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } - ] + } }, - "attr": { - "kind": "ApplyAttr::NoAttr", + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", "loc": null, "children": {} - } + }, + "kind": { + "kind": "FnKind::Arrow", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null } - }, - "return_type": null, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "kind": { - "kind": "FnKind::Lambda", - "loc": null, - "children": {} - }, - "has_error": null, - "is_async": null + } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] + } }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "rhs": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", + "rhs": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "ignore" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "ignore" + } + } } } } } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } }, @@ -5645,7 +5689,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_generator2.mbt b/test/sync_test/__snapshot__/pipeline_test_generator2.mbt index d2b795d8..d0bbf824 100644 --- a/test/sync_test/__snapshot__/pipeline_test_generator2.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_generator2.mbt @@ -26,7 +26,7 @@ fn[Elem : Show] print_generator(gen : Generator[Elem]) -> Unit { fn[Elem] Generator::spawn(f : async (Generator[Elem]) -> Unit noraise) -> Generator[Elem] { let gen = { value: None, next: panic } gen.next = fn () { - run_async(fn () { + run_async(() => { f(gen) gen.value = None // [code] will probably capture [coro] itself, forming a cycle, @@ -79,7 +79,7 @@ fn tree_generator(tree : Tree) -> Generator[Int] { } } } - Generator::spawn(fn (self) { + Generator::spawn(self => { walk(self, tree) }) } @@ -91,8 +91,8 @@ async fn[T] AIter::run(self : AIter[T], f : async (T) -> IterResult noraise) -> } fn[Elem] from_iter(iter: AIter[Elem]) -> Generator[Elem] { - Generator::spawn(fn (self) { - iter.run(fn (v) { + Generator::spawn(self => { + iter.run(v => { callcc(fn (k) { self.value = Some(v) self.next = fn () { k(IterContinue) } diff --git a/test/sync_test/__snapshot__/pipeline_test_generator2.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_generator2.mbt.tokens.json index 9b2d97c4..714f70c9 100644 --- a/test/sync_test/__snapshot__/pipeline_test_generator2.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_generator2.mbt.tokens.json @@ -1031,17 +1031,17 @@ "token": "LPAREN", "loc": "29:14-29:15" }, - { - "token": "FN", - "loc": "29:15-29:17" - }, { "token": "LPAREN", - "loc": "29:18-29:19" + "loc": "29:15-29:16" }, { "token": "RPAREN", - "loc": "29:19-29:20" + "loc": "29:16-29:17" + }, + { + "token": "FAT_ARROW", + "loc": "29:18-29:20" }, { "token": "LBRACE", @@ -2598,32 +2598,24 @@ "token": "LPAREN", "loc": "82:19-82:20" }, - { - "token": "FN", - "loc": "82:20-82:22" - }, - { - "token": "LPAREN", - "loc": "82:23-82:24" - }, { "token": [ "LIDENT", "self" ], - "loc": "82:24-82:28" + "loc": "82:20-82:24" }, { - "token": "RPAREN", - "loc": "82:28-82:29" + "token": "FAT_ARROW", + "loc": "82:25-82:27" }, { "token": "LBRACE", - "loc": "82:30-82:31" + "loc": "82:28-82:29" }, { "token": "NEWLINE", - "loc": "82:31-82:32" + "loc": "82:29-82:30" }, { "token": [ @@ -3140,32 +3132,24 @@ "token": "LPAREN", "loc": "94:19-94:20" }, - { - "token": "FN", - "loc": "94:20-94:22" - }, - { - "token": "LPAREN", - "loc": "94:23-94:24" - }, { "token": [ "LIDENT", "self" ], - "loc": "94:24-94:28" + "loc": "94:20-94:24" }, { - "token": "RPAREN", - "loc": "94:28-94:29" + "token": "FAT_ARROW", + "loc": "94:25-94:27" }, { "token": "LBRACE", - "loc": "94:30-94:31" + "loc": "94:28-94:29" }, { "token": "NEWLINE", - "loc": "94:31-94:32" + "loc": "94:29-94:30" }, { "token": [ @@ -3185,32 +3169,24 @@ "token": "LPAREN", "loc": "95:13-95:14" }, - { - "token": "FN", - "loc": "95:14-95:16" - }, - { - "token": "LPAREN", - "loc": "95:17-95:18" - }, { "token": [ "LIDENT", "v" ], - "loc": "95:18-95:19" + "loc": "95:14-95:15" }, { - "token": "RPAREN", - "loc": "95:19-95:20" + "token": "FAT_ARROW", + "loc": "95:16-95:18" }, { "token": "LBRACE", - "loc": "95:21-95:22" + "loc": "95:19-95:20" }, { "token": "NEWLINE", - "loc": "95:22-95:23" + "loc": "95:20-95:21" }, { "token": [ diff --git a/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.json b/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.json index d1e518b1..cab2166f 100644 --- a/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.json +++ b/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.json @@ -588,7 +588,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt b/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt index 08a6e7ef..d2ac30a1 100644 --- a/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt @@ -14,6 +14,6 @@ struct Test { } fn main { - let _ : Test = { f: fn() { T::new() } } + let _ : Test = { f: () => T::new() } } diff --git a/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt.tokens.json index 8af3f230..6ae159b1 100644 --- a/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_handle_error_upcast.mbt.tokens.json @@ -375,59 +375,51 @@ "token": "COLON", "loc": "17:21-17:22" }, - { - "token": "FN", - "loc": "17:23-17:25" - }, { "token": "LPAREN", - "loc": "17:25-17:26" + "loc": "17:23-17:24" }, { "token": "RPAREN", - "loc": "17:26-17:27" + "loc": "17:24-17:25" }, { - "token": "LBRACE", - "loc": "17:28-17:29" + "token": "FAT_ARROW", + "loc": "17:26-17:28" }, { "token": [ "UIDENT", "T" ], - "loc": "17:30-17:31" + "loc": "17:29-17:30" }, { "token": "COLONCOLON", - "loc": "17:31-17:33" + "loc": "17:30-17:32" }, { "token": [ "LIDENT", "new" ], - "loc": "17:33-17:36" + "loc": "17:32-17:35" }, { "token": "LPAREN", - "loc": "17:36-17:37" + "loc": "17:35-17:36" }, { "token": "RPAREN", - "loc": "17:37-17:38" - }, - { - "token": "RBRACE", - "loc": "17:39-17:40" + "loc": "17:36-17:37" }, { "token": "RBRACE", - "loc": "17:41-17:42" + "loc": "17:38-17:39" }, { "token": "NEWLINE", - "loc": "17:42-17:43" + "loc": "17:39-17:40" }, { "token": "NEWLINE", diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.json b/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.json new file mode 100644 index 00000000..146f0319 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.json @@ -0,0 +1,14112 @@ +[ + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_exact" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "hello" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "hello" + } + } + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "^hello$" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_exact_bytes" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Bytes", + "loc": null, + "children": { + "value": "hello" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "hello" + } + } + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "^hello$" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_empty" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "hello" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_false" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_empty_bytes" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Bytes", + "loc": null, + "children": { + "value": "hello" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_false" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_prefix" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "hello world" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "hello" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "^hello" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_prefix_bytes" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Bytes", + "loc": null, + "children": { + "value": "hello world" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "hello" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "hello" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "5" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_suffix" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "hello 中国𠮷" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "中国𠮷" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "中国𠮷$" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "10" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_suffix_bytes" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Bytes", + "loc": null, + "children": { + "value": "hello world" + } + } + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "world" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "world$" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "6" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "11" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_search" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "hello" + } + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "el" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "3" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "2" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "test_search_bytes" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "str" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Bytes", + "loc": null, + "children": { + "value": "hello" + } + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_true" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::IsLexmatch", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "strategy": null, + "pat": { + "kind": "Expr::IsLexmatch::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "el" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + } + ] + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "physical_equal" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "data" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "str" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "&&" + } + } + } + }, + "lhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "start_offset" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "3" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "==" + } + } + } + }, + "lhs": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "y" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "length" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "2" + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "main" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_exact" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_exact" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_exact_bytes" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_exact_bytes" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_empty" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_empty" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_empty_bytes" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_empty_bytes" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_prefix" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_prefix" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_prefix_bytes" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_prefix_bytes" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_suffix" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_suffix" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_suffix_bytes" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_suffix_bytes" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_search" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_search" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "test_search_bytes" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::TryOperator", + "loc": null, + "children": { + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "test_search_bytes" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "TryOperatorKind::Question", + "loc": null, + "children": {} + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.mbt b/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.mbt new file mode 100644 index 00000000..792269a3 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.mbt @@ -0,0 +1,213 @@ +///| +fn test_exact() -> Unit raise { + let str = "hello" + assert_true(str lexmatch? "hello") + assert_true( + str lexmatch? (x, "^hello$", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 0 && + physical_equal(y.data(), str) && + y.start_offset() == 5 && + y.length() == 0, + ) +} + +///| +fn test_exact_bytes() -> Unit raise { + let str = b"hello" + assert_true(str lexmatch? "hello") + assert_true( + str lexmatch? (x, "^hello$", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 0 && + physical_equal(y.data(), str) && + y.start_offset() == 5 && + y.length() == 0, + ) +} + +///| +fn test_empty() -> Unit raise { + let str = "hello" + assert_false(str lexmatch? "") + assert_true( + str lexmatch? (x, "") && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 5, + ) + assert_true( + str lexmatch? ("", y) && + physical_equal(y.data(), str) && + y.start_offset() == 0 && + y.length() == 5, + ) + assert_true( + str lexmatch? (x, "", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 0 && + y.start_offset() == 0 && + y.length() == 5, + ) +} + +///| +fn test_empty_bytes() -> Unit raise { + let str = b"hello" + assert_false(str lexmatch? "") + assert_true( + str lexmatch? (x, "") && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 5, + ) + assert_true( + str lexmatch? ("", y) && + physical_equal(y.data(), str) && + y.start_offset() == 0 && + y.length() == 5, + ) + assert_true( + str lexmatch? (x, "", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 0 && + y.start_offset() == 0 && + y.length() == 5, + ) +} + +///| +fn test_prefix() -> Unit raise { + let str = "hello world" + assert_true( + str lexmatch? ("hello", y) && + physical_equal(y.data(), str) && + y.start_offset() == 5 && + y.length() == 6, + ) + assert_true( + str lexmatch? (x, "^hello", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 0 && + physical_equal(y.data(), str) && + y.start_offset() == 5 && + y.length() == 6, + ) +} + +///| +fn test_prefix_bytes() -> Unit raise { + let str = b"hello world" + assert_true( + str lexmatch? ("hello", y) && + physical_equal(y.data(), str) && + y.start_offset() == 5 && + y.length() == 6, + ) + assert_true( + str lexmatch? (x, "hello", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 0 && + physical_equal(y.data(), str) && + y.start_offset() == 5 && + y.length() == 6, + ) +} + +///| +fn test_suffix() -> Unit raise { + let str = "hello 中国𠮷" + assert_true( + str lexmatch? (x, "中国𠮷") && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 6, + ) + assert_true( + str lexmatch? (x, "中国𠮷$", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 6 && + physical_equal(y.data(), str) && + y.start_offset() == 10 && + y.length() == 0, + ) +} + +///| +fn test_suffix_bytes() -> Unit raise { + let str = b"hello world" + assert_true( + str lexmatch? (x, "world") && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 6, + ) + assert_true( + str lexmatch? (x, "world$", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 6 && + physical_equal(y.data(), str) && + y.start_offset() == 11 && + y.length() == 0, + ) +} + +///| +fn test_search() -> Unit raise { + let str = "hello" + assert_true( + str lexmatch? (x, "el", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 1 && + physical_equal(y.data(), str) && + y.start_offset() == 3 && + y.length() == 2, + ) +} + +///| +fn test_search_bytes() -> Unit raise { + let str = b"hello" + assert_true( + str lexmatch? (x, "el", y) && + physical_equal(x.data(), str) && + x.start_offset() == 0 && + x.length() == 1 && + physical_equal(y.data(), str) && + y.start_offset() == 3 && + y.length() == 2, + ) +} + +///| +fn main { + println("test_exact") + println(try? test_exact()) + println("test_exact_bytes") + println(try? test_exact_bytes()) + println("test_empty") + println(try? test_empty()) + println("test_empty_bytes") + println(try? test_empty_bytes()) + println("test_prefix") + println(try? test_prefix()) + println("test_prefix_bytes") + println(try? test_prefix_bytes()) + println("test_suffix") + println(try? test_suffix()) + println("test_suffix_bytes") + println(try? test_suffix_bytes()) + println("test_search") + println(try? test_search()) + println("test_search_bytes") + println(try? test_search_bytes()) +} diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.mbt.tokens.json new file mode 100644 index 00000000..26ebcef7 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_fastpath.mbt.tokens.json @@ -0,0 +1,7470 @@ +[ + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": false, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "1:1-1:5" + }, + { + "token": "NEWLINE", + "loc": "1:5-1:6" + }, + { + "token": "FN", + "loc": "2:1-2:3" + }, + { + "token": [ + "LIDENT", + "test_exact" + ], + "loc": "2:4-2:14" + }, + { + "token": "LPAREN", + "loc": "2:14-2:15" + }, + { + "token": "RPAREN", + "loc": "2:15-2:16" + }, + { + "token": "THIN_ARROW", + "loc": "2:17-2:19" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "2:20-2:24" + }, + { + "token": "RAISE", + "loc": "2:25-2:30" + }, + { + "token": "LBRACE", + "loc": "2:31-2:32" + }, + { + "token": "NEWLINE", + "loc": "2:32-2:33" + }, + { + "token": "LET", + "loc": "3:3-3:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "3:7-3:10" + }, + { + "token": "EQUAL", + "loc": "3:11-3:12" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "3:13-3:20" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "3:20-3:20" + }, + { + "token": "NEWLINE", + "loc": "3:20-3:21" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "4:3-4:14" + }, + { + "token": "LPAREN", + "loc": "4:14-4:15" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "4:15-4:18" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "4:19-4:28" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "4:29-4:36" + }, + { + "token": "RPAREN", + "loc": "4:36-4:37" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "4:37-4:37" + }, + { + "token": "NEWLINE", + "loc": "4:37-4:38" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "5:3-5:14" + }, + { + "token": "LPAREN", + "loc": "5:14-5:15" + }, + { + "token": "NEWLINE", + "loc": "5:15-5:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "6:5-6:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "6:9-6:18" + }, + { + "token": "LPAREN", + "loc": "6:19-6:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "6:20-6:21" + }, + { + "token": "COMMA", + "loc": "6:21-6:22" + }, + { + "token": [ + "STRING", + "^hello$" + ], + "loc": "6:23-6:32" + }, + { + "token": "COMMA", + "loc": "6:32-6:33" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "6:34-6:35" + }, + { + "token": "RPAREN", + "loc": "6:35-6:36" + }, + { + "token": "AMPERAMPER", + "loc": "6:37-6:39" + }, + { + "token": "NEWLINE", + "loc": "6:39-6:40" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "7:5-7:19" + }, + { + "token": "LPAREN", + "loc": "7:19-7:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "7:20-7:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "7:22-7:26" + }, + { + "token": "LPAREN", + "loc": "7:26-7:27" + }, + { + "token": "RPAREN", + "loc": "7:27-7:28" + }, + { + "token": "COMMA", + "loc": "7:28-7:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "7:30-7:33" + }, + { + "token": "RPAREN", + "loc": "7:33-7:34" + }, + { + "token": "AMPERAMPER", + "loc": "7:35-7:37" + }, + { + "token": "NEWLINE", + "loc": "7:37-7:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "8:5-8:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "8:7-8:19" + }, + { + "token": "LPAREN", + "loc": "8:19-8:20" + }, + { + "token": "RPAREN", + "loc": "8:20-8:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "8:22-8:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "8:25-8:26" + }, + { + "token": "AMPERAMPER", + "loc": "8:27-8:29" + }, + { + "token": "NEWLINE", + "loc": "8:29-8:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "9:5-9:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "9:7-9:13" + }, + { + "token": "LPAREN", + "loc": "9:13-9:14" + }, + { + "token": "RPAREN", + "loc": "9:14-9:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "9:16-9:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "9:19-9:20" + }, + { + "token": "AMPERAMPER", + "loc": "9:21-9:23" + }, + { + "token": "NEWLINE", + "loc": "9:23-9:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "10:5-10:19" + }, + { + "token": "LPAREN", + "loc": "10:19-10:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "10:20-10:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "10:22-10:26" + }, + { + "token": "LPAREN", + "loc": "10:26-10:27" + }, + { + "token": "RPAREN", + "loc": "10:27-10:28" + }, + { + "token": "COMMA", + "loc": "10:28-10:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "10:30-10:33" + }, + { + "token": "RPAREN", + "loc": "10:33-10:34" + }, + { + "token": "AMPERAMPER", + "loc": "10:35-10:37" + }, + { + "token": "NEWLINE", + "loc": "10:37-10:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "11:5-11:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "11:7-11:19" + }, + { + "token": "LPAREN", + "loc": "11:19-11:20" + }, + { + "token": "RPAREN", + "loc": "11:20-11:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "11:22-11:24" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "11:25-11:26" + }, + { + "token": "AMPERAMPER", + "loc": "11:27-11:29" + }, + { + "token": "NEWLINE", + "loc": "11:29-11:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "12:5-12:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "12:7-12:13" + }, + { + "token": "LPAREN", + "loc": "12:13-12:14" + }, + { + "token": "RPAREN", + "loc": "12:14-12:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "12:16-12:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "12:19-12:20" + }, + { + "token": "COMMA", + "loc": "12:20-12:21" + }, + { + "token": "NEWLINE", + "loc": "12:21-12:22" + }, + { + "token": "RPAREN", + "loc": "13:3-13:4" + }, + { + "token": "NEWLINE", + "loc": "13:4-13:5" + }, + { + "token": "RBRACE", + "loc": "14:1-14:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "14:2-14:2" + }, + { + "token": "NEWLINE", + "loc": "14:2-14:3" + }, + { + "token": "NEWLINE", + "loc": "15:1-15:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "16:1-16:5" + }, + { + "token": "NEWLINE", + "loc": "16:5-16:6" + }, + { + "token": "FN", + "loc": "17:1-17:3" + }, + { + "token": [ + "LIDENT", + "test_exact_bytes" + ], + "loc": "17:4-17:20" + }, + { + "token": "LPAREN", + "loc": "17:20-17:21" + }, + { + "token": "RPAREN", + "loc": "17:21-17:22" + }, + { + "token": "THIN_ARROW", + "loc": "17:23-17:25" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "17:26-17:30" + }, + { + "token": "RAISE", + "loc": "17:31-17:36" + }, + { + "token": "LBRACE", + "loc": "17:37-17:38" + }, + { + "token": "NEWLINE", + "loc": "17:38-17:39" + }, + { + "token": "LET", + "loc": "18:3-18:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "18:7-18:10" + }, + { + "token": "EQUAL", + "loc": "18:11-18:12" + }, + { + "token": [ + "BYTES", + "hello" + ], + "loc": "18:13-18:21" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "18:21-18:21" + }, + { + "token": "NEWLINE", + "loc": "18:21-18:22" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "19:3-19:14" + }, + { + "token": "LPAREN", + "loc": "19:14-19:15" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "19:15-19:18" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "19:19-19:28" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "19:29-19:36" + }, + { + "token": "RPAREN", + "loc": "19:36-19:37" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "19:37-19:37" + }, + { + "token": "NEWLINE", + "loc": "19:37-19:38" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "20:3-20:14" + }, + { + "token": "LPAREN", + "loc": "20:14-20:15" + }, + { + "token": "NEWLINE", + "loc": "20:15-20:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "21:5-21:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "21:9-21:18" + }, + { + "token": "LPAREN", + "loc": "21:19-21:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "21:20-21:21" + }, + { + "token": "COMMA", + "loc": "21:21-21:22" + }, + { + "token": [ + "STRING", + "^hello$" + ], + "loc": "21:23-21:32" + }, + { + "token": "COMMA", + "loc": "21:32-21:33" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "21:34-21:35" + }, + { + "token": "RPAREN", + "loc": "21:35-21:36" + }, + { + "token": "AMPERAMPER", + "loc": "21:37-21:39" + }, + { + "token": "NEWLINE", + "loc": "21:39-21:40" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "22:5-22:19" + }, + { + "token": "LPAREN", + "loc": "22:19-22:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "22:20-22:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "22:22-22:26" + }, + { + "token": "LPAREN", + "loc": "22:26-22:27" + }, + { + "token": "RPAREN", + "loc": "22:27-22:28" + }, + { + "token": "COMMA", + "loc": "22:28-22:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "22:30-22:33" + }, + { + "token": "RPAREN", + "loc": "22:33-22:34" + }, + { + "token": "AMPERAMPER", + "loc": "22:35-22:37" + }, + { + "token": "NEWLINE", + "loc": "22:37-22:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "23:5-23:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "23:7-23:19" + }, + { + "token": "LPAREN", + "loc": "23:19-23:20" + }, + { + "token": "RPAREN", + "loc": "23:20-23:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "23:22-23:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "23:25-23:26" + }, + { + "token": "AMPERAMPER", + "loc": "23:27-23:29" + }, + { + "token": "NEWLINE", + "loc": "23:29-23:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "24:5-24:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "24:7-24:13" + }, + { + "token": "LPAREN", + "loc": "24:13-24:14" + }, + { + "token": "RPAREN", + "loc": "24:14-24:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "24:16-24:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "24:19-24:20" + }, + { + "token": "AMPERAMPER", + "loc": "24:21-24:23" + }, + { + "token": "NEWLINE", + "loc": "24:23-24:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "25:5-25:19" + }, + { + "token": "LPAREN", + "loc": "25:19-25:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "25:20-25:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "25:22-25:26" + }, + { + "token": "LPAREN", + "loc": "25:26-25:27" + }, + { + "token": "RPAREN", + "loc": "25:27-25:28" + }, + { + "token": "COMMA", + "loc": "25:28-25:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "25:30-25:33" + }, + { + "token": "RPAREN", + "loc": "25:33-25:34" + }, + { + "token": "AMPERAMPER", + "loc": "25:35-25:37" + }, + { + "token": "NEWLINE", + "loc": "25:37-25:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "26:5-26:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "26:7-26:19" + }, + { + "token": "LPAREN", + "loc": "26:19-26:20" + }, + { + "token": "RPAREN", + "loc": "26:20-26:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "26:22-26:24" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "26:25-26:26" + }, + { + "token": "AMPERAMPER", + "loc": "26:27-26:29" + }, + { + "token": "NEWLINE", + "loc": "26:29-26:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "27:5-27:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "27:7-27:13" + }, + { + "token": "LPAREN", + "loc": "27:13-27:14" + }, + { + "token": "RPAREN", + "loc": "27:14-27:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "27:16-27:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "27:19-27:20" + }, + { + "token": "COMMA", + "loc": "27:20-27:21" + }, + { + "token": "NEWLINE", + "loc": "27:21-27:22" + }, + { + "token": "RPAREN", + "loc": "28:3-28:4" + }, + { + "token": "NEWLINE", + "loc": "28:4-28:5" + }, + { + "token": "RBRACE", + "loc": "29:1-29:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "29:2-29:2" + }, + { + "token": "NEWLINE", + "loc": "29:2-29:3" + }, + { + "token": "NEWLINE", + "loc": "30:1-30:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "31:1-31:5" + }, + { + "token": "NEWLINE", + "loc": "31:5-31:6" + }, + { + "token": "FN", + "loc": "32:1-32:3" + }, + { + "token": [ + "LIDENT", + "test_empty" + ], + "loc": "32:4-32:14" + }, + { + "token": "LPAREN", + "loc": "32:14-32:15" + }, + { + "token": "RPAREN", + "loc": "32:15-32:16" + }, + { + "token": "THIN_ARROW", + "loc": "32:17-32:19" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "32:20-32:24" + }, + { + "token": "RAISE", + "loc": "32:25-32:30" + }, + { + "token": "LBRACE", + "loc": "32:31-32:32" + }, + { + "token": "NEWLINE", + "loc": "32:32-32:33" + }, + { + "token": "LET", + "loc": "33:3-33:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "33:7-33:10" + }, + { + "token": "EQUAL", + "loc": "33:11-33:12" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "33:13-33:20" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "33:20-33:20" + }, + { + "token": "NEWLINE", + "loc": "33:20-33:21" + }, + { + "token": [ + "LIDENT", + "assert_false" + ], + "loc": "34:3-34:15" + }, + { + "token": "LPAREN", + "loc": "34:15-34:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "34:16-34:19" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "34:20-34:29" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "34:30-34:32" + }, + { + "token": "RPAREN", + "loc": "34:32-34:33" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "34:33-34:33" + }, + { + "token": "NEWLINE", + "loc": "34:33-34:34" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "35:3-35:14" + }, + { + "token": "LPAREN", + "loc": "35:14-35:15" + }, + { + "token": "NEWLINE", + "loc": "35:15-35:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "36:5-36:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "36:9-36:18" + }, + { + "token": "LPAREN", + "loc": "36:19-36:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "36:20-36:21" + }, + { + "token": "COMMA", + "loc": "36:21-36:22" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "36:23-36:25" + }, + { + "token": "RPAREN", + "loc": "36:25-36:26" + }, + { + "token": "AMPERAMPER", + "loc": "36:27-36:29" + }, + { + "token": "NEWLINE", + "loc": "36:29-36:30" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "37:5-37:19" + }, + { + "token": "LPAREN", + "loc": "37:19-37:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "37:20-37:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "37:22-37:26" + }, + { + "token": "LPAREN", + "loc": "37:26-37:27" + }, + { + "token": "RPAREN", + "loc": "37:27-37:28" + }, + { + "token": "COMMA", + "loc": "37:28-37:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "37:30-37:33" + }, + { + "token": "RPAREN", + "loc": "37:33-37:34" + }, + { + "token": "AMPERAMPER", + "loc": "37:35-37:37" + }, + { + "token": "NEWLINE", + "loc": "37:37-37:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "38:5-38:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "38:7-38:19" + }, + { + "token": "LPAREN", + "loc": "38:19-38:20" + }, + { + "token": "RPAREN", + "loc": "38:20-38:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "38:22-38:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "38:25-38:26" + }, + { + "token": "AMPERAMPER", + "loc": "38:27-38:29" + }, + { + "token": "NEWLINE", + "loc": "38:29-38:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "39:5-39:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "39:7-39:13" + }, + { + "token": "LPAREN", + "loc": "39:13-39:14" + }, + { + "token": "RPAREN", + "loc": "39:14-39:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "39:16-39:18" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "39:19-39:20" + }, + { + "token": "COMMA", + "loc": "39:20-39:21" + }, + { + "token": "NEWLINE", + "loc": "39:21-39:22" + }, + { + "token": "RPAREN", + "loc": "40:3-40:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "40:4-40:4" + }, + { + "token": "NEWLINE", + "loc": "40:4-40:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "41:3-41:14" + }, + { + "token": "LPAREN", + "loc": "41:14-41:15" + }, + { + "token": "NEWLINE", + "loc": "41:15-41:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "42:5-42:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "42:9-42:18" + }, + { + "token": "LPAREN", + "loc": "42:19-42:20" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "42:20-42:22" + }, + { + "token": "COMMA", + "loc": "42:22-42:23" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "42:24-42:25" + }, + { + "token": "RPAREN", + "loc": "42:25-42:26" + }, + { + "token": "AMPERAMPER", + "loc": "42:27-42:29" + }, + { + "token": "NEWLINE", + "loc": "42:29-42:30" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "43:5-43:19" + }, + { + "token": "LPAREN", + "loc": "43:19-43:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "43:20-43:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "43:22-43:26" + }, + { + "token": "LPAREN", + "loc": "43:26-43:27" + }, + { + "token": "RPAREN", + "loc": "43:27-43:28" + }, + { + "token": "COMMA", + "loc": "43:28-43:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "43:30-43:33" + }, + { + "token": "RPAREN", + "loc": "43:33-43:34" + }, + { + "token": "AMPERAMPER", + "loc": "43:35-43:37" + }, + { + "token": "NEWLINE", + "loc": "43:37-43:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "44:5-44:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "44:7-44:19" + }, + { + "token": "LPAREN", + "loc": "44:19-44:20" + }, + { + "token": "RPAREN", + "loc": "44:20-44:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "44:22-44:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "44:25-44:26" + }, + { + "token": "AMPERAMPER", + "loc": "44:27-44:29" + }, + { + "token": "NEWLINE", + "loc": "44:29-44:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "45:5-45:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "45:7-45:13" + }, + { + "token": "LPAREN", + "loc": "45:13-45:14" + }, + { + "token": "RPAREN", + "loc": "45:14-45:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "45:16-45:18" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "45:19-45:20" + }, + { + "token": "COMMA", + "loc": "45:20-45:21" + }, + { + "token": "NEWLINE", + "loc": "45:21-45:22" + }, + { + "token": "RPAREN", + "loc": "46:3-46:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "46:4-46:4" + }, + { + "token": "NEWLINE", + "loc": "46:4-46:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "47:3-47:14" + }, + { + "token": "LPAREN", + "loc": "47:14-47:15" + }, + { + "token": "NEWLINE", + "loc": "47:15-47:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "48:5-48:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "48:9-48:18" + }, + { + "token": "LPAREN", + "loc": "48:19-48:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "48:20-48:21" + }, + { + "token": "COMMA", + "loc": "48:21-48:22" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "48:23-48:25" + }, + { + "token": "COMMA", + "loc": "48:25-48:26" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "48:27-48:28" + }, + { + "token": "RPAREN", + "loc": "48:28-48:29" + }, + { + "token": "AMPERAMPER", + "loc": "48:30-48:32" + }, + { + "token": "NEWLINE", + "loc": "48:32-48:33" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "49:5-49:19" + }, + { + "token": "LPAREN", + "loc": "49:19-49:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "49:20-49:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "49:22-49:26" + }, + { + "token": "LPAREN", + "loc": "49:26-49:27" + }, + { + "token": "RPAREN", + "loc": "49:27-49:28" + }, + { + "token": "COMMA", + "loc": "49:28-49:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "49:30-49:33" + }, + { + "token": "RPAREN", + "loc": "49:33-49:34" + }, + { + "token": "AMPERAMPER", + "loc": "49:35-49:37" + }, + { + "token": "NEWLINE", + "loc": "49:37-49:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "50:5-50:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "50:7-50:19" + }, + { + "token": "LPAREN", + "loc": "50:19-50:20" + }, + { + "token": "RPAREN", + "loc": "50:20-50:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "50:22-50:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "50:25-50:26" + }, + { + "token": "AMPERAMPER", + "loc": "50:27-50:29" + }, + { + "token": "NEWLINE", + "loc": "50:29-50:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "51:5-51:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "51:7-51:13" + }, + { + "token": "LPAREN", + "loc": "51:13-51:14" + }, + { + "token": "RPAREN", + "loc": "51:14-51:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "51:16-51:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "51:19-51:20" + }, + { + "token": "AMPERAMPER", + "loc": "51:21-51:23" + }, + { + "token": "NEWLINE", + "loc": "51:23-51:24" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "52:5-52:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "52:7-52:19" + }, + { + "token": "LPAREN", + "loc": "52:19-52:20" + }, + { + "token": "RPAREN", + "loc": "52:20-52:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "52:22-52:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "52:25-52:26" + }, + { + "token": "AMPERAMPER", + "loc": "52:27-52:29" + }, + { + "token": "NEWLINE", + "loc": "52:29-52:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "53:5-53:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "53:7-53:13" + }, + { + "token": "LPAREN", + "loc": "53:13-53:14" + }, + { + "token": "RPAREN", + "loc": "53:14-53:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "53:16-53:18" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "53:19-53:20" + }, + { + "token": "COMMA", + "loc": "53:20-53:21" + }, + { + "token": "NEWLINE", + "loc": "53:21-53:22" + }, + { + "token": "RPAREN", + "loc": "54:3-54:4" + }, + { + "token": "NEWLINE", + "loc": "54:4-54:5" + }, + { + "token": "RBRACE", + "loc": "55:1-55:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "55:2-55:2" + }, + { + "token": "NEWLINE", + "loc": "55:2-55:3" + }, + { + "token": "NEWLINE", + "loc": "56:1-56:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "57:1-57:5" + }, + { + "token": "NEWLINE", + "loc": "57:5-57:6" + }, + { + "token": "FN", + "loc": "58:1-58:3" + }, + { + "token": [ + "LIDENT", + "test_empty_bytes" + ], + "loc": "58:4-58:20" + }, + { + "token": "LPAREN", + "loc": "58:20-58:21" + }, + { + "token": "RPAREN", + "loc": "58:21-58:22" + }, + { + "token": "THIN_ARROW", + "loc": "58:23-58:25" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "58:26-58:30" + }, + { + "token": "RAISE", + "loc": "58:31-58:36" + }, + { + "token": "LBRACE", + "loc": "58:37-58:38" + }, + { + "token": "NEWLINE", + "loc": "58:38-58:39" + }, + { + "token": "LET", + "loc": "59:3-59:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "59:7-59:10" + }, + { + "token": "EQUAL", + "loc": "59:11-59:12" + }, + { + "token": [ + "BYTES", + "hello" + ], + "loc": "59:13-59:21" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "59:21-59:21" + }, + { + "token": "NEWLINE", + "loc": "59:21-59:22" + }, + { + "token": [ + "LIDENT", + "assert_false" + ], + "loc": "60:3-60:15" + }, + { + "token": "LPAREN", + "loc": "60:15-60:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "60:16-60:19" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "60:20-60:29" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "60:30-60:32" + }, + { + "token": "RPAREN", + "loc": "60:32-60:33" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "60:33-60:33" + }, + { + "token": "NEWLINE", + "loc": "60:33-60:34" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "61:3-61:14" + }, + { + "token": "LPAREN", + "loc": "61:14-61:15" + }, + { + "token": "NEWLINE", + "loc": "61:15-61:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "62:5-62:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "62:9-62:18" + }, + { + "token": "LPAREN", + "loc": "62:19-62:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "62:20-62:21" + }, + { + "token": "COMMA", + "loc": "62:21-62:22" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "62:23-62:25" + }, + { + "token": "RPAREN", + "loc": "62:25-62:26" + }, + { + "token": "AMPERAMPER", + "loc": "62:27-62:29" + }, + { + "token": "NEWLINE", + "loc": "62:29-62:30" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "63:5-63:19" + }, + { + "token": "LPAREN", + "loc": "63:19-63:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "63:20-63:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "63:22-63:26" + }, + { + "token": "LPAREN", + "loc": "63:26-63:27" + }, + { + "token": "RPAREN", + "loc": "63:27-63:28" + }, + { + "token": "COMMA", + "loc": "63:28-63:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "63:30-63:33" + }, + { + "token": "RPAREN", + "loc": "63:33-63:34" + }, + { + "token": "AMPERAMPER", + "loc": "63:35-63:37" + }, + { + "token": "NEWLINE", + "loc": "63:37-63:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "64:5-64:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "64:7-64:19" + }, + { + "token": "LPAREN", + "loc": "64:19-64:20" + }, + { + "token": "RPAREN", + "loc": "64:20-64:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "64:22-64:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "64:25-64:26" + }, + { + "token": "AMPERAMPER", + "loc": "64:27-64:29" + }, + { + "token": "NEWLINE", + "loc": "64:29-64:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "65:5-65:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "65:7-65:13" + }, + { + "token": "LPAREN", + "loc": "65:13-65:14" + }, + { + "token": "RPAREN", + "loc": "65:14-65:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "65:16-65:18" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "65:19-65:20" + }, + { + "token": "COMMA", + "loc": "65:20-65:21" + }, + { + "token": "NEWLINE", + "loc": "65:21-65:22" + }, + { + "token": "RPAREN", + "loc": "66:3-66:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "66:4-66:4" + }, + { + "token": "NEWLINE", + "loc": "66:4-66:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "67:3-67:14" + }, + { + "token": "LPAREN", + "loc": "67:14-67:15" + }, + { + "token": "NEWLINE", + "loc": "67:15-67:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "68:5-68:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "68:9-68:18" + }, + { + "token": "LPAREN", + "loc": "68:19-68:20" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "68:20-68:22" + }, + { + "token": "COMMA", + "loc": "68:22-68:23" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "68:24-68:25" + }, + { + "token": "RPAREN", + "loc": "68:25-68:26" + }, + { + "token": "AMPERAMPER", + "loc": "68:27-68:29" + }, + { + "token": "NEWLINE", + "loc": "68:29-68:30" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "69:5-69:19" + }, + { + "token": "LPAREN", + "loc": "69:19-69:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "69:20-69:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "69:22-69:26" + }, + { + "token": "LPAREN", + "loc": "69:26-69:27" + }, + { + "token": "RPAREN", + "loc": "69:27-69:28" + }, + { + "token": "COMMA", + "loc": "69:28-69:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "69:30-69:33" + }, + { + "token": "RPAREN", + "loc": "69:33-69:34" + }, + { + "token": "AMPERAMPER", + "loc": "69:35-69:37" + }, + { + "token": "NEWLINE", + "loc": "69:37-69:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "70:5-70:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "70:7-70:19" + }, + { + "token": "LPAREN", + "loc": "70:19-70:20" + }, + { + "token": "RPAREN", + "loc": "70:20-70:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "70:22-70:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "70:25-70:26" + }, + { + "token": "AMPERAMPER", + "loc": "70:27-70:29" + }, + { + "token": "NEWLINE", + "loc": "70:29-70:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "71:5-71:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "71:7-71:13" + }, + { + "token": "LPAREN", + "loc": "71:13-71:14" + }, + { + "token": "RPAREN", + "loc": "71:14-71:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "71:16-71:18" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "71:19-71:20" + }, + { + "token": "COMMA", + "loc": "71:20-71:21" + }, + { + "token": "NEWLINE", + "loc": "71:21-71:22" + }, + { + "token": "RPAREN", + "loc": "72:3-72:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "72:4-72:4" + }, + { + "token": "NEWLINE", + "loc": "72:4-72:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "73:3-73:14" + }, + { + "token": "LPAREN", + "loc": "73:14-73:15" + }, + { + "token": "NEWLINE", + "loc": "73:15-73:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "74:5-74:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "74:9-74:18" + }, + { + "token": "LPAREN", + "loc": "74:19-74:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "74:20-74:21" + }, + { + "token": "COMMA", + "loc": "74:21-74:22" + }, + { + "token": [ + "STRING", + "" + ], + "loc": "74:23-74:25" + }, + { + "token": "COMMA", + "loc": "74:25-74:26" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "74:27-74:28" + }, + { + "token": "RPAREN", + "loc": "74:28-74:29" + }, + { + "token": "AMPERAMPER", + "loc": "74:30-74:32" + }, + { + "token": "NEWLINE", + "loc": "74:32-74:33" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "75:5-75:19" + }, + { + "token": "LPAREN", + "loc": "75:19-75:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "75:20-75:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "75:22-75:26" + }, + { + "token": "LPAREN", + "loc": "75:26-75:27" + }, + { + "token": "RPAREN", + "loc": "75:27-75:28" + }, + { + "token": "COMMA", + "loc": "75:28-75:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "75:30-75:33" + }, + { + "token": "RPAREN", + "loc": "75:33-75:34" + }, + { + "token": "AMPERAMPER", + "loc": "75:35-75:37" + }, + { + "token": "NEWLINE", + "loc": "75:37-75:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "76:5-76:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "76:7-76:19" + }, + { + "token": "LPAREN", + "loc": "76:19-76:20" + }, + { + "token": "RPAREN", + "loc": "76:20-76:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "76:22-76:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "76:25-76:26" + }, + { + "token": "AMPERAMPER", + "loc": "76:27-76:29" + }, + { + "token": "NEWLINE", + "loc": "76:29-76:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "77:5-77:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "77:7-77:13" + }, + { + "token": "LPAREN", + "loc": "77:13-77:14" + }, + { + "token": "RPAREN", + "loc": "77:14-77:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "77:16-77:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "77:19-77:20" + }, + { + "token": "AMPERAMPER", + "loc": "77:21-77:23" + }, + { + "token": "NEWLINE", + "loc": "77:23-77:24" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "78:5-78:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "78:7-78:19" + }, + { + "token": "LPAREN", + "loc": "78:19-78:20" + }, + { + "token": "RPAREN", + "loc": "78:20-78:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "78:22-78:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "78:25-78:26" + }, + { + "token": "AMPERAMPER", + "loc": "78:27-78:29" + }, + { + "token": "NEWLINE", + "loc": "78:29-78:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "79:5-79:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "79:7-79:13" + }, + { + "token": "LPAREN", + "loc": "79:13-79:14" + }, + { + "token": "RPAREN", + "loc": "79:14-79:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "79:16-79:18" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "79:19-79:20" + }, + { + "token": "COMMA", + "loc": "79:20-79:21" + }, + { + "token": "NEWLINE", + "loc": "79:21-79:22" + }, + { + "token": "RPAREN", + "loc": "80:3-80:4" + }, + { + "token": "NEWLINE", + "loc": "80:4-80:5" + }, + { + "token": "RBRACE", + "loc": "81:1-81:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "81:2-81:2" + }, + { + "token": "NEWLINE", + "loc": "81:2-81:3" + }, + { + "token": "NEWLINE", + "loc": "82:1-82:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "83:1-83:5" + }, + { + "token": "NEWLINE", + "loc": "83:5-83:6" + }, + { + "token": "FN", + "loc": "84:1-84:3" + }, + { + "token": [ + "LIDENT", + "test_prefix" + ], + "loc": "84:4-84:15" + }, + { + "token": "LPAREN", + "loc": "84:15-84:16" + }, + { + "token": "RPAREN", + "loc": "84:16-84:17" + }, + { + "token": "THIN_ARROW", + "loc": "84:18-84:20" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "84:21-84:25" + }, + { + "token": "RAISE", + "loc": "84:26-84:31" + }, + { + "token": "LBRACE", + "loc": "84:32-84:33" + }, + { + "token": "NEWLINE", + "loc": "84:33-84:34" + }, + { + "token": "LET", + "loc": "85:3-85:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "85:7-85:10" + }, + { + "token": "EQUAL", + "loc": "85:11-85:12" + }, + { + "token": [ + "STRING", + "hello world" + ], + "loc": "85:13-85:26" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "85:26-85:26" + }, + { + "token": "NEWLINE", + "loc": "85:26-85:27" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "86:3-86:14" + }, + { + "token": "LPAREN", + "loc": "86:14-86:15" + }, + { + "token": "NEWLINE", + "loc": "86:15-86:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "87:5-87:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "87:9-87:18" + }, + { + "token": "LPAREN", + "loc": "87:19-87:20" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "87:20-87:27" + }, + { + "token": "COMMA", + "loc": "87:27-87:28" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "87:29-87:30" + }, + { + "token": "RPAREN", + "loc": "87:30-87:31" + }, + { + "token": "AMPERAMPER", + "loc": "87:32-87:34" + }, + { + "token": "NEWLINE", + "loc": "87:34-87:35" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "88:5-88:19" + }, + { + "token": "LPAREN", + "loc": "88:19-88:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "88:20-88:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "88:22-88:26" + }, + { + "token": "LPAREN", + "loc": "88:26-88:27" + }, + { + "token": "RPAREN", + "loc": "88:27-88:28" + }, + { + "token": "COMMA", + "loc": "88:28-88:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "88:30-88:33" + }, + { + "token": "RPAREN", + "loc": "88:33-88:34" + }, + { + "token": "AMPERAMPER", + "loc": "88:35-88:37" + }, + { + "token": "NEWLINE", + "loc": "88:37-88:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "89:5-89:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "89:7-89:19" + }, + { + "token": "LPAREN", + "loc": "89:19-89:20" + }, + { + "token": "RPAREN", + "loc": "89:20-89:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "89:22-89:24" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "89:25-89:26" + }, + { + "token": "AMPERAMPER", + "loc": "89:27-89:29" + }, + { + "token": "NEWLINE", + "loc": "89:29-89:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "90:5-90:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "90:7-90:13" + }, + { + "token": "LPAREN", + "loc": "90:13-90:14" + }, + { + "token": "RPAREN", + "loc": "90:14-90:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "90:16-90:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "90:19-90:20" + }, + { + "token": "COMMA", + "loc": "90:20-90:21" + }, + { + "token": "NEWLINE", + "loc": "90:21-90:22" + }, + { + "token": "RPAREN", + "loc": "91:3-91:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "91:4-91:4" + }, + { + "token": "NEWLINE", + "loc": "91:4-91:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "92:3-92:14" + }, + { + "token": "LPAREN", + "loc": "92:14-92:15" + }, + { + "token": "NEWLINE", + "loc": "92:15-92:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "93:5-93:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "93:9-93:18" + }, + { + "token": "LPAREN", + "loc": "93:19-93:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "93:20-93:21" + }, + { + "token": "COMMA", + "loc": "93:21-93:22" + }, + { + "token": [ + "STRING", + "^hello" + ], + "loc": "93:23-93:31" + }, + { + "token": "COMMA", + "loc": "93:31-93:32" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "93:33-93:34" + }, + { + "token": "RPAREN", + "loc": "93:34-93:35" + }, + { + "token": "AMPERAMPER", + "loc": "93:36-93:38" + }, + { + "token": "NEWLINE", + "loc": "93:38-93:39" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "94:5-94:19" + }, + { + "token": "LPAREN", + "loc": "94:19-94:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "94:20-94:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "94:22-94:26" + }, + { + "token": "LPAREN", + "loc": "94:26-94:27" + }, + { + "token": "RPAREN", + "loc": "94:27-94:28" + }, + { + "token": "COMMA", + "loc": "94:28-94:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "94:30-94:33" + }, + { + "token": "RPAREN", + "loc": "94:33-94:34" + }, + { + "token": "AMPERAMPER", + "loc": "94:35-94:37" + }, + { + "token": "NEWLINE", + "loc": "94:37-94:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "95:5-95:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "95:7-95:19" + }, + { + "token": "LPAREN", + "loc": "95:19-95:20" + }, + { + "token": "RPAREN", + "loc": "95:20-95:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "95:22-95:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "95:25-95:26" + }, + { + "token": "AMPERAMPER", + "loc": "95:27-95:29" + }, + { + "token": "NEWLINE", + "loc": "95:29-95:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "96:5-96:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "96:7-96:13" + }, + { + "token": "LPAREN", + "loc": "96:13-96:14" + }, + { + "token": "RPAREN", + "loc": "96:14-96:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "96:16-96:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "96:19-96:20" + }, + { + "token": "AMPERAMPER", + "loc": "96:21-96:23" + }, + { + "token": "NEWLINE", + "loc": "96:23-96:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "97:5-97:19" + }, + { + "token": "LPAREN", + "loc": "97:19-97:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "97:20-97:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "97:22-97:26" + }, + { + "token": "LPAREN", + "loc": "97:26-97:27" + }, + { + "token": "RPAREN", + "loc": "97:27-97:28" + }, + { + "token": "COMMA", + "loc": "97:28-97:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "97:30-97:33" + }, + { + "token": "RPAREN", + "loc": "97:33-97:34" + }, + { + "token": "AMPERAMPER", + "loc": "97:35-97:37" + }, + { + "token": "NEWLINE", + "loc": "97:37-97:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "98:5-98:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "98:7-98:19" + }, + { + "token": "LPAREN", + "loc": "98:19-98:20" + }, + { + "token": "RPAREN", + "loc": "98:20-98:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "98:22-98:24" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "98:25-98:26" + }, + { + "token": "AMPERAMPER", + "loc": "98:27-98:29" + }, + { + "token": "NEWLINE", + "loc": "98:29-98:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "99:5-99:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "99:7-99:13" + }, + { + "token": "LPAREN", + "loc": "99:13-99:14" + }, + { + "token": "RPAREN", + "loc": "99:14-99:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "99:16-99:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "99:19-99:20" + }, + { + "token": "COMMA", + "loc": "99:20-99:21" + }, + { + "token": "NEWLINE", + "loc": "99:21-99:22" + }, + { + "token": "RPAREN", + "loc": "100:3-100:4" + }, + { + "token": "NEWLINE", + "loc": "100:4-100:5" + }, + { + "token": "RBRACE", + "loc": "101:1-101:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "101:2-101:2" + }, + { + "token": "NEWLINE", + "loc": "101:2-101:3" + }, + { + "token": "NEWLINE", + "loc": "102:1-102:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "103:1-103:5" + }, + { + "token": "NEWLINE", + "loc": "103:5-103:6" + }, + { + "token": "FN", + "loc": "104:1-104:3" + }, + { + "token": [ + "LIDENT", + "test_prefix_bytes" + ], + "loc": "104:4-104:21" + }, + { + "token": "LPAREN", + "loc": "104:21-104:22" + }, + { + "token": "RPAREN", + "loc": "104:22-104:23" + }, + { + "token": "THIN_ARROW", + "loc": "104:24-104:26" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "104:27-104:31" + }, + { + "token": "RAISE", + "loc": "104:32-104:37" + }, + { + "token": "LBRACE", + "loc": "104:38-104:39" + }, + { + "token": "NEWLINE", + "loc": "104:39-104:40" + }, + { + "token": "LET", + "loc": "105:3-105:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "105:7-105:10" + }, + { + "token": "EQUAL", + "loc": "105:11-105:12" + }, + { + "token": [ + "BYTES", + "hello world" + ], + "loc": "105:13-105:27" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "105:27-105:27" + }, + { + "token": "NEWLINE", + "loc": "105:27-105:28" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "106:3-106:14" + }, + { + "token": "LPAREN", + "loc": "106:14-106:15" + }, + { + "token": "NEWLINE", + "loc": "106:15-106:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "107:5-107:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "107:9-107:18" + }, + { + "token": "LPAREN", + "loc": "107:19-107:20" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "107:20-107:27" + }, + { + "token": "COMMA", + "loc": "107:27-107:28" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "107:29-107:30" + }, + { + "token": "RPAREN", + "loc": "107:30-107:31" + }, + { + "token": "AMPERAMPER", + "loc": "107:32-107:34" + }, + { + "token": "NEWLINE", + "loc": "107:34-107:35" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "108:5-108:19" + }, + { + "token": "LPAREN", + "loc": "108:19-108:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "108:20-108:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "108:22-108:26" + }, + { + "token": "LPAREN", + "loc": "108:26-108:27" + }, + { + "token": "RPAREN", + "loc": "108:27-108:28" + }, + { + "token": "COMMA", + "loc": "108:28-108:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "108:30-108:33" + }, + { + "token": "RPAREN", + "loc": "108:33-108:34" + }, + { + "token": "AMPERAMPER", + "loc": "108:35-108:37" + }, + { + "token": "NEWLINE", + "loc": "108:37-108:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "109:5-109:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "109:7-109:19" + }, + { + "token": "LPAREN", + "loc": "109:19-109:20" + }, + { + "token": "RPAREN", + "loc": "109:20-109:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "109:22-109:24" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "109:25-109:26" + }, + { + "token": "AMPERAMPER", + "loc": "109:27-109:29" + }, + { + "token": "NEWLINE", + "loc": "109:29-109:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "110:5-110:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "110:7-110:13" + }, + { + "token": "LPAREN", + "loc": "110:13-110:14" + }, + { + "token": "RPAREN", + "loc": "110:14-110:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "110:16-110:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "110:19-110:20" + }, + { + "token": "COMMA", + "loc": "110:20-110:21" + }, + { + "token": "NEWLINE", + "loc": "110:21-110:22" + }, + { + "token": "RPAREN", + "loc": "111:3-111:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "111:4-111:4" + }, + { + "token": "NEWLINE", + "loc": "111:4-111:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "112:3-112:14" + }, + { + "token": "LPAREN", + "loc": "112:14-112:15" + }, + { + "token": "NEWLINE", + "loc": "112:15-112:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "113:5-113:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "113:9-113:18" + }, + { + "token": "LPAREN", + "loc": "113:19-113:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "113:20-113:21" + }, + { + "token": "COMMA", + "loc": "113:21-113:22" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "113:23-113:30" + }, + { + "token": "COMMA", + "loc": "113:30-113:31" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "113:32-113:33" + }, + { + "token": "RPAREN", + "loc": "113:33-113:34" + }, + { + "token": "AMPERAMPER", + "loc": "113:35-113:37" + }, + { + "token": "NEWLINE", + "loc": "113:37-113:38" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "114:5-114:19" + }, + { + "token": "LPAREN", + "loc": "114:19-114:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "114:20-114:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "114:22-114:26" + }, + { + "token": "LPAREN", + "loc": "114:26-114:27" + }, + { + "token": "RPAREN", + "loc": "114:27-114:28" + }, + { + "token": "COMMA", + "loc": "114:28-114:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "114:30-114:33" + }, + { + "token": "RPAREN", + "loc": "114:33-114:34" + }, + { + "token": "AMPERAMPER", + "loc": "114:35-114:37" + }, + { + "token": "NEWLINE", + "loc": "114:37-114:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "115:5-115:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "115:7-115:19" + }, + { + "token": "LPAREN", + "loc": "115:19-115:20" + }, + { + "token": "RPAREN", + "loc": "115:20-115:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "115:22-115:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "115:25-115:26" + }, + { + "token": "AMPERAMPER", + "loc": "115:27-115:29" + }, + { + "token": "NEWLINE", + "loc": "115:29-115:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "116:5-116:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "116:7-116:13" + }, + { + "token": "LPAREN", + "loc": "116:13-116:14" + }, + { + "token": "RPAREN", + "loc": "116:14-116:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "116:16-116:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "116:19-116:20" + }, + { + "token": "AMPERAMPER", + "loc": "116:21-116:23" + }, + { + "token": "NEWLINE", + "loc": "116:23-116:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "117:5-117:19" + }, + { + "token": "LPAREN", + "loc": "117:19-117:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "117:20-117:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "117:22-117:26" + }, + { + "token": "LPAREN", + "loc": "117:26-117:27" + }, + { + "token": "RPAREN", + "loc": "117:27-117:28" + }, + { + "token": "COMMA", + "loc": "117:28-117:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "117:30-117:33" + }, + { + "token": "RPAREN", + "loc": "117:33-117:34" + }, + { + "token": "AMPERAMPER", + "loc": "117:35-117:37" + }, + { + "token": "NEWLINE", + "loc": "117:37-117:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "118:5-118:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "118:7-118:19" + }, + { + "token": "LPAREN", + "loc": "118:19-118:20" + }, + { + "token": "RPAREN", + "loc": "118:20-118:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "118:22-118:24" + }, + { + "token": [ + "INT", + "5" + ], + "loc": "118:25-118:26" + }, + { + "token": "AMPERAMPER", + "loc": "118:27-118:29" + }, + { + "token": "NEWLINE", + "loc": "118:29-118:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "119:5-119:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "119:7-119:13" + }, + { + "token": "LPAREN", + "loc": "119:13-119:14" + }, + { + "token": "RPAREN", + "loc": "119:14-119:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "119:16-119:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "119:19-119:20" + }, + { + "token": "COMMA", + "loc": "119:20-119:21" + }, + { + "token": "NEWLINE", + "loc": "119:21-119:22" + }, + { + "token": "RPAREN", + "loc": "120:3-120:4" + }, + { + "token": "NEWLINE", + "loc": "120:4-120:5" + }, + { + "token": "RBRACE", + "loc": "121:1-121:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "121:2-121:2" + }, + { + "token": "NEWLINE", + "loc": "121:2-121:3" + }, + { + "token": "NEWLINE", + "loc": "122:1-122:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "123:1-123:5" + }, + { + "token": "NEWLINE", + "loc": "123:5-123:6" + }, + { + "token": "FN", + "loc": "124:1-124:3" + }, + { + "token": [ + "LIDENT", + "test_suffix" + ], + "loc": "124:4-124:15" + }, + { + "token": "LPAREN", + "loc": "124:15-124:16" + }, + { + "token": "RPAREN", + "loc": "124:16-124:17" + }, + { + "token": "THIN_ARROW", + "loc": "124:18-124:20" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "124:21-124:25" + }, + { + "token": "RAISE", + "loc": "124:26-124:31" + }, + { + "token": "LBRACE", + "loc": "124:32-124:33" + }, + { + "token": "NEWLINE", + "loc": "124:33-124:34" + }, + { + "token": "LET", + "loc": "125:3-125:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "125:7-125:10" + }, + { + "token": "EQUAL", + "loc": "125:11-125:12" + }, + { + "token": [ + "STRING", + "hello 中国𠮷" + ], + "loc": "125:13-125:24" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "125:24-125:24" + }, + { + "token": "NEWLINE", + "loc": "125:24-125:25" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "126:3-126:14" + }, + { + "token": "LPAREN", + "loc": "126:14-126:15" + }, + { + "token": "NEWLINE", + "loc": "126:15-126:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "127:5-127:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "127:9-127:18" + }, + { + "token": "LPAREN", + "loc": "127:19-127:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "127:20-127:21" + }, + { + "token": "COMMA", + "loc": "127:21-127:22" + }, + { + "token": [ + "STRING", + "中国𠮷" + ], + "loc": "127:23-127:28" + }, + { + "token": "RPAREN", + "loc": "127:28-127:29" + }, + { + "token": "AMPERAMPER", + "loc": "127:30-127:32" + }, + { + "token": "NEWLINE", + "loc": "127:32-127:33" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "128:5-128:19" + }, + { + "token": "LPAREN", + "loc": "128:19-128:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "128:20-128:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "128:22-128:26" + }, + { + "token": "LPAREN", + "loc": "128:26-128:27" + }, + { + "token": "RPAREN", + "loc": "128:27-128:28" + }, + { + "token": "COMMA", + "loc": "128:28-128:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "128:30-128:33" + }, + { + "token": "RPAREN", + "loc": "128:33-128:34" + }, + { + "token": "AMPERAMPER", + "loc": "128:35-128:37" + }, + { + "token": "NEWLINE", + "loc": "128:37-128:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "129:5-129:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "129:7-129:19" + }, + { + "token": "LPAREN", + "loc": "129:19-129:20" + }, + { + "token": "RPAREN", + "loc": "129:20-129:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "129:22-129:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "129:25-129:26" + }, + { + "token": "AMPERAMPER", + "loc": "129:27-129:29" + }, + { + "token": "NEWLINE", + "loc": "129:29-129:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "130:5-130:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "130:7-130:13" + }, + { + "token": "LPAREN", + "loc": "130:13-130:14" + }, + { + "token": "RPAREN", + "loc": "130:14-130:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "130:16-130:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "130:19-130:20" + }, + { + "token": "COMMA", + "loc": "130:20-130:21" + }, + { + "token": "NEWLINE", + "loc": "130:21-130:22" + }, + { + "token": "RPAREN", + "loc": "131:3-131:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "131:4-131:4" + }, + { + "token": "NEWLINE", + "loc": "131:4-131:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "132:3-132:14" + }, + { + "token": "LPAREN", + "loc": "132:14-132:15" + }, + { + "token": "NEWLINE", + "loc": "132:15-132:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "133:5-133:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "133:9-133:18" + }, + { + "token": "LPAREN", + "loc": "133:19-133:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "133:20-133:21" + }, + { + "token": "COMMA", + "loc": "133:21-133:22" + }, + { + "token": [ + "STRING", + "中国𠮷$" + ], + "loc": "133:23-133:29" + }, + { + "token": "COMMA", + "loc": "133:29-133:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "133:31-133:32" + }, + { + "token": "RPAREN", + "loc": "133:32-133:33" + }, + { + "token": "AMPERAMPER", + "loc": "133:34-133:36" + }, + { + "token": "NEWLINE", + "loc": "133:36-133:37" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "134:5-134:19" + }, + { + "token": "LPAREN", + "loc": "134:19-134:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "134:20-134:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "134:22-134:26" + }, + { + "token": "LPAREN", + "loc": "134:26-134:27" + }, + { + "token": "RPAREN", + "loc": "134:27-134:28" + }, + { + "token": "COMMA", + "loc": "134:28-134:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "134:30-134:33" + }, + { + "token": "RPAREN", + "loc": "134:33-134:34" + }, + { + "token": "AMPERAMPER", + "loc": "134:35-134:37" + }, + { + "token": "NEWLINE", + "loc": "134:37-134:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "135:5-135:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "135:7-135:19" + }, + { + "token": "LPAREN", + "loc": "135:19-135:20" + }, + { + "token": "RPAREN", + "loc": "135:20-135:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "135:22-135:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "135:25-135:26" + }, + { + "token": "AMPERAMPER", + "loc": "135:27-135:29" + }, + { + "token": "NEWLINE", + "loc": "135:29-135:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "136:5-136:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "136:7-136:13" + }, + { + "token": "LPAREN", + "loc": "136:13-136:14" + }, + { + "token": "RPAREN", + "loc": "136:14-136:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "136:16-136:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "136:19-136:20" + }, + { + "token": "AMPERAMPER", + "loc": "136:21-136:23" + }, + { + "token": "NEWLINE", + "loc": "136:23-136:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "137:5-137:19" + }, + { + "token": "LPAREN", + "loc": "137:19-137:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "137:20-137:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "137:22-137:26" + }, + { + "token": "LPAREN", + "loc": "137:26-137:27" + }, + { + "token": "RPAREN", + "loc": "137:27-137:28" + }, + { + "token": "COMMA", + "loc": "137:28-137:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "137:30-137:33" + }, + { + "token": "RPAREN", + "loc": "137:33-137:34" + }, + { + "token": "AMPERAMPER", + "loc": "137:35-137:37" + }, + { + "token": "NEWLINE", + "loc": "137:37-137:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "138:5-138:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "138:7-138:19" + }, + { + "token": "LPAREN", + "loc": "138:19-138:20" + }, + { + "token": "RPAREN", + "loc": "138:20-138:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "138:22-138:24" + }, + { + "token": [ + "INT", + "10" + ], + "loc": "138:25-138:27" + }, + { + "token": "AMPERAMPER", + "loc": "138:28-138:30" + }, + { + "token": "NEWLINE", + "loc": "138:30-138:31" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "139:5-139:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "139:7-139:13" + }, + { + "token": "LPAREN", + "loc": "139:13-139:14" + }, + { + "token": "RPAREN", + "loc": "139:14-139:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "139:16-139:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "139:19-139:20" + }, + { + "token": "COMMA", + "loc": "139:20-139:21" + }, + { + "token": "NEWLINE", + "loc": "139:21-139:22" + }, + { + "token": "RPAREN", + "loc": "140:3-140:4" + }, + { + "token": "NEWLINE", + "loc": "140:4-140:5" + }, + { + "token": "RBRACE", + "loc": "141:1-141:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "141:2-141:2" + }, + { + "token": "NEWLINE", + "loc": "141:2-141:3" + }, + { + "token": "NEWLINE", + "loc": "142:1-142:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "143:1-143:5" + }, + { + "token": "NEWLINE", + "loc": "143:5-143:6" + }, + { + "token": "FN", + "loc": "144:1-144:3" + }, + { + "token": [ + "LIDENT", + "test_suffix_bytes" + ], + "loc": "144:4-144:21" + }, + { + "token": "LPAREN", + "loc": "144:21-144:22" + }, + { + "token": "RPAREN", + "loc": "144:22-144:23" + }, + { + "token": "THIN_ARROW", + "loc": "144:24-144:26" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "144:27-144:31" + }, + { + "token": "RAISE", + "loc": "144:32-144:37" + }, + { + "token": "LBRACE", + "loc": "144:38-144:39" + }, + { + "token": "NEWLINE", + "loc": "144:39-144:40" + }, + { + "token": "LET", + "loc": "145:3-145:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "145:7-145:10" + }, + { + "token": "EQUAL", + "loc": "145:11-145:12" + }, + { + "token": [ + "BYTES", + "hello world" + ], + "loc": "145:13-145:27" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "145:27-145:27" + }, + { + "token": "NEWLINE", + "loc": "145:27-145:28" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "146:3-146:14" + }, + { + "token": "LPAREN", + "loc": "146:14-146:15" + }, + { + "token": "NEWLINE", + "loc": "146:15-146:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "147:5-147:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "147:9-147:18" + }, + { + "token": "LPAREN", + "loc": "147:19-147:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "147:20-147:21" + }, + { + "token": "COMMA", + "loc": "147:21-147:22" + }, + { + "token": [ + "STRING", + "world" + ], + "loc": "147:23-147:30" + }, + { + "token": "RPAREN", + "loc": "147:30-147:31" + }, + { + "token": "AMPERAMPER", + "loc": "147:32-147:34" + }, + { + "token": "NEWLINE", + "loc": "147:34-147:35" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "148:5-148:19" + }, + { + "token": "LPAREN", + "loc": "148:19-148:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "148:20-148:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "148:22-148:26" + }, + { + "token": "LPAREN", + "loc": "148:26-148:27" + }, + { + "token": "RPAREN", + "loc": "148:27-148:28" + }, + { + "token": "COMMA", + "loc": "148:28-148:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "148:30-148:33" + }, + { + "token": "RPAREN", + "loc": "148:33-148:34" + }, + { + "token": "AMPERAMPER", + "loc": "148:35-148:37" + }, + { + "token": "NEWLINE", + "loc": "148:37-148:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "149:5-149:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "149:7-149:19" + }, + { + "token": "LPAREN", + "loc": "149:19-149:20" + }, + { + "token": "RPAREN", + "loc": "149:20-149:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "149:22-149:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "149:25-149:26" + }, + { + "token": "AMPERAMPER", + "loc": "149:27-149:29" + }, + { + "token": "NEWLINE", + "loc": "149:29-149:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "150:5-150:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "150:7-150:13" + }, + { + "token": "LPAREN", + "loc": "150:13-150:14" + }, + { + "token": "RPAREN", + "loc": "150:14-150:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "150:16-150:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "150:19-150:20" + }, + { + "token": "COMMA", + "loc": "150:20-150:21" + }, + { + "token": "NEWLINE", + "loc": "150:21-150:22" + }, + { + "token": "RPAREN", + "loc": "151:3-151:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "151:4-151:4" + }, + { + "token": "NEWLINE", + "loc": "151:4-151:5" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "152:3-152:14" + }, + { + "token": "LPAREN", + "loc": "152:14-152:15" + }, + { + "token": "NEWLINE", + "loc": "152:15-152:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "153:5-153:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "153:9-153:18" + }, + { + "token": "LPAREN", + "loc": "153:19-153:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "153:20-153:21" + }, + { + "token": "COMMA", + "loc": "153:21-153:22" + }, + { + "token": [ + "STRING", + "world$" + ], + "loc": "153:23-153:31" + }, + { + "token": "COMMA", + "loc": "153:31-153:32" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "153:33-153:34" + }, + { + "token": "RPAREN", + "loc": "153:34-153:35" + }, + { + "token": "AMPERAMPER", + "loc": "153:36-153:38" + }, + { + "token": "NEWLINE", + "loc": "153:38-153:39" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "154:5-154:19" + }, + { + "token": "LPAREN", + "loc": "154:19-154:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "154:20-154:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "154:22-154:26" + }, + { + "token": "LPAREN", + "loc": "154:26-154:27" + }, + { + "token": "RPAREN", + "loc": "154:27-154:28" + }, + { + "token": "COMMA", + "loc": "154:28-154:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "154:30-154:33" + }, + { + "token": "RPAREN", + "loc": "154:33-154:34" + }, + { + "token": "AMPERAMPER", + "loc": "154:35-154:37" + }, + { + "token": "NEWLINE", + "loc": "154:37-154:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "155:5-155:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "155:7-155:19" + }, + { + "token": "LPAREN", + "loc": "155:19-155:20" + }, + { + "token": "RPAREN", + "loc": "155:20-155:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "155:22-155:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "155:25-155:26" + }, + { + "token": "AMPERAMPER", + "loc": "155:27-155:29" + }, + { + "token": "NEWLINE", + "loc": "155:29-155:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "156:5-156:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "156:7-156:13" + }, + { + "token": "LPAREN", + "loc": "156:13-156:14" + }, + { + "token": "RPAREN", + "loc": "156:14-156:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "156:16-156:18" + }, + { + "token": [ + "INT", + "6" + ], + "loc": "156:19-156:20" + }, + { + "token": "AMPERAMPER", + "loc": "156:21-156:23" + }, + { + "token": "NEWLINE", + "loc": "156:23-156:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "157:5-157:19" + }, + { + "token": "LPAREN", + "loc": "157:19-157:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "157:20-157:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "157:22-157:26" + }, + { + "token": "LPAREN", + "loc": "157:26-157:27" + }, + { + "token": "RPAREN", + "loc": "157:27-157:28" + }, + { + "token": "COMMA", + "loc": "157:28-157:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "157:30-157:33" + }, + { + "token": "RPAREN", + "loc": "157:33-157:34" + }, + { + "token": "AMPERAMPER", + "loc": "157:35-157:37" + }, + { + "token": "NEWLINE", + "loc": "157:37-157:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "158:5-158:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "158:7-158:19" + }, + { + "token": "LPAREN", + "loc": "158:19-158:20" + }, + { + "token": "RPAREN", + "loc": "158:20-158:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "158:22-158:24" + }, + { + "token": [ + "INT", + "11" + ], + "loc": "158:25-158:27" + }, + { + "token": "AMPERAMPER", + "loc": "158:28-158:30" + }, + { + "token": "NEWLINE", + "loc": "158:30-158:31" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "159:5-159:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "159:7-159:13" + }, + { + "token": "LPAREN", + "loc": "159:13-159:14" + }, + { + "token": "RPAREN", + "loc": "159:14-159:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "159:16-159:18" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "159:19-159:20" + }, + { + "token": "COMMA", + "loc": "159:20-159:21" + }, + { + "token": "NEWLINE", + "loc": "159:21-159:22" + }, + { + "token": "RPAREN", + "loc": "160:3-160:4" + }, + { + "token": "NEWLINE", + "loc": "160:4-160:5" + }, + { + "token": "RBRACE", + "loc": "161:1-161:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "161:2-161:2" + }, + { + "token": "NEWLINE", + "loc": "161:2-161:3" + }, + { + "token": "NEWLINE", + "loc": "162:1-162:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "163:1-163:5" + }, + { + "token": "NEWLINE", + "loc": "163:5-163:6" + }, + { + "token": "FN", + "loc": "164:1-164:3" + }, + { + "token": [ + "LIDENT", + "test_search" + ], + "loc": "164:4-164:15" + }, + { + "token": "LPAREN", + "loc": "164:15-164:16" + }, + { + "token": "RPAREN", + "loc": "164:16-164:17" + }, + { + "token": "THIN_ARROW", + "loc": "164:18-164:20" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "164:21-164:25" + }, + { + "token": "RAISE", + "loc": "164:26-164:31" + }, + { + "token": "LBRACE", + "loc": "164:32-164:33" + }, + { + "token": "NEWLINE", + "loc": "164:33-164:34" + }, + { + "token": "LET", + "loc": "165:3-165:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "165:7-165:10" + }, + { + "token": "EQUAL", + "loc": "165:11-165:12" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "165:13-165:20" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "165:20-165:20" + }, + { + "token": "NEWLINE", + "loc": "165:20-165:21" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "166:3-166:14" + }, + { + "token": "LPAREN", + "loc": "166:14-166:15" + }, + { + "token": "NEWLINE", + "loc": "166:15-166:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "167:5-167:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "167:9-167:18" + }, + { + "token": "LPAREN", + "loc": "167:19-167:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "167:20-167:21" + }, + { + "token": "COMMA", + "loc": "167:21-167:22" + }, + { + "token": [ + "STRING", + "el" + ], + "loc": "167:23-167:27" + }, + { + "token": "COMMA", + "loc": "167:27-167:28" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "167:29-167:30" + }, + { + "token": "RPAREN", + "loc": "167:30-167:31" + }, + { + "token": "AMPERAMPER", + "loc": "167:32-167:34" + }, + { + "token": "NEWLINE", + "loc": "167:34-167:35" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "168:5-168:19" + }, + { + "token": "LPAREN", + "loc": "168:19-168:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "168:20-168:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "168:22-168:26" + }, + { + "token": "LPAREN", + "loc": "168:26-168:27" + }, + { + "token": "RPAREN", + "loc": "168:27-168:28" + }, + { + "token": "COMMA", + "loc": "168:28-168:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "168:30-168:33" + }, + { + "token": "RPAREN", + "loc": "168:33-168:34" + }, + { + "token": "AMPERAMPER", + "loc": "168:35-168:37" + }, + { + "token": "NEWLINE", + "loc": "168:37-168:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "169:5-169:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "169:7-169:19" + }, + { + "token": "LPAREN", + "loc": "169:19-169:20" + }, + { + "token": "RPAREN", + "loc": "169:20-169:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "169:22-169:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "169:25-169:26" + }, + { + "token": "AMPERAMPER", + "loc": "169:27-169:29" + }, + { + "token": "NEWLINE", + "loc": "169:29-169:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "170:5-170:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "170:7-170:13" + }, + { + "token": "LPAREN", + "loc": "170:13-170:14" + }, + { + "token": "RPAREN", + "loc": "170:14-170:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "170:16-170:18" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "170:19-170:20" + }, + { + "token": "AMPERAMPER", + "loc": "170:21-170:23" + }, + { + "token": "NEWLINE", + "loc": "170:23-170:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "171:5-171:19" + }, + { + "token": "LPAREN", + "loc": "171:19-171:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "171:20-171:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "171:22-171:26" + }, + { + "token": "LPAREN", + "loc": "171:26-171:27" + }, + { + "token": "RPAREN", + "loc": "171:27-171:28" + }, + { + "token": "COMMA", + "loc": "171:28-171:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "171:30-171:33" + }, + { + "token": "RPAREN", + "loc": "171:33-171:34" + }, + { + "token": "AMPERAMPER", + "loc": "171:35-171:37" + }, + { + "token": "NEWLINE", + "loc": "171:37-171:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "172:5-172:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "172:7-172:19" + }, + { + "token": "LPAREN", + "loc": "172:19-172:20" + }, + { + "token": "RPAREN", + "loc": "172:20-172:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "172:22-172:24" + }, + { + "token": [ + "INT", + "3" + ], + "loc": "172:25-172:26" + }, + { + "token": "AMPERAMPER", + "loc": "172:27-172:29" + }, + { + "token": "NEWLINE", + "loc": "172:29-172:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "173:5-173:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "173:7-173:13" + }, + { + "token": "LPAREN", + "loc": "173:13-173:14" + }, + { + "token": "RPAREN", + "loc": "173:14-173:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "173:16-173:18" + }, + { + "token": [ + "INT", + "2" + ], + "loc": "173:19-173:20" + }, + { + "token": "COMMA", + "loc": "173:20-173:21" + }, + { + "token": "NEWLINE", + "loc": "173:21-173:22" + }, + { + "token": "RPAREN", + "loc": "174:3-174:4" + }, + { + "token": "NEWLINE", + "loc": "174:4-174:5" + }, + { + "token": "RBRACE", + "loc": "175:1-175:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "175:2-175:2" + }, + { + "token": "NEWLINE", + "loc": "175:2-175:3" + }, + { + "token": "NEWLINE", + "loc": "176:1-176:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "177:1-177:5" + }, + { + "token": "NEWLINE", + "loc": "177:5-177:6" + }, + { + "token": "FN", + "loc": "178:1-178:3" + }, + { + "token": [ + "LIDENT", + "test_search_bytes" + ], + "loc": "178:4-178:21" + }, + { + "token": "LPAREN", + "loc": "178:21-178:22" + }, + { + "token": "RPAREN", + "loc": "178:22-178:23" + }, + { + "token": "THIN_ARROW", + "loc": "178:24-178:26" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "178:27-178:31" + }, + { + "token": "RAISE", + "loc": "178:32-178:37" + }, + { + "token": "LBRACE", + "loc": "178:38-178:39" + }, + { + "token": "NEWLINE", + "loc": "178:39-178:40" + }, + { + "token": "LET", + "loc": "179:3-179:6" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "179:7-179:10" + }, + { + "token": "EQUAL", + "loc": "179:11-179:12" + }, + { + "token": [ + "BYTES", + "hello" + ], + "loc": "179:13-179:21" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "179:21-179:21" + }, + { + "token": "NEWLINE", + "loc": "179:21-179:22" + }, + { + "token": [ + "LIDENT", + "assert_true" + ], + "loc": "180:3-180:14" + }, + { + "token": "LPAREN", + "loc": "180:14-180:15" + }, + { + "token": "NEWLINE", + "loc": "180:15-180:16" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "181:5-181:8" + }, + { + "token": "LEXMATCH_QUESTION", + "loc": "181:9-181:18" + }, + { + "token": "LPAREN", + "loc": "181:19-181:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "181:20-181:21" + }, + { + "token": "COMMA", + "loc": "181:21-181:22" + }, + { + "token": [ + "STRING", + "el" + ], + "loc": "181:23-181:27" + }, + { + "token": "COMMA", + "loc": "181:27-181:28" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "181:29-181:30" + }, + { + "token": "RPAREN", + "loc": "181:30-181:31" + }, + { + "token": "AMPERAMPER", + "loc": "181:32-181:34" + }, + { + "token": "NEWLINE", + "loc": "181:34-181:35" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "182:5-182:19" + }, + { + "token": "LPAREN", + "loc": "182:19-182:20" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "182:20-182:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "182:22-182:26" + }, + { + "token": "LPAREN", + "loc": "182:26-182:27" + }, + { + "token": "RPAREN", + "loc": "182:27-182:28" + }, + { + "token": "COMMA", + "loc": "182:28-182:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "182:30-182:33" + }, + { + "token": "RPAREN", + "loc": "182:33-182:34" + }, + { + "token": "AMPERAMPER", + "loc": "182:35-182:37" + }, + { + "token": "NEWLINE", + "loc": "182:37-182:38" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "183:5-183:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "183:7-183:19" + }, + { + "token": "LPAREN", + "loc": "183:19-183:20" + }, + { + "token": "RPAREN", + "loc": "183:20-183:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "183:22-183:24" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "183:25-183:26" + }, + { + "token": "AMPERAMPER", + "loc": "183:27-183:29" + }, + { + "token": "NEWLINE", + "loc": "183:29-183:30" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "184:5-184:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "184:7-184:13" + }, + { + "token": "LPAREN", + "loc": "184:13-184:14" + }, + { + "token": "RPAREN", + "loc": "184:14-184:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "184:16-184:18" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "184:19-184:20" + }, + { + "token": "AMPERAMPER", + "loc": "184:21-184:23" + }, + { + "token": "NEWLINE", + "loc": "184:23-184:24" + }, + { + "token": [ + "LIDENT", + "physical_equal" + ], + "loc": "185:5-185:19" + }, + { + "token": "LPAREN", + "loc": "185:19-185:20" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "185:20-185:21" + }, + { + "token": [ + "DOT_LIDENT", + "data" + ], + "loc": "185:22-185:26" + }, + { + "token": "LPAREN", + "loc": "185:26-185:27" + }, + { + "token": "RPAREN", + "loc": "185:27-185:28" + }, + { + "token": "COMMA", + "loc": "185:28-185:29" + }, + { + "token": [ + "LIDENT", + "str" + ], + "loc": "185:30-185:33" + }, + { + "token": "RPAREN", + "loc": "185:33-185:34" + }, + { + "token": "AMPERAMPER", + "loc": "185:35-185:37" + }, + { + "token": "NEWLINE", + "loc": "185:37-185:38" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "186:5-186:6" + }, + { + "token": [ + "DOT_LIDENT", + "start_offset" + ], + "loc": "186:7-186:19" + }, + { + "token": "LPAREN", + "loc": "186:19-186:20" + }, + { + "token": "RPAREN", + "loc": "186:20-186:21" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "186:22-186:24" + }, + { + "token": [ + "INT", + "3" + ], + "loc": "186:25-186:26" + }, + { + "token": "AMPERAMPER", + "loc": "186:27-186:29" + }, + { + "token": "NEWLINE", + "loc": "186:29-186:30" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "187:5-187:6" + }, + { + "token": [ + "DOT_LIDENT", + "length" + ], + "loc": "187:7-187:13" + }, + { + "token": "LPAREN", + "loc": "187:13-187:14" + }, + { + "token": "RPAREN", + "loc": "187:14-187:15" + }, + { + "token": [ + "INFIX1", + "==" + ], + "loc": "187:16-187:18" + }, + { + "token": [ + "INT", + "2" + ], + "loc": "187:19-187:20" + }, + { + "token": "COMMA", + "loc": "187:20-187:21" + }, + { + "token": "NEWLINE", + "loc": "187:21-187:22" + }, + { + "token": "RPAREN", + "loc": "188:3-188:4" + }, + { + "token": "NEWLINE", + "loc": "188:4-188:5" + }, + { + "token": "RBRACE", + "loc": "189:1-189:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "189:2-189:2" + }, + { + "token": "NEWLINE", + "loc": "189:2-189:3" + }, + { + "token": "NEWLINE", + "loc": "190:1-190:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "191:1-191:5" + }, + { + "token": "NEWLINE", + "loc": "191:5-191:6" + }, + { + "token": "FN", + "loc": "192:1-192:3" + }, + { + "token": [ + "LIDENT", + "main" + ], + "loc": "192:4-192:8" + }, + { + "token": "LBRACE", + "loc": "192:9-192:10" + }, + { + "token": "NEWLINE", + "loc": "192:10-192:11" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "193:3-193:10" + }, + { + "token": "LPAREN", + "loc": "193:10-193:11" + }, + { + "token": [ + "STRING", + "test_exact" + ], + "loc": "193:11-193:23" + }, + { + "token": "RPAREN", + "loc": "193:23-193:24" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "193:24-193:24" + }, + { + "token": "NEWLINE", + "loc": "193:24-193:25" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "194:3-194:10" + }, + { + "token": "LPAREN", + "loc": "194:10-194:11" + }, + { + "token": "TRY_QUESTION", + "loc": "194:11-194:15" + }, + { + "token": [ + "LIDENT", + "test_exact" + ], + "loc": "194:16-194:26" + }, + { + "token": "LPAREN", + "loc": "194:26-194:27" + }, + { + "token": "RPAREN", + "loc": "194:27-194:28" + }, + { + "token": "RPAREN", + "loc": "194:28-194:29" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "194:29-194:29" + }, + { + "token": "NEWLINE", + "loc": "194:29-194:30" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "195:3-195:10" + }, + { + "token": "LPAREN", + "loc": "195:10-195:11" + }, + { + "token": [ + "STRING", + "test_exact_bytes" + ], + "loc": "195:11-195:29" + }, + { + "token": "RPAREN", + "loc": "195:29-195:30" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "195:30-195:30" + }, + { + "token": "NEWLINE", + "loc": "195:30-195:31" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "196:3-196:10" + }, + { + "token": "LPAREN", + "loc": "196:10-196:11" + }, + { + "token": "TRY_QUESTION", + "loc": "196:11-196:15" + }, + { + "token": [ + "LIDENT", + "test_exact_bytes" + ], + "loc": "196:16-196:32" + }, + { + "token": "LPAREN", + "loc": "196:32-196:33" + }, + { + "token": "RPAREN", + "loc": "196:33-196:34" + }, + { + "token": "RPAREN", + "loc": "196:34-196:35" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "196:35-196:35" + }, + { + "token": "NEWLINE", + "loc": "196:35-196:36" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "197:3-197:10" + }, + { + "token": "LPAREN", + "loc": "197:10-197:11" + }, + { + "token": [ + "STRING", + "test_empty" + ], + "loc": "197:11-197:23" + }, + { + "token": "RPAREN", + "loc": "197:23-197:24" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "197:24-197:24" + }, + { + "token": "NEWLINE", + "loc": "197:24-197:25" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "198:3-198:10" + }, + { + "token": "LPAREN", + "loc": "198:10-198:11" + }, + { + "token": "TRY_QUESTION", + "loc": "198:11-198:15" + }, + { + "token": [ + "LIDENT", + "test_empty" + ], + "loc": "198:16-198:26" + }, + { + "token": "LPAREN", + "loc": "198:26-198:27" + }, + { + "token": "RPAREN", + "loc": "198:27-198:28" + }, + { + "token": "RPAREN", + "loc": "198:28-198:29" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "198:29-198:29" + }, + { + "token": "NEWLINE", + "loc": "198:29-198:30" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "199:3-199:10" + }, + { + "token": "LPAREN", + "loc": "199:10-199:11" + }, + { + "token": [ + "STRING", + "test_empty_bytes" + ], + "loc": "199:11-199:29" + }, + { + "token": "RPAREN", + "loc": "199:29-199:30" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "199:30-199:30" + }, + { + "token": "NEWLINE", + "loc": "199:30-199:31" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "200:3-200:10" + }, + { + "token": "LPAREN", + "loc": "200:10-200:11" + }, + { + "token": "TRY_QUESTION", + "loc": "200:11-200:15" + }, + { + "token": [ + "LIDENT", + "test_empty_bytes" + ], + "loc": "200:16-200:32" + }, + { + "token": "LPAREN", + "loc": "200:32-200:33" + }, + { + "token": "RPAREN", + "loc": "200:33-200:34" + }, + { + "token": "RPAREN", + "loc": "200:34-200:35" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "200:35-200:35" + }, + { + "token": "NEWLINE", + "loc": "200:35-200:36" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "201:3-201:10" + }, + { + "token": "LPAREN", + "loc": "201:10-201:11" + }, + { + "token": [ + "STRING", + "test_prefix" + ], + "loc": "201:11-201:24" + }, + { + "token": "RPAREN", + "loc": "201:24-201:25" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "201:25-201:25" + }, + { + "token": "NEWLINE", + "loc": "201:25-201:26" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "202:3-202:10" + }, + { + "token": "LPAREN", + "loc": "202:10-202:11" + }, + { + "token": "TRY_QUESTION", + "loc": "202:11-202:15" + }, + { + "token": [ + "LIDENT", + "test_prefix" + ], + "loc": "202:16-202:27" + }, + { + "token": "LPAREN", + "loc": "202:27-202:28" + }, + { + "token": "RPAREN", + "loc": "202:28-202:29" + }, + { + "token": "RPAREN", + "loc": "202:29-202:30" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "202:30-202:30" + }, + { + "token": "NEWLINE", + "loc": "202:30-202:31" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "203:3-203:10" + }, + { + "token": "LPAREN", + "loc": "203:10-203:11" + }, + { + "token": [ + "STRING", + "test_prefix_bytes" + ], + "loc": "203:11-203:30" + }, + { + "token": "RPAREN", + "loc": "203:30-203:31" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "203:31-203:31" + }, + { + "token": "NEWLINE", + "loc": "203:31-203:32" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "204:3-204:10" + }, + { + "token": "LPAREN", + "loc": "204:10-204:11" + }, + { + "token": "TRY_QUESTION", + "loc": "204:11-204:15" + }, + { + "token": [ + "LIDENT", + "test_prefix_bytes" + ], + "loc": "204:16-204:33" + }, + { + "token": "LPAREN", + "loc": "204:33-204:34" + }, + { + "token": "RPAREN", + "loc": "204:34-204:35" + }, + { + "token": "RPAREN", + "loc": "204:35-204:36" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "204:36-204:36" + }, + { + "token": "NEWLINE", + "loc": "204:36-204:37" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "205:3-205:10" + }, + { + "token": "LPAREN", + "loc": "205:10-205:11" + }, + { + "token": [ + "STRING", + "test_suffix" + ], + "loc": "205:11-205:24" + }, + { + "token": "RPAREN", + "loc": "205:24-205:25" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "205:25-205:25" + }, + { + "token": "NEWLINE", + "loc": "205:25-205:26" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "206:3-206:10" + }, + { + "token": "LPAREN", + "loc": "206:10-206:11" + }, + { + "token": "TRY_QUESTION", + "loc": "206:11-206:15" + }, + { + "token": [ + "LIDENT", + "test_suffix" + ], + "loc": "206:16-206:27" + }, + { + "token": "LPAREN", + "loc": "206:27-206:28" + }, + { + "token": "RPAREN", + "loc": "206:28-206:29" + }, + { + "token": "RPAREN", + "loc": "206:29-206:30" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "206:30-206:30" + }, + { + "token": "NEWLINE", + "loc": "206:30-206:31" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "207:3-207:10" + }, + { + "token": "LPAREN", + "loc": "207:10-207:11" + }, + { + "token": [ + "STRING", + "test_suffix_bytes" + ], + "loc": "207:11-207:30" + }, + { + "token": "RPAREN", + "loc": "207:30-207:31" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "207:31-207:31" + }, + { + "token": "NEWLINE", + "loc": "207:31-207:32" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "208:3-208:10" + }, + { + "token": "LPAREN", + "loc": "208:10-208:11" + }, + { + "token": "TRY_QUESTION", + "loc": "208:11-208:15" + }, + { + "token": [ + "LIDENT", + "test_suffix_bytes" + ], + "loc": "208:16-208:33" + }, + { + "token": "LPAREN", + "loc": "208:33-208:34" + }, + { + "token": "RPAREN", + "loc": "208:34-208:35" + }, + { + "token": "RPAREN", + "loc": "208:35-208:36" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "208:36-208:36" + }, + { + "token": "NEWLINE", + "loc": "208:36-208:37" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "209:3-209:10" + }, + { + "token": "LPAREN", + "loc": "209:10-209:11" + }, + { + "token": [ + "STRING", + "test_search" + ], + "loc": "209:11-209:24" + }, + { + "token": "RPAREN", + "loc": "209:24-209:25" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "209:25-209:25" + }, + { + "token": "NEWLINE", + "loc": "209:25-209:26" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "210:3-210:10" + }, + { + "token": "LPAREN", + "loc": "210:10-210:11" + }, + { + "token": "TRY_QUESTION", + "loc": "210:11-210:15" + }, + { + "token": [ + "LIDENT", + "test_search" + ], + "loc": "210:16-210:27" + }, + { + "token": "LPAREN", + "loc": "210:27-210:28" + }, + { + "token": "RPAREN", + "loc": "210:28-210:29" + }, + { + "token": "RPAREN", + "loc": "210:29-210:30" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "210:30-210:30" + }, + { + "token": "NEWLINE", + "loc": "210:30-210:31" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "211:3-211:10" + }, + { + "token": "LPAREN", + "loc": "211:10-211:11" + }, + { + "token": [ + "STRING", + "test_search_bytes" + ], + "loc": "211:11-211:30" + }, + { + "token": "RPAREN", + "loc": "211:30-211:31" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "211:31-211:31" + }, + { + "token": "NEWLINE", + "loc": "211:31-211:32" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "212:3-212:10" + }, + { + "token": "LPAREN", + "loc": "212:10-212:11" + }, + { + "token": "TRY_QUESTION", + "loc": "212:11-212:15" + }, + { + "token": [ + "LIDENT", + "test_search_bytes" + ], + "loc": "212:16-212:33" + }, + { + "token": "LPAREN", + "loc": "212:33-212:34" + }, + { + "token": "RPAREN", + "loc": "212:34-212:35" + }, + { + "token": "RPAREN", + "loc": "212:35-212:36" + }, + { + "token": "NEWLINE", + "loc": "212:36-212:37" + }, + { + "token": "RBRACE", + "loc": "213:1-213:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "213:2-213:2" + }, + { + "token": "NEWLINE", + "loc": "213:2-213:3" + }, + { + "token": "EOF", + "loc": "214:1-214:1" + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.json b/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.json index 0c34fc66..319d6286 100644 --- a/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.json +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.json @@ -4380,7 +4380,468 @@ "kind": "Binder", "loc": null, "children": { - "name": "init" + "name": "test_emoji" + } + }, + "has_error": null, + "is_async": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [] + }, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::DefaultErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Lexmatch", + "loc": null, + "children": { + "strategy": null, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "😋😋" + } + } + } + }, + "cases": { + "kind": "Expr::Lexmatch::CaseList", + "loc": null, + "children": [ + { + "kind": "LexCase", + "loc": null, + "children": { + "pat": { + "kind": "LexCase::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Sequence", + "loc": null, + "children": { + "pats": { + "kind": "LexPattern::Sequence::PatternList", + "loc": null, + "children": [ + { + "kind": "LexPattern::Alias", + "loc": null, + "children": { + "pat": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "." + } + }, + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "u" + } + } + } + }, + { + "kind": "LexPattern::Alias", + "loc": null, + "children": { + "pat": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "." + } + }, + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "v" + } + } + } + } + ] + } + } + } + } + } + ] + }, + "guard": null, + "body": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_eq" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "u" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Char", + "loc": null, + "children": { + "value": "😋" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "assert_eq" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "v" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Char", + "loc": null, + "children": { + "value": "😋" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + } + } + }, + { + "kind": "LexCase", + "loc": null, + "children": { + "pat": { + "kind": "LexCase::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Wildcard", + "loc": null, + "children": {} + } + ] + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "fail" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "mismatch" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + } + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "main" } }, "has_error": null, @@ -4864,6 +5325,79 @@ "children": {} } } + }, + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Literal", + "loc": null, + "children": { + "repr": "test_simple_assertions: " + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "try? test_simple_assertions()" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } } ] }, @@ -4910,14 +5444,14 @@ "kind": "InterpElem::Literal", "loc": null, "children": { - "repr": "test_simple_assertions: " + "repr": "testemoji:" } }, { "kind": "InterpElem::Source", "loc": null, "children": { - "source": "try? test_simple_assertions()" + "source": "try? test_emoji()" } } ] diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt b/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt index 0173c841..f0753a28 100644 --- a/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt @@ -85,7 +85,17 @@ fn test_simple_assertions() -> Unit raise { } ///| -fn init { +fn test_emoji() -> Unit raise { + lexmatch "😋😋" { + (("." as u) ("." as v)) => { + assert_eq(u, '😋') + assert_eq(v, '😋') + } + _ => fail("mismatch") + } +} +///| +fn main { println("test_firstmatch: \{try? test_firstmatch()}") println("test_search: \{try? test_search()}") println("test_multicases_firstmatch: \{try? test_multicases_firstmatch()}") @@ -93,4 +103,6 @@ fn init { println("test_quantifier: \{try? test_quantifier()}") println("test_non_greedy_quantifier: \{try? test_non_greedy_quantifier()}") println("test_simple_assertions: \{try? test_simple_assertions()}") + // non bmp lexmatch + println("testemoji:\{try? test_emoji()}") } diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt.tokens.json index 8c371516..1e6ac411 100644 --- a/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_first.mbt.tokens.json @@ -2696,259 +2696,620 @@ { "token": [ "LIDENT", - "init" + "test_emoji" ], - "loc": "88:4-88:8" + "loc": "88:4-88:14" + }, + { + "token": "LPAREN", + "loc": "88:14-88:15" + }, + { + "token": "RPAREN", + "loc": "88:15-88:16" + }, + { + "token": "THIN_ARROW", + "loc": "88:17-88:19" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "88:20-88:24" + }, + { + "token": "RAISE", + "loc": "88:25-88:30" }, { "token": "LBRACE", - "loc": "88:9-88:10" + "loc": "88:31-88:32" }, { "token": "NEWLINE", - "loc": "88:10-88:11" + "loc": "88:32-88:33" + }, + { + "token": "LEXMATCH", + "loc": "89:3-89:11" + }, + { + "token": [ + "STRING", + "😋😋" + ], + "loc": "89:12-89:16" + }, + { + "token": "LBRACE", + "loc": "89:17-89:18" + }, + { + "token": "NEWLINE", + "loc": "89:18-89:19" + }, + { + "token": "LPAREN", + "loc": "90:5-90:6" + }, + { + "token": "LPAREN", + "loc": "90:6-90:7" + }, + { + "token": [ + "STRING", + "." + ], + "loc": "90:7-90:10" + }, + { + "token": "AS", + "loc": "90:11-90:13" + }, + { + "token": [ + "LIDENT", + "u" + ], + "loc": "90:14-90:15" + }, + { + "token": "RPAREN", + "loc": "90:15-90:16" + }, + { + "token": "LPAREN", + "loc": "90:17-90:18" + }, + { + "token": [ + "STRING", + "." + ], + "loc": "90:18-90:21" + }, + { + "token": "AS", + "loc": "90:22-90:24" + }, + { + "token": [ + "LIDENT", + "v" + ], + "loc": "90:25-90:26" + }, + { + "token": "RPAREN", + "loc": "90:26-90:27" + }, + { + "token": "RPAREN", + "loc": "90:27-90:28" + }, + { + "token": "FAT_ARROW", + "loc": "90:29-90:31" + }, + { + "token": "LBRACE", + "loc": "90:32-90:33" + }, + { + "token": "NEWLINE", + "loc": "90:33-90:34" + }, + { + "token": [ + "LIDENT", + "assert_eq" + ], + "loc": "91:7-91:16" + }, + { + "token": "LPAREN", + "loc": "91:16-91:17" + }, + { + "token": [ + "LIDENT", + "u" + ], + "loc": "91:17-91:18" + }, + { + "token": "COMMA", + "loc": "91:18-91:19" + }, + { + "token": [ + "CHAR", + "😋" + ], + "loc": "91:20-91:23" + }, + { + "token": "RPAREN", + "loc": "91:23-91:24" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "91:24-91:24" + }, + { + "token": "NEWLINE", + "loc": "91:24-91:25" + }, + { + "token": [ + "LIDENT", + "assert_eq" + ], + "loc": "92:7-92:16" + }, + { + "token": "LPAREN", + "loc": "92:16-92:17" + }, + { + "token": [ + "LIDENT", + "v" + ], + "loc": "92:17-92:18" + }, + { + "token": "COMMA", + "loc": "92:18-92:19" + }, + { + "token": [ + "CHAR", + "😋" + ], + "loc": "92:20-92:23" + }, + { + "token": "RPAREN", + "loc": "92:23-92:24" + }, + { + "token": "NEWLINE", + "loc": "92:24-92:25" + }, + { + "token": "RBRACE", + "loc": "93:5-93:6" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "93:6-93:6" + }, + { + "token": "NEWLINE", + "loc": "93:6-93:7" + }, + { + "token": "UNDERSCORE", + "loc": "94:5-94:6" + }, + { + "token": "FAT_ARROW", + "loc": "94:7-94:9" + }, + { + "token": [ + "LIDENT", + "fail" + ], + "loc": "94:10-94:14" + }, + { + "token": "LPAREN", + "loc": "94:14-94:15" + }, + { + "token": [ + "STRING", + "mismatch" + ], + "loc": "94:15-94:25" + }, + { + "token": "RPAREN", + "loc": "94:25-94:26" + }, + { + "token": "NEWLINE", + "loc": "94:26-94:27" + }, + { + "token": "RBRACE", + "loc": "95:3-95:4" + }, + { + "token": "NEWLINE", + "loc": "95:4-95:5" + }, + { + "token": "RBRACE", + "loc": "96:1-96:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "96:2-96:2" + }, + { + "token": "NEWLINE", + "loc": "96:2-96:3" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": false, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "97:1-97:5" + }, + { + "token": "NEWLINE", + "loc": "97:5-97:6" + }, + { + "token": "FN", + "loc": "98:1-98:3" + }, + { + "token": [ + "LIDENT", + "main" + ], + "loc": "98:4-98:8" + }, + { + "token": "LBRACE", + "loc": "98:9-98:10" + }, + { + "token": "NEWLINE", + "loc": "98:10-98:11" }, { "token": [ "LIDENT", "println" ], - "loc": "89:3-89:10" + "loc": "99:3-99:10" }, { "token": "LPAREN", - "loc": "89:10-89:11" + "loc": "99:10-99:11" }, { "token": [ "INTERP", "\"test_firstmatch: \\{try? test_firstmatch()}\"" ], - "loc": "89:11-89:55" + "loc": "99:11-99:55" }, { "token": "RPAREN", - "loc": "89:55-89:56" + "loc": "99:55-99:56" }, { "token": [ "SEMI", false ], - "loc": "89:56-89:56" + "loc": "99:56-99:56" }, { "token": "NEWLINE", - "loc": "89:56-89:57" + "loc": "99:56-99:57" }, { "token": [ "LIDENT", "println" ], - "loc": "90:3-90:10" + "loc": "100:3-100:10" }, { "token": "LPAREN", - "loc": "90:10-90:11" + "loc": "100:10-100:11" }, { "token": [ "INTERP", "\"test_search: \\{try? test_search()}\"" ], - "loc": "90:11-90:47" + "loc": "100:11-100:47" }, { "token": "RPAREN", - "loc": "90:47-90:48" + "loc": "100:47-100:48" }, { "token": [ "SEMI", false ], - "loc": "90:48-90:48" + "loc": "100:48-100:48" }, { "token": "NEWLINE", - "loc": "90:48-90:49" + "loc": "100:48-100:49" }, { "token": [ "LIDENT", "println" ], - "loc": "91:3-91:10" + "loc": "101:3-101:10" }, { "token": "LPAREN", - "loc": "91:10-91:11" + "loc": "101:10-101:11" }, { "token": [ "INTERP", "\"test_multicases_firstmatch: \\{try? test_multicases_firstmatch()}\"" ], - "loc": "91:11-91:77" + "loc": "101:11-101:77" }, { "token": "RPAREN", - "loc": "91:77-91:78" + "loc": "101:77-101:78" }, { "token": [ "SEMI", false ], - "loc": "91:78-91:78" + "loc": "101:78-101:78" }, { "token": "NEWLINE", - "loc": "91:78-91:79" + "loc": "101:78-101:79" }, { "token": [ "LIDENT", "println" ], - "loc": "92:3-92:10" + "loc": "102:3-102:10" }, { "token": "LPAREN", - "loc": "92:10-92:11" + "loc": "102:10-102:11" }, { "token": [ "INTERP", "\"test_nested_captures: \\{try? test_nested_captures()}\"" ], - "loc": "92:11-92:65" + "loc": "102:11-102:65" }, { "token": "RPAREN", - "loc": "92:65-92:66" + "loc": "102:65-102:66" }, { "token": [ "SEMI", false ], - "loc": "92:66-92:66" + "loc": "102:66-102:66" }, { "token": "NEWLINE", - "loc": "92:66-92:67" + "loc": "102:66-102:67" }, { "token": [ "LIDENT", "println" ], - "loc": "93:3-93:10" + "loc": "103:3-103:10" }, { "token": "LPAREN", - "loc": "93:10-93:11" + "loc": "103:10-103:11" }, { "token": [ "INTERP", "\"test_quantifier: \\{try? test_quantifier()}\"" ], - "loc": "93:11-93:55" + "loc": "103:11-103:55" }, { "token": "RPAREN", - "loc": "93:55-93:56" + "loc": "103:55-103:56" }, { "token": [ "SEMI", false ], - "loc": "93:56-93:56" + "loc": "103:56-103:56" }, { "token": "NEWLINE", - "loc": "93:56-93:57" + "loc": "103:56-103:57" }, { "token": [ "LIDENT", "println" ], - "loc": "94:3-94:10" + "loc": "104:3-104:10" }, { "token": "LPAREN", - "loc": "94:10-94:11" + "loc": "104:10-104:11" }, { "token": [ "INTERP", "\"test_non_greedy_quantifier: \\{try? test_non_greedy_quantifier()}\"" ], - "loc": "94:11-94:77" + "loc": "104:11-104:77" }, { "token": "RPAREN", - "loc": "94:77-94:78" + "loc": "104:77-104:78" }, { "token": [ "SEMI", false ], - "loc": "94:78-94:78" + "loc": "104:78-104:78" }, { "token": "NEWLINE", - "loc": "94:78-94:79" + "loc": "104:78-104:79" }, { "token": [ "LIDENT", "println" ], - "loc": "95:3-95:10" + "loc": "105:3-105:10" }, { "token": "LPAREN", - "loc": "95:10-95:11" + "loc": "105:10-105:11" }, { "token": [ "INTERP", "\"test_simple_assertions: \\{try? test_simple_assertions()}\"" ], - "loc": "95:11-95:69" + "loc": "105:11-105:69" }, { "token": "RPAREN", - "loc": "95:69-95:70" + "loc": "105:69-105:70" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "105:70-105:70" }, { "token": "NEWLINE", - "loc": "95:70-95:71" + "loc": "105:70-105:71" + }, + { + "token": [ + "COMMENT", + { + "content": "// non bmp lexmatch", + "kind": [ + "Ownline", + { + "leading_blank_line": false, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "106:3-106:22" + }, + { + "token": "NEWLINE", + "loc": "106:22-106:23" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "107:3-107:10" + }, + { + "token": "LPAREN", + "loc": "107:10-107:11" + }, + { + "token": [ + "INTERP", + "\"testemoji:\\{try? test_emoji()}\"" + ], + "loc": "107:11-107:43" + }, + { + "token": "RPAREN", + "loc": "107:43-107:44" + }, + { + "token": "NEWLINE", + "loc": "107:46-107:47" }, { "token": "RBRACE", - "loc": "96:1-96:2" + "loc": "108:1-108:2" }, { "token": [ "SEMI", false ], - "loc": "96:2-96:2" + "loc": "108:2-108:2" }, { "token": "NEWLINE", - "loc": "96:2-96:3" + "loc": "108:2-108:3" }, { "token": "EOF", - "loc": "97:1-97:1" + "loc": "109:1-109:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.json b/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.json new file mode 100644 index 00000000..020e2d1f --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.json @@ -0,0 +1,280 @@ +[ + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "main" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "h" + } + } + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "hello" + } + } + } + }, + "body": { + "kind": "Expr::Lexmatch", + "loc": null, + "children": { + "strategy": null, + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "h" + } + } + } + } + } + }, + "cases": { + "kind": "Expr::Lexmatch::CaseList", + "loc": null, + "children": [ + { + "kind": "LexCase", + "loc": null, + "children": { + "pat": { + "kind": "LexCase::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Pattern", + "loc": null, + "children": { + "value": { + "kind": "LexPattern::Regex", + "loc": null, + "children": { + "lit": "he" + } + } + } + }, + { + "kind": "LexTopPattern::Binder", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + } + ] + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "x" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + }, + { + "kind": "LexCase", + "loc": null, + "children": { + "pat": { + "kind": "LexCase::PatternList", + "loc": null, + "children": [ + { + "kind": "LexTopPattern::Wildcard", + "loc": null, + "children": {} + } + ] + }, + "guard": null, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "panic" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + ] + } + } + } + } + } + } + } + } + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.mbt b/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.mbt new file mode 100644 index 00000000..901791e7 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.mbt @@ -0,0 +1,7 @@ +fn main { + let h = "hello" + lexmatch h { + ("he", x) => println(x ) + _ => panic() + } +} \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.mbt.tokens.json new file mode 100644 index 00000000..1dc90a56 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_lexmatch_no_regex.mbt.tokens.json @@ -0,0 +1,179 @@ +[ + { + "token": "FN", + "loc": "1:1-1:3" + }, + { + "token": [ + "LIDENT", + "main" + ], + "loc": "1:4-1:8" + }, + { + "token": "LBRACE", + "loc": "1:9-1:10" + }, + { + "token": "NEWLINE", + "loc": "1:10-1:11" + }, + { + "token": "LET", + "loc": "2:3-2:6" + }, + { + "token": [ + "LIDENT", + "h" + ], + "loc": "2:7-2:8" + }, + { + "token": "EQUAL", + "loc": "2:9-2:10" + }, + { + "token": [ + "STRING", + "hello" + ], + "loc": "2:11-2:18" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "2:18-2:18" + }, + { + "token": "NEWLINE", + "loc": "2:18-2:19" + }, + { + "token": "LEXMATCH", + "loc": "3:3-3:11" + }, + { + "token": [ + "LIDENT", + "h" + ], + "loc": "3:12-3:13" + }, + { + "token": "LBRACE", + "loc": "3:14-3:15" + }, + { + "token": "NEWLINE", + "loc": "3:15-3:16" + }, + { + "token": "LPAREN", + "loc": "4:5-4:6" + }, + { + "token": [ + "STRING", + "he" + ], + "loc": "4:6-4:10" + }, + { + "token": "COMMA", + "loc": "4:10-4:11" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "4:12-4:13" + }, + { + "token": "RPAREN", + "loc": "4:13-4:14" + }, + { + "token": "FAT_ARROW", + "loc": "4:15-4:17" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "4:18-4:25" + }, + { + "token": "LPAREN", + "loc": "4:25-4:26" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "4:26-4:27" + }, + { + "token": "RPAREN", + "loc": "4:28-4:29" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "4:29-4:29" + }, + { + "token": "NEWLINE", + "loc": "4:29-4:30" + }, + { + "token": "UNDERSCORE", + "loc": "5:5-5:6" + }, + { + "token": "FAT_ARROW", + "loc": "5:7-5:9" + }, + { + "token": [ + "LIDENT", + "panic" + ], + "loc": "5:10-5:15" + }, + { + "token": "LPAREN", + "loc": "5:15-5:16" + }, + { + "token": "RPAREN", + "loc": "5:16-5:17" + }, + { + "token": "NEWLINE", + "loc": "5:17-5:18" + }, + { + "token": "RBRACE", + "loc": "6:3-6:4" + }, + { + "token": "NEWLINE", + "loc": "6:4-6:5" + }, + { + "token": "RBRACE", + "loc": "7:1-7:2" + }, + { + "token": "EOF", + "loc": "7:2-7:2" + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/parse_test_range_pattern.json b/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.json similarity index 50% rename from test/sync_test/__snapshot__/parse_test_range_pattern.json rename to test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.json index df398721..95e6eb4a 100644 --- a/test/sync_test/__snapshot__/parse_test_range_pattern.json +++ b/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.json @@ -1,84 +1,4 @@ [ - { - "kind": "Impl::TopLetDef", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "C1" - } - }, - "ty": null, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_constant": true, - "is_declare": false, - "attrs": { - "kind": "Impl::TopLetDef::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - { - "kind": "Impl::TopLetDef", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "C2" - } - }, - "ty": null, - "expr": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "42" - } - } - } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_constant": true, - "is_declare": false, - "attrs": { - "kind": "Impl::TopLetDef::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, { "kind": "Impl::TopFuncDef", "loc": null, @@ -92,83 +12,18 @@ "kind": "Binder", "loc": null, "children": { - "name": "i" + "name": "init" } }, "has_error": null, "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, + "decl_params": null, "quantifiers": { "kind": "FunDecl::QuantifierList", "loc": null, "children": [] }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, + "return_type": null, "error_type": { "kind": "ErrorType::NoErrorType", "loc": null, @@ -194,476 +49,363 @@ "local_types": { "kind": "DeclBody::DeclBody::LocalTypeList", "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Match", - "loc": null, - "children": { - "expr": { - "kind": "Expr::Ident", + "children": [ + { + "kind": "LocalTypeDecl", "loc": null, "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "cases": { - "kind": "Expr::Match::CaseList", - "loc": null, - "children": [ - { - "kind": "Case", + "tycon": "S", + "components": { + "kind": "TypeDesc::TupleStruct", "loc": null, "children": { - "pattern": { - "kind": "Pattern::Range", + "value": { + "kind": "TypeDesc::TupleStruct::TypeList", "loc": null, - "children": { - "lhs": { - "kind": "Pattern::Constr", + "children": [ + { + "kind": "Type::Name", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "constr_id": { + "kind": "ConstrId", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "id": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "C1" + "value": "Int" } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } }, - "args": null, - "is_open": false + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } } }, - "rhs": { - "kind": "Pattern::Constr", + { + "kind": "Type::Name", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "constr_id": { + "kind": "ConstrId", "loc": null, "children": { - "name": { - "kind": "ConstrName", + "id": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "C2" + "value": "String" } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} } } }, - "args": null, - "is_open": false + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + } + } + }, + "deriving": { + "kind": "LocalTypeDecl::DerivingList", + "loc": null, + "children": [] + } + } + } + ] + }, + "expr": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "s" + } + } + } + }, + "expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Constr", + "loc": null, + "children": { + "constr": { + "kind": "Constructor", + "loc": null, + "children": { + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "S" } }, - "kind": { - "kind": "RangeKind::Inclusive", + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", "loc": null, "children": {} } } - }, - "guard": null, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } } } }, - { - "kind": "Case", + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Range", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "lhs": { - "kind": "Pattern::Constant", + "value": { + "kind": "Expr::Constant", "loc": null, "children": { "constant": { "kind": "Constant::Int", "loc": null, "children": { - "value": "100" + "value": "4" } } } }, - "rhs": { - "kind": "Pattern::Constant", + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", "loc": null, "children": { "constant": { - "kind": "Constant::Int", + "kind": "Constant::String", "loc": null, "children": { - "value": "200" + "value": "2" } } } }, "kind": { - "kind": "RangeKind::Exclusive", + "kind": "ArgumentKind::Positional", "loc": null, "children": {} } } - }, - "guard": null, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } } - } + ] }, - { - "kind": "Case", + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Constr", "loc": null, "children": { - "pattern": { - "kind": "Pattern::Range", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "lhs": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "rhs": { - "kind": "Pattern::Constant", + "name": { + "kind": "ConstrName", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", - "loc": null, - "children": { - "value": "0" - } - } + "name": "S" } }, - "kind": { - "kind": "RangeKind::Exclusive", + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", "loc": null, "children": {} } } }, - "guard": null, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } - } - } - }, - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Range", + "args": { + "kind": "Pattern::Constr::ArgList", "loc": null, - "children": { - "lhs": { - "kind": "Pattern::Constant", + "children": [ + { + "kind": "ConstrPatArg", "loc": null, "children": { - "constant": { - "kind": "Constant::Int", + "pat": { + "kind": "Pattern::Var", "loc": null, "children": { - "value": "0" + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } } }, - "rhs": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "kind": { - "kind": "RangeKind::Exclusive", + { + "kind": "ConstrPatArg", "loc": null, - "children": {} + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } } - } + ] }, - "guard": null, - "body": { - "kind": "Expr::Unit", + "is_open": false + } + }, + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "faked": false + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "s" + } + } } } } }, - { - "kind": "Case", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "pattern": { - "kind": "Pattern::Range", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "lhs": { - "kind": "Pattern::Var", + "id": { + "kind": "Var", "loc": null, "children": { - "value": { - "kind": "Binder", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": "x" + "value": "println" } } } - }, - "rhs": { - "kind": "Pattern::Constr", + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "value": { + "kind": "Expr::Interp", "loc": null, "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "Some" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - }, - "args": { - "kind": "Pattern::Constr::ArgList", - "loc": null, - "children": [ - { - "kind": "ConstrPatArg", + "elems": { + "kind": "Expr::Interp::ElemList", "loc": null, - "children": { - "pat": { - "kind": "Pattern::Any", + "children": [ + { + "kind": "InterpElem::Source", "loc": null, - "children": {} + "children": { + "source": "x" + } }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "is_open": false - } - }, - "kind": { - "kind": "RangeKind::Exclusive", - "loc": null, - "children": {} - } - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::String", + { + "kind": "InterpElem::Source", "loc": null, "children": { - "value": "invalid operand" + "source": "y" } } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} + ] } } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - }, - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Range", - "loc": null, - "children": { - "lhs": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "rhs": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "kind": { - "kind": "RangeKind::Inclusive", - "loc": null, - "children": {} - } - } - }, - "guard": null, - "body": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", + }, + "kind": { + "kind": "ArgumentKind::Positional", "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } - } + "children": {} } } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Constant", - "loc": null, - "children": { - "constant": { - "kind": "Constant::String", - "loc": null, - "children": { - "value": "inclusive no upper bound" - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } } - ] + } } } } @@ -684,83 +426,18 @@ "kind": "Binder", "loc": null, "children": { - "name": "c" + "name": "init" } }, "has_error": null, "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Char" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, + "decl_params": null, "quantifiers": { "kind": "FunDecl::QuantifierList", "loc": null, "children": [] }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Unit" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, + "return_type": null, "error_type": { "kind": "ErrorType::NoErrorType", "loc": null, @@ -786,157 +463,376 @@ "local_types": { "kind": "DeclBody::DeclBody::LocalTypeList", "loc": null, - "children": [] + "children": [ + { + "kind": "LocalTypeDecl", + "loc": null, + "children": { + "tycon": "S", + "components": { + "kind": "TypeDesc::TupleStruct", + "loc": null, + "children": { + "value": { + "kind": "TypeDesc::TupleStruct::TypeList", + "loc": null, + "children": [ + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "String" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + ] + } + } + }, + "deriving": { + "kind": "LocalTypeDecl::DerivingList", + "loc": null, + "children": [] + } + } + } + ] }, "expr": { - "kind": "Expr::Match", + "kind": "Expr::Let", "loc": null, "children": { - "expr": { - "kind": "Expr::Ident", + "pattern": { + "kind": "Pattern::Var", "loc": null, "children": { - "id": { - "kind": "Var", + "value": { + "kind": "Binder", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "c" - } - } + "name": "s" } } } }, - "cases": { - "kind": "Expr::Match::CaseList", + "expr": { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Case", + "children": { + "func": { + "kind": "Expr::Constr", "loc": null, "children": { - "pattern": { - "kind": "Pattern::Range", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "lhs": { - "kind": "Pattern::Constant", + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "S" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", "loc": null, "children": { "constant": { - "kind": "Constant::Char", + "kind": "Constant::Int", "loc": null, "children": { - "value": "a" + "value": "4" } } } }, - "rhs": { - "kind": "Pattern::Constant", + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", "loc": null, "children": { "constant": { - "kind": "Constant::Char", + "kind": "Constant::String", "loc": null, "children": { - "value": "z" + "value": "2" } } } }, "kind": { - "kind": "RangeKind::Inclusive", + "kind": "ArgumentKind::Positional", "loc": null, "children": {} } } - }, - "guard": null, - "body": { - "kind": "Expr::Unit", + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "body": { + "kind": "Expr::Match", + "loc": null, + "children": { + "expr": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "faked": false + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "s" + } + } } } } }, - { - "kind": "Case", + "cases": { + "kind": "Expr::Match::CaseList", "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Range", + "children": [ + { + "kind": "Case", "loc": null, "children": { - "lhs": { - "kind": "Pattern::Constant", + "pattern": { + "kind": "Pattern::Constr", "loc": null, "children": { - "constant": { - "kind": "Constant::Char", + "constr": { + "kind": "Constructor", "loc": null, "children": { - "value": "A" + "name": { + "kind": "ConstrName", + "loc": null, + "children": { + "name": "S" + } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} + } } - } + }, + "args": { + "kind": "Pattern::Constr::ArgList", + "loc": null, + "children": [ + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "x" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + }, + { + "kind": "ConstrPatArg", + "loc": null, + "children": { + "pat": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "y" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "is_open": false } }, - "rhs": { - "kind": "Pattern::Constant", + "guard": null, + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "constant": { - "kind": "Constant::Char", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": "Z" + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } + } + } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Interp", + "loc": null, + "children": { + "elems": { + "kind": "Expr::Interp::ElemList", + "loc": null, + "children": [ + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "x" + } + }, + { + "kind": "InterpElem::Source", + "loc": null, + "children": { + "source": "y" + } + } + ] + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } - }, - "kind": { - "kind": "RangeKind::Inclusive", - "loc": null, - "children": {} } } - }, - "guard": null, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } } - } - }, - { - "kind": "Case", - "loc": null, - "children": { - "pattern": { - "kind": "Pattern::Any", - "loc": null, - "children": {} - }, - "guard": null, - "body": { - "kind": "Expr::Unit", - "loc": null, - "children": { - "faked": false - } - } - } + ] } - ] + } } } } diff --git a/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.mbt b/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.mbt new file mode 100644 index 00000000..e52dc294 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.mbt @@ -0,0 +1,16 @@ +///| +fn init { + struct S(Int, String) + let s = S(4, "2") + let S(x, y) = s + println("\{x}\{y}") +} + +///| +fn init { + struct S(Int, String) + let s = S(4, "2") + match s { + S(x, y) => println("\{x}\{y}") + } +} diff --git a/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.mbt.tokens.json new file mode 100644 index 00000000..b9823e84 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_local_tuple_struct.mbt.tokens.json @@ -0,0 +1,509 @@ +[ + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": false, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "1:1-1:5" + }, + { + "token": "NEWLINE", + "loc": "1:5-1:6" + }, + { + "token": "FN", + "loc": "2:1-2:3" + }, + { + "token": [ + "LIDENT", + "init" + ], + "loc": "2:4-2:8" + }, + { + "token": "LBRACE", + "loc": "2:9-2:10" + }, + { + "token": "NEWLINE", + "loc": "2:10-2:11" + }, + { + "token": "STRUCT", + "loc": "3:3-3:9" + }, + { + "token": [ + "UIDENT", + "S" + ], + "loc": "3:10-3:11" + }, + { + "token": "LPAREN", + "loc": "3:11-3:12" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "3:12-3:15" + }, + { + "token": "COMMA", + "loc": "3:15-3:16" + }, + { + "token": [ + "UIDENT", + "String" + ], + "loc": "3:17-3:23" + }, + { + "token": "RPAREN", + "loc": "3:23-3:24" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "3:24-3:24" + }, + { + "token": "NEWLINE", + "loc": "3:24-3:25" + }, + { + "token": "LET", + "loc": "4:3-4:6" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "4:7-4:8" + }, + { + "token": "EQUAL", + "loc": "4:9-4:10" + }, + { + "token": [ + "UIDENT", + "S" + ], + "loc": "4:11-4:12" + }, + { + "token": "LPAREN", + "loc": "4:12-4:13" + }, + { + "token": [ + "INT", + "4" + ], + "loc": "4:13-4:14" + }, + { + "token": "COMMA", + "loc": "4:14-4:15" + }, + { + "token": [ + "STRING", + "2" + ], + "loc": "4:16-4:19" + }, + { + "token": "RPAREN", + "loc": "4:19-4:20" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "4:20-4:20" + }, + { + "token": "NEWLINE", + "loc": "4:20-4:21" + }, + { + "token": "LET", + "loc": "5:3-5:6" + }, + { + "token": [ + "UIDENT", + "S" + ], + "loc": "5:7-5:8" + }, + { + "token": "LPAREN", + "loc": "5:8-5:9" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "5:9-5:10" + }, + { + "token": "COMMA", + "loc": "5:10-5:11" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "5:12-5:13" + }, + { + "token": "RPAREN", + "loc": "5:13-5:14" + }, + { + "token": "EQUAL", + "loc": "5:15-5:16" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "5:17-5:18" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "5:18-5:18" + }, + { + "token": "NEWLINE", + "loc": "5:19-5:20" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "6:3-6:10" + }, + { + "token": "LPAREN", + "loc": "6:10-6:11" + }, + { + "token": [ + "INTERP", + "\"\\{x}\\{y}\"" + ], + "loc": "6:11-6:21" + }, + { + "token": "RPAREN", + "loc": "6:21-6:22" + }, + { + "token": "NEWLINE", + "loc": "6:22-6:23" + }, + { + "token": "RBRACE", + "loc": "7:1-7:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "7:2-7:2" + }, + { + "token": "NEWLINE", + "loc": "7:2-7:3" + }, + { + "token": "NEWLINE", + "loc": "8:1-8:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "9:1-9:5" + }, + { + "token": "NEWLINE", + "loc": "9:5-9:6" + }, + { + "token": "FN", + "loc": "10:1-10:3" + }, + { + "token": [ + "LIDENT", + "init" + ], + "loc": "10:4-10:8" + }, + { + "token": "LBRACE", + "loc": "10:9-10:10" + }, + { + "token": "NEWLINE", + "loc": "10:10-10:11" + }, + { + "token": "STRUCT", + "loc": "11:3-11:9" + }, + { + "token": [ + "UIDENT", + "S" + ], + "loc": "11:10-11:11" + }, + { + "token": "LPAREN", + "loc": "11:11-11:12" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "11:12-11:15" + }, + { + "token": "COMMA", + "loc": "11:15-11:16" + }, + { + "token": [ + "UIDENT", + "String" + ], + "loc": "11:17-11:23" + }, + { + "token": "RPAREN", + "loc": "11:23-11:24" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "11:24-11:24" + }, + { + "token": "NEWLINE", + "loc": "11:24-11:25" + }, + { + "token": "LET", + "loc": "12:3-12:6" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "12:7-12:8" + }, + { + "token": "EQUAL", + "loc": "12:9-12:10" + }, + { + "token": [ + "UIDENT", + "S" + ], + "loc": "12:11-12:12" + }, + { + "token": "LPAREN", + "loc": "12:12-12:13" + }, + { + "token": [ + "INT", + "4" + ], + "loc": "12:13-12:14" + }, + { + "token": "COMMA", + "loc": "12:14-12:15" + }, + { + "token": [ + "STRING", + "2" + ], + "loc": "12:16-12:19" + }, + { + "token": "RPAREN", + "loc": "12:19-12:20" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "12:20-12:20" + }, + { + "token": "NEWLINE", + "loc": "12:20-12:21" + }, + { + "token": "MATCH", + "loc": "13:3-13:8" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "13:9-13:10" + }, + { + "token": "LBRACE", + "loc": "13:11-13:12" + }, + { + "token": "NEWLINE", + "loc": "13:12-13:13" + }, + { + "token": [ + "UIDENT", + "S" + ], + "loc": "14:5-14:6" + }, + { + "token": "LPAREN", + "loc": "14:6-14:7" + }, + { + "token": [ + "LIDENT", + "x" + ], + "loc": "14:7-14:8" + }, + { + "token": "COMMA", + "loc": "14:8-14:9" + }, + { + "token": [ + "LIDENT", + "y" + ], + "loc": "14:10-14:11" + }, + { + "token": "RPAREN", + "loc": "14:11-14:12" + }, + { + "token": "FAT_ARROW", + "loc": "14:13-14:15" + }, + { + "token": [ + "LIDENT", + "println" + ], + "loc": "14:16-14:23" + }, + { + "token": "LPAREN", + "loc": "14:23-14:24" + }, + { + "token": [ + "INTERP", + "\"\\{x}\\{y}\"" + ], + "loc": "14:24-14:34" + }, + { + "token": "RPAREN", + "loc": "14:34-14:35" + }, + { + "token": "NEWLINE", + "loc": "14:35-14:36" + }, + { + "token": "RBRACE", + "loc": "15:3-15:4" + }, + { + "token": "NEWLINE", + "loc": "15:4-15:5" + }, + { + "token": "RBRACE", + "loc": "16:1-16:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "16:2-16:2" + }, + { + "token": "NEWLINE", + "loc": "16:2-16:3" + }, + { + "token": "EOF", + "loc": "17:1-17:1" + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.json b/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.json new file mode 100644 index 00000000..cf93cb74 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.json @@ -0,0 +1,1208 @@ +[ + { + "kind": "Impl::TopTypeDef", + "loc": null, + "children": { + "value": { + "kind": "TypeDecl", + "loc": null, + "children": { + "tycon": "S", + "params": { + "kind": "TypeDecl::ParamList", + "loc": null, + "children": [] + }, + "components": { + "kind": "TypeDesc::Record", + "loc": null, + "children": { + "value": { + "kind": "TypeDesc::Record::FieldList", + "loc": null, + "children": [ + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "a" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "b" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "c" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "d" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "e" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "f" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + { + "kind": "FieldDecl", + "loc": null, + "children": { + "name": { + "kind": "FieldName", + "loc": null, + "children": { + "label": "g" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "mut": false, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FieldDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + } + ] + } + } + }, + "attrs": { + "kind": "TypeDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "", + "type_vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "is_declare": false, + "deriving": { + "kind": "TypeDecl::DerivingList", + "loc": null, + "children": [ + { + "kind": "DerivingDirective", + "loc": null, + "children": { + "type_name": { + "kind": "TypeName", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Show" + } + }, + "is_object": false + } + }, + "args": { + "kind": "DerivingDirective::ArgList", + "loc": null, + "children": [] + } + } + } + ] + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "main" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::LetFn", + "loc": null, + "children": { + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "f" + } + }, + "func": { + "kind": "Func::Lambda", + "loc": null, + "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "a" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Int" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "s" + } + } + } + }, + "expr": { + "kind": "Expr::Record", + "loc": null, + "children": { + "type_name": null, + "fields": { + "kind": "Expr::Record::FieldList", + "loc": null, + "children": [ + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "a" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "is_pun": false + } + }, + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "b" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "is_pun": false + } + }, + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "c" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "is_pun": false + } + }, + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "d" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "is_pun": false + } + }, + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "e" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "is_pun": false + } + }, + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "f" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "is_pun": false + } + }, + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "g" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "42" + } + } + } + }, + "is_pun": false + } + } + ] + }, + "trailing": { + "kind": "Trailing::None", + "loc": null, + "children": {} + } + } + }, + "body": { + "kind": "Expr::Let", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Var", + "loc": null, + "children": { + "value": { + "kind": "Binder", + "loc": null, + "children": { + "name": "s1" + } + } + } + }, + "expr": { + "kind": "Expr::RecordUpdate", + "loc": null, + "children": { + "type_name": null, + "record": { + "kind": "Expr::Group", + "loc": null, + "children": { + "expr": { + "kind": "Expr::If", + "loc": null, + "children": { + "cond": { + "kind": "Expr::Infix", + "loc": null, + "children": { + "op": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": ">" + } + } + } + }, + "lhs": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "a" + } + } + } + } + } + }, + "rhs": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "0" + } + } + } + } + } + }, + "ifso": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "s" + } + } + } + } + } + }, + "ifnot": { + "kind": "Expr::Return", + "loc": null, + "children": { + "return_value": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "group": { + "kind": "Group::Paren", + "loc": null, + "children": {} + } + } + }, + "fields": { + "kind": "Expr::RecordUpdate::FieldList", + "loc": null, + "children": [ + { + "kind": "FieldDef", + "loc": null, + "children": { + "label": { + "kind": "Label", + "loc": null, + "children": { + "name": "a" + } + }, + "expr": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "43" + } + } + } + }, + "is_pun": false + } + } + ] + } + } + }, + "body": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "ignore" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "s1" + } + } + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + }, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "kind": { + "kind": "FnKind::Lambda", + "loc": null, + "children": {} + }, + "has_error": null, + "is_async": null + } + }, + "body": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", + "loc": null, + "children": { + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "f" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Int", + "loc": null, + "children": { + "value": "1" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + } + } + } + } + } + } + } + } + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.mbt b/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.mbt new file mode 100644 index 00000000..0fecf61f --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.mbt @@ -0,0 +1,21 @@ +///| +struct S { + a : Int + b : Int + c : Int + d : Int + e : Int + f : Int + g : Int +} derive(Show) + +///| +fn main { + fn f(a : Int) -> Unit { + let s = { a: 42, b: 42, c: 42, d: 42, e: 42, f: 42, g: 42 } + let s1 = { ..(if a > 0 { s } else { return f(1) }), a: 43 } + ignore(s1) + } + f(1) + f(1) +} diff --git a/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.mbt.tokens.json new file mode 100644 index 00000000..9bf7bde9 --- /dev/null +++ b/test/sync_test/__snapshot__/pipeline_test_loopify_corner_case.mbt.tokens.json @@ -0,0 +1,821 @@ +[ + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": false, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "1:1-1:5" + }, + { + "token": "NEWLINE", + "loc": "1:5-1:6" + }, + { + "token": "STRUCT", + "loc": "2:1-2:7" + }, + { + "token": [ + "UIDENT", + "S" + ], + "loc": "2:8-2:9" + }, + { + "token": "LBRACE", + "loc": "2:10-2:11" + }, + { + "token": "NEWLINE", + "loc": "2:11-2:12" + }, + { + "token": [ + "LIDENT", + "a" + ], + "loc": "3:3-3:4" + }, + { + "token": "COLON", + "loc": "3:5-3:6" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "3:7-3:10" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "3:10-3:10" + }, + { + "token": "NEWLINE", + "loc": "3:10-3:11" + }, + { + "token": [ + "LIDENT", + "b" + ], + "loc": "4:3-4:4" + }, + { + "token": "COLON", + "loc": "4:5-4:6" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "4:7-4:10" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "4:10-4:10" + }, + { + "token": "NEWLINE", + "loc": "4:10-4:11" + }, + { + "token": [ + "LIDENT", + "c" + ], + "loc": "5:3-5:4" + }, + { + "token": "COLON", + "loc": "5:5-5:6" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "5:7-5:10" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "5:10-5:10" + }, + { + "token": "NEWLINE", + "loc": "5:10-5:11" + }, + { + "token": [ + "LIDENT", + "d" + ], + "loc": "6:3-6:4" + }, + { + "token": "COLON", + "loc": "6:5-6:6" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "6:7-6:10" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "6:10-6:10" + }, + { + "token": "NEWLINE", + "loc": "6:10-6:11" + }, + { + "token": [ + "LIDENT", + "e" + ], + "loc": "7:3-7:4" + }, + { + "token": "COLON", + "loc": "7:5-7:6" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "7:7-7:10" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "7:10-7:10" + }, + { + "token": "NEWLINE", + "loc": "7:10-7:11" + }, + { + "token": [ + "LIDENT", + "f" + ], + "loc": "8:3-8:4" + }, + { + "token": "COLON", + "loc": "8:5-8:6" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "8:7-8:10" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "8:10-8:10" + }, + { + "token": "NEWLINE", + "loc": "8:10-8:11" + }, + { + "token": [ + "LIDENT", + "g" + ], + "loc": "9:3-9:4" + }, + { + "token": "COLON", + "loc": "9:5-9:6" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "9:7-9:10" + }, + { + "token": "NEWLINE", + "loc": "9:10-9:11" + }, + { + "token": "RBRACE", + "loc": "10:1-10:2" + }, + { + "token": "DERIVE", + "loc": "10:3-10:9" + }, + { + "token": "LPAREN", + "loc": "10:9-10:10" + }, + { + "token": [ + "UIDENT", + "Show" + ], + "loc": "10:10-10:14" + }, + { + "token": "RPAREN", + "loc": "10:14-10:15" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "10:15-10:15" + }, + { + "token": "NEWLINE", + "loc": "10:15-10:16" + }, + { + "token": "NEWLINE", + "loc": "11:1-11:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, + "trailing_blank_line": false + } + ], + "consumed_by_docstring": false + } + ], + "loc": "12:1-12:5" + }, + { + "token": "NEWLINE", + "loc": "12:5-12:6" + }, + { + "token": "FN", + "loc": "13:1-13:3" + }, + { + "token": [ + "LIDENT", + "main" + ], + "loc": "13:4-13:8" + }, + { + "token": "LBRACE", + "loc": "13:9-13:10" + }, + { + "token": "NEWLINE", + "loc": "13:10-13:11" + }, + { + "token": "FN", + "loc": "14:3-14:5" + }, + { + "token": [ + "LIDENT", + "f" + ], + "loc": "14:6-14:7" + }, + { + "token": "LPAREN", + "loc": "14:7-14:8" + }, + { + "token": [ + "LIDENT", + "a" + ], + "loc": "14:8-14:9" + }, + { + "token": "COLON", + "loc": "14:10-14:11" + }, + { + "token": [ + "UIDENT", + "Int" + ], + "loc": "14:12-14:15" + }, + { + "token": "RPAREN", + "loc": "14:15-14:16" + }, + { + "token": "THIN_ARROW", + "loc": "14:17-14:19" + }, + { + "token": [ + "UIDENT", + "Unit" + ], + "loc": "14:20-14:24" + }, + { + "token": "LBRACE", + "loc": "14:25-14:26" + }, + { + "token": "NEWLINE", + "loc": "14:26-14:27" + }, + { + "token": "LET", + "loc": "15:5-15:8" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "15:9-15:10" + }, + { + "token": "EQUAL", + "loc": "15:11-15:12" + }, + { + "token": "LBRACE", + "loc": "15:13-15:14" + }, + { + "token": [ + "LIDENT", + "a" + ], + "loc": "15:15-15:16" + }, + { + "token": "COLON", + "loc": "15:16-15:17" + }, + { + "token": [ + "INT", + "42" + ], + "loc": "15:18-15:20" + }, + { + "token": "COMMA", + "loc": "15:20-15:21" + }, + { + "token": [ + "LIDENT", + "b" + ], + "loc": "15:22-15:23" + }, + { + "token": "COLON", + "loc": "15:23-15:24" + }, + { + "token": [ + "INT", + "42" + ], + "loc": "15:25-15:27" + }, + { + "token": "COMMA", + "loc": "15:27-15:28" + }, + { + "token": [ + "LIDENT", + "c" + ], + "loc": "15:29-15:30" + }, + { + "token": "COLON", + "loc": "15:30-15:31" + }, + { + "token": [ + "INT", + "42" + ], + "loc": "15:32-15:34" + }, + { + "token": "COMMA", + "loc": "15:34-15:35" + }, + { + "token": [ + "LIDENT", + "d" + ], + "loc": "15:36-15:37" + }, + { + "token": "COLON", + "loc": "15:37-15:38" + }, + { + "token": [ + "INT", + "42" + ], + "loc": "15:39-15:41" + }, + { + "token": "COMMA", + "loc": "15:41-15:42" + }, + { + "token": [ + "LIDENT", + "e" + ], + "loc": "15:43-15:44" + }, + { + "token": "COLON", + "loc": "15:44-15:45" + }, + { + "token": [ + "INT", + "42" + ], + "loc": "15:46-15:48" + }, + { + "token": "COMMA", + "loc": "15:48-15:49" + }, + { + "token": [ + "LIDENT", + "f" + ], + "loc": "15:50-15:51" + }, + { + "token": "COLON", + "loc": "15:51-15:52" + }, + { + "token": [ + "INT", + "42" + ], + "loc": "15:53-15:55" + }, + { + "token": "COMMA", + "loc": "15:55-15:56" + }, + { + "token": [ + "LIDENT", + "g" + ], + "loc": "15:57-15:58" + }, + { + "token": "COLON", + "loc": "15:58-15:59" + }, + { + "token": [ + "INT", + "42" + ], + "loc": "15:60-15:62" + }, + { + "token": "RBRACE", + "loc": "15:63-15:64" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "15:64-15:64" + }, + { + "token": "NEWLINE", + "loc": "15:64-15:65" + }, + { + "token": "LET", + "loc": "16:5-16:8" + }, + { + "token": [ + "LIDENT", + "s1" + ], + "loc": "16:9-16:11" + }, + { + "token": "EQUAL", + "loc": "16:12-16:13" + }, + { + "token": "LBRACE", + "loc": "16:14-16:15" + }, + { + "token": "DOTDOT", + "loc": "16:16-16:18" + }, + { + "token": "LPAREN", + "loc": "16:18-16:19" + }, + { + "token": "IF", + "loc": "16:19-16:21" + }, + { + "token": [ + "LIDENT", + "a" + ], + "loc": "16:22-16:23" + }, + { + "token": [ + "INFIX1", + ">" + ], + "loc": "16:24-16:25" + }, + { + "token": [ + "INT", + "0" + ], + "loc": "16:26-16:27" + }, + { + "token": "LBRACE", + "loc": "16:28-16:29" + }, + { + "token": [ + "LIDENT", + "s" + ], + "loc": "16:30-16:31" + }, + { + "token": "RBRACE", + "loc": "16:32-16:33" + }, + { + "token": "ELSE", + "loc": "16:34-16:38" + }, + { + "token": "LBRACE", + "loc": "16:39-16:40" + }, + { + "token": "RETURN", + "loc": "16:41-16:47" + }, + { + "token": [ + "LIDENT", + "f" + ], + "loc": "16:48-16:49" + }, + { + "token": "LPAREN", + "loc": "16:49-16:50" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "16:50-16:51" + }, + { + "token": "RPAREN", + "loc": "16:51-16:52" + }, + { + "token": "RBRACE", + "loc": "16:53-16:54" + }, + { + "token": "RPAREN", + "loc": "16:54-16:55" + }, + { + "token": "COMMA", + "loc": "16:55-16:56" + }, + { + "token": [ + "LIDENT", + "a" + ], + "loc": "16:57-16:58" + }, + { + "token": "COLON", + "loc": "16:58-16:59" + }, + { + "token": [ + "INT", + "43" + ], + "loc": "16:60-16:62" + }, + { + "token": "RBRACE", + "loc": "16:63-16:64" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "16:64-16:64" + }, + { + "token": "NEWLINE", + "loc": "16:64-16:65" + }, + { + "token": [ + "LIDENT", + "ignore" + ], + "loc": "17:5-17:11" + }, + { + "token": "LPAREN", + "loc": "17:11-17:12" + }, + { + "token": [ + "LIDENT", + "s1" + ], + "loc": "17:12-17:14" + }, + { + "token": "RPAREN", + "loc": "17:14-17:15" + }, + { + "token": "NEWLINE", + "loc": "17:15-17:16" + }, + { + "token": "RBRACE", + "loc": "18:3-18:4" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "18:4-18:4" + }, + { + "token": "NEWLINE", + "loc": "18:4-18:5" + }, + { + "token": [ + "LIDENT", + "f" + ], + "loc": "19:3-19:4" + }, + { + "token": "LPAREN", + "loc": "19:4-19:5" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "19:5-19:6" + }, + { + "token": "RPAREN", + "loc": "19:6-19:7" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "19:7-19:7" + }, + { + "token": "NEWLINE", + "loc": "19:7-19:8" + }, + { + "token": [ + "LIDENT", + "f" + ], + "loc": "20:3-20:4" + }, + { + "token": "LPAREN", + "loc": "20:4-20:5" + }, + { + "token": [ + "INT", + "1" + ], + "loc": "20:5-20:6" + }, + { + "token": "RPAREN", + "loc": "20:6-20:7" + }, + { + "token": "NEWLINE", + "loc": "20:7-20:8" + }, + { + "token": "RBRACE", + "loc": "21:1-21:2" + }, + { + "token": [ + "SEMI", + false + ], + "loc": "21:2-21:2" + }, + { + "token": "NEWLINE", + "loc": "21:2-21:3" + }, + { + "token": "EOF", + "loc": "22:1-22:1" + } +] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_method_on_object.json b/test/sync_test/__snapshot__/pipeline_test_method_on_object.json index 0f91389a..143afae1 100644 --- a/test/sync_test/__snapshot__/pipeline_test_method_on_object.json +++ b/test/sync_test/__snapshot__/pipeline_test_method_on_object.json @@ -1831,7 +1831,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, @@ -2238,7 +2238,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, diff --git a/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt b/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt index 78c37aa5..fc46d86f 100644 --- a/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt @@ -27,7 +27,7 @@ impl[X : Loggable, Y : Loggable] Loggable for (X, Y) with log(self, logger) { ..write_obj(self.0) ..write_string(", ") ..write_obj(self.1) - ..write_string(")") + .write_string(")") } fn init { @@ -35,7 +35,7 @@ fn init { (buf as &Logger) ..write_string("=== start logging ===\n") ..write_obj_ln(42) - ..write_obj_ln((1, (2, (3, 4)))) + .write_obj_ln((1, (2, (3, 4)))) &Logger::write_obj_ln(buf, 0) &Logger::write_string(buf, "=== end logging ===") println(buf.to_string()) diff --git a/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt.tokens.json index 8652a6d9..67ab4b47 100644 --- a/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_method_on_object.mbt.tokens.json @@ -1089,35 +1089,31 @@ "token": "NEWLINE", "loc": "29:22-29:23" }, - { - "token": "DOTDOT", - "loc": "30:3-30:5" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "write_string" ], - "loc": "30:5-30:17" + "loc": "30:4-30:16" }, { "token": "LPAREN", - "loc": "30:17-30:18" + "loc": "30:16-30:17" }, { "token": [ "STRING", ")" ], - "loc": "30:18-30:21" + "loc": "30:17-30:20" }, { "token": "RPAREN", - "loc": "30:21-30:22" + "loc": "30:20-30:21" }, { "token": "NEWLINE", - "loc": "30:22-30:23" + "loc": "30:21-30:22" }, { "token": "RBRACE", @@ -1303,71 +1299,71 @@ "token": "NEWLINE", "loc": "37:21-37:22" }, - { - "token": "DOTDOT", - "loc": "38:3-38:5" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "write_obj_ln" ], - "loc": "38:5-38:17" + "loc": "38:4-38:16" }, { "token": "LPAREN", - "loc": "38:17-38:18" + "loc": "38:16-38:17" }, { "token": "LPAREN", - "loc": "38:18-38:19" + "loc": "38:17-38:18" }, { "token": [ "INT", "1" ], - "loc": "38:19-38:20" + "loc": "38:18-38:19" }, { "token": "COMMA", - "loc": "38:20-38:21" + "loc": "38:19-38:20" }, { "token": "LPAREN", - "loc": "38:22-38:23" + "loc": "38:21-38:22" }, { "token": [ "INT", "2" ], - "loc": "38:23-38:24" + "loc": "38:22-38:23" }, { "token": "COMMA", - "loc": "38:24-38:25" + "loc": "38:23-38:24" }, { "token": "LPAREN", - "loc": "38:26-38:27" + "loc": "38:25-38:26" }, { "token": [ "INT", "3" ], - "loc": "38:27-38:28" + "loc": "38:26-38:27" }, { "token": "COMMA", - "loc": "38:28-38:29" + "loc": "38:27-38:28" }, { "token": [ "INT", "4" ], + "loc": "38:29-38:30" + }, + { + "token": "RPAREN", "loc": "38:30-38:31" }, { @@ -1382,20 +1378,16 @@ "token": "RPAREN", "loc": "38:33-38:34" }, - { - "token": "RPAREN", - "loc": "38:34-38:35" - }, { "token": [ "SEMI", false ], - "loc": "38:35-38:35" + "loc": "38:34-38:34" }, { "token": "NEWLINE", - "loc": "38:35-38:36" + "loc": "38:34-38:35" }, { "token": "AMPER", diff --git a/test/sync_test/__snapshot__/pipeline_test_method_on_object2.json b/test/sync_test/__snapshot__/pipeline_test_method_on_object2.json index 943ace4f..dac810b4 100644 --- a/test/sync_test/__snapshot__/pipeline_test_method_on_object2.json +++ b/test/sync_test/__snapshot__/pipeline_test_method_on_object2.json @@ -943,7 +943,7 @@ "loc": null, "children": [] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, diff --git a/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt b/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt index c668b7e3..9cb283ff 100644 --- a/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt @@ -19,7 +19,7 @@ fn &Obj::default() -> &Obj { fn init { println("==== dot syntax ====") let obj = &Obj::default() - obj..f()..g() + obj..f().g() println("==== qualified call ====") &Obj::f(obj) &Obj::g(obj) diff --git a/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt.tokens.json index 22dc6beb..bc3181a6 100644 --- a/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_method_on_object2.mbt.tokens.json @@ -616,35 +616,31 @@ "token": "RPAREN", "loc": "22:10-22:11" }, - { - "token": "DOTDOT", - "loc": "22:11-22:13" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "g" ], - "loc": "22:13-22:14" + "loc": "22:12-22:13" }, { "token": "LPAREN", - "loc": "22:14-22:15" + "loc": "22:13-22:14" }, { "token": "RPAREN", - "loc": "22:15-22:16" + "loc": "22:14-22:15" }, { "token": [ "SEMI", false ], - "loc": "22:16-22:16" + "loc": "22:15-22:15" }, { "token": "NEWLINE", - "loc": "22:16-22:17" + "loc": "22:15-22:16" }, { "token": [ diff --git a/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.json b/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.json index e3bbb8b8..a2e38419 100644 --- a/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.json +++ b/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.json @@ -868,148 +868,159 @@ "children": [] }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::Group", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "expr": { + "kind": "Expr::Sequence", "loc": null, - "children": [ - { - "kind": "Expr::If", + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", "loc": null, - "children": { - "cond": { - "kind": "Expr::Field", + "children": [ + { + "kind": "Expr::If", "loc": null, "children": { - "record": { - "kind": "Expr::Ident", + "cond": { + "kind": "Expr::Field", "loc": null, "children": { - "id": { - "kind": "Var", + "record": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "flag" + } + } + } + } + } + }, + "accessor": { + "kind": "Accessor::Label", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "value": { + "kind": "Label", "loc": null, "children": { - "value": "flag" + "name": "val" } } } } } }, - "accessor": { - "kind": "Accessor::Label", + "ifso": { + "kind": "Expr::Return", "loc": null, "children": { - "value": { - "kind": "Label", - "loc": null, - "children": { - "name": "val" - } - } + "return_value": null } - } - } - }, - "ifso": { - "kind": "Expr::Return", - "loc": null, - "children": { - "return_value": null + }, + "ifnot": null } - }, - "ifnot": null - } - } - ] - }, - "last_expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", + } + ] + }, + "last_expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "println" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "println" + } + } } } } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + }, + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "value": { - "kind": "Expr::Apply", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "value": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "answer" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "answer" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", + "kind": { + "kind": "ArgumentKind::Positional", "loc": null, "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } - } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} } } }, @@ -1020,7 +1031,7 @@ "children": {} }, "kind": { - "kind": "FnKind::Lambda", + "kind": "FnKind::Arrow", "loc": null, "children": {} }, diff --git a/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt b/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt index 530d2a72..a296ef18 100644 --- a/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt @@ -11,7 +11,7 @@ async fn answer() -> Int noraise { let flag : Ref[Bool] = Ref::new(true) fn main { - run_async(fn() { + run_async(() => { if flag.val { // the `return` here should be delimited by `run_async` return diff --git a/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt.tokens.json index eae539f0..34c449f8 100644 --- a/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_non_tail_run_async.mbt.tokens.json @@ -473,25 +473,25 @@ "token": "LPAREN", "loc": "14:12-14:13" }, - { - "token": "FN", - "loc": "14:13-14:15" - }, { "token": "LPAREN", - "loc": "14:15-14:16" + "loc": "14:13-14:14" }, { "token": "RPAREN", - "loc": "14:16-14:17" + "loc": "14:14-14:15" + }, + { + "token": "FAT_ARROW", + "loc": "14:16-14:18" }, { "token": "LBRACE", - "loc": "14:18-14:19" + "loc": "14:19-14:20" }, { "token": "NEWLINE", - "loc": "14:19-14:20" + "loc": "14:20-14:21" }, { "token": "IF", diff --git a/test/sync_test/__snapshot__/pipeline_test_noraise.json b/test/sync_test/__snapshot__/pipeline_test_noraise.json index 740a6c8b..e3ac4308 100644 --- a/test/sync_test/__snapshot__/pipeline_test_noraise.json +++ b/test/sync_test/__snapshot__/pipeline_test_noraise.json @@ -500,7 +500,15 @@ "attrs": { "kind": "FunDecl::AttrList", "loc": null, - "children": [] + "children": [ + { + "kind": "Attribute", + "loc": null, + "children": { + "raw": "#warnings(\"-unused_async\") " + } + } + ] }, "doc": "" } diff --git a/test/sync_test/__snapshot__/pipeline_test_noraise.mbt b/test/sync_test/__snapshot__/pipeline_test_noraise.mbt index f4ef551c..ca0e8361 100644 --- a/test/sync_test/__snapshot__/pipeline_test_noraise.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_noraise.mbt @@ -6,6 +6,7 @@ fn ff(a : async () -> Int raise) -> Unit { } ///| +#warnings("-unused_async") fn main { ff(async fn() noraise { 42 }) } diff --git a/test/sync_test/__snapshot__/pipeline_test_noraise.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_noraise.mbt.tokens.json index 8ab751f4..aa23faea 100644 --- a/test/sync_test/__snapshot__/pipeline_test_noraise.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_noraise.mbt.tokens.json @@ -295,96 +295,111 @@ "token": "NEWLINE", "loc": "8:5-8:6" }, + { + "token": [ + "ATTRIBUTE", + { + "id": "warnings", + "dot_id": "", + "raw_payload": "(\"-unused_async\") " + } + ], + "loc": "9:1-9:28" + }, + { + "token": "NEWLINE", + "loc": "9:28-9:29" + }, { "token": "FN", - "loc": "9:1-9:3" + "loc": "10:1-10:3" }, { "token": [ "LIDENT", "main" ], - "loc": "9:4-9:8" + "loc": "10:4-10:8" }, { "token": "LBRACE", - "loc": "9:9-9:10" + "loc": "10:9-10:10" }, { "token": "NEWLINE", - "loc": "9:10-9:11" + "loc": "10:10-10:11" }, { "token": [ "LIDENT", "ff" ], - "loc": "10:3-10:5" + "loc": "11:3-11:5" }, { "token": "LPAREN", - "loc": "10:5-10:6" + "loc": "11:5-11:6" }, { "token": "ASYNC", - "loc": "10:6-10:11" + "loc": "11:6-11:11" }, { "token": "FN", - "loc": "10:12-10:14" + "loc": "11:12-11:14" }, { "token": "LPAREN", - "loc": "10:14-10:15" + "loc": "11:14-11:15" }, { "token": "RPAREN", - "loc": "10:15-10:16" + "loc": "11:15-11:16" }, { "token": "NORAISE", - "loc": "10:17-10:24" + "loc": "11:17-11:24" }, { "token": "LBRACE", - "loc": "10:25-10:26" + "loc": "11:25-11:26" }, { "token": [ "INT", "42" ], - "loc": "10:27-10:29" + "loc": "11:27-11:29" }, { "token": "RBRACE", - "loc": "10:30-10:31" + "loc": "11:30-11:31" }, { "token": "RPAREN", - "loc": "10:31-10:32" + "loc": "11:31-11:32" }, { "token": "NEWLINE", - "loc": "10:32-10:33" + "loc": "11:32-11:33" }, { "token": "RBRACE", - "loc": "11:1-11:2" + "loc": "12:1-12:2" }, { "token": [ "SEMI", false ], - "loc": "11:2-11:2" + "loc": "12:2-12:2" }, { "token": "NEWLINE", - "loc": "11:2-11:3" + "loc": "12:2-12:3" }, { "token": "EOF", - "loc": "12:1-12:1" + "loc": "13:1-13:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt b/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt index 60a63de9..525af4e0 100644 --- a/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt @@ -1,3 +1,5 @@ +//!build: -w -27 + ///| fn f(a : Int, b : Bool, c : String, d : Double) -> Int { println("f(\{a}, \{b}, \{c}, \{d})") diff --git a/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt.tokens.json index 48964c0e..3ff3dc45 100644 --- a/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_partial_application.mbt.tokens.json @@ -3,207 +3,232 @@ "token": [ "COMMENT", { - "content": "///|", + "content": "//!build: -w -27", "kind": [ "Ownline", { "leading_blank_line": false, + "trailing_blank_line": true + } + ], + "consumed_by_docstring": false + } + ], + "loc": "1:1-1:17" + }, + { + "token": "NEWLINE", + "loc": "1:17-1:18" + }, + { + "token": "NEWLINE", + "loc": "2:1-2:2" + }, + { + "token": [ + "COMMENT", + { + "content": "///|", + "kind": [ + "Ownline", + { + "leading_blank_line": true, "trailing_blank_line": false } ], "consumed_by_docstring": false } ], - "loc": "1:1-1:5" + "loc": "3:1-3:5" }, { "token": "NEWLINE", - "loc": "1:5-1:6" + "loc": "3:5-3:6" }, { "token": "FN", - "loc": "2:1-2:3" + "loc": "4:1-4:3" }, { "token": [ "LIDENT", "f" ], - "loc": "2:4-2:5" + "loc": "4:4-4:5" }, { "token": "LPAREN", - "loc": "2:5-2:6" + "loc": "4:5-4:6" }, { "token": [ "LIDENT", "a" ], - "loc": "2:6-2:7" + "loc": "4:6-4:7" }, { "token": "COLON", - "loc": "2:8-2:9" + "loc": "4:8-4:9" }, { "token": [ "UIDENT", "Int" ], - "loc": "2:10-2:13" + "loc": "4:10-4:13" }, { "token": "COMMA", - "loc": "2:13-2:14" + "loc": "4:13-4:14" }, { "token": [ "LIDENT", "b" ], - "loc": "2:15-2:16" + "loc": "4:15-4:16" }, { "token": "COLON", - "loc": "2:17-2:18" + "loc": "4:17-4:18" }, { "token": [ "UIDENT", "Bool" ], - "loc": "2:19-2:23" + "loc": "4:19-4:23" }, { "token": "COMMA", - "loc": "2:23-2:24" + "loc": "4:23-4:24" }, { "token": [ "LIDENT", "c" ], - "loc": "2:25-2:26" + "loc": "4:25-4:26" }, { "token": "COLON", - "loc": "2:27-2:28" + "loc": "4:27-4:28" }, { "token": [ "UIDENT", "String" ], - "loc": "2:29-2:35" + "loc": "4:29-4:35" }, { "token": "COMMA", - "loc": "2:35-2:36" + "loc": "4:35-4:36" }, { "token": [ "LIDENT", "d" ], - "loc": "2:37-2:38" + "loc": "4:37-4:38" }, { "token": "COLON", - "loc": "2:39-2:40" + "loc": "4:39-4:40" }, { "token": [ "UIDENT", "Double" ], - "loc": "2:41-2:47" + "loc": "4:41-4:47" }, { "token": "RPAREN", - "loc": "2:47-2:48" + "loc": "4:47-4:48" }, { "token": "THIN_ARROW", - "loc": "2:49-2:51" + "loc": "4:49-4:51" }, { "token": [ "UIDENT", "Int" ], - "loc": "2:52-2:55" + "loc": "4:52-4:55" }, { "token": "LBRACE", - "loc": "2:56-2:57" + "loc": "4:56-4:57" }, { "token": "NEWLINE", - "loc": "2:57-2:58" + "loc": "4:57-4:58" }, { "token": [ "LIDENT", "println" ], - "loc": "3:3-3:10" + "loc": "5:3-5:10" }, { "token": "LPAREN", - "loc": "3:10-3:11" + "loc": "5:10-5:11" }, { "token": [ "INTERP", "\"f(\\{a}, \\{b}, \\{c}, \\{d})\"" ], - "loc": "3:11-3:38" + "loc": "5:11-5:38" }, { "token": "RPAREN", - "loc": "3:38-3:39" + "loc": "5:38-5:39" }, { "token": [ "SEMI", false ], - "loc": "3:39-3:39" + "loc": "5:39-5:39" }, { "token": "NEWLINE", - "loc": "3:39-3:40" + "loc": "5:39-5:40" }, { "token": [ "LIDENT", "a" ], - "loc": "4:3-4:4" + "loc": "6:3-6:4" }, { "token": "NEWLINE", - "loc": "4:4-4:5" + "loc": "6:4-6:5" }, { "token": "RBRACE", - "loc": "5:1-5:2" + "loc": "7:1-7:2" }, { "token": [ "SEMI", false ], - "loc": "5:2-5:2" + "loc": "7:2-7:2" }, { "token": "NEWLINE", - "loc": "5:2-5:3" + "loc": "7:2-7:3" }, { "token": "NEWLINE", - "loc": "6:1-6:2" + "loc": "8:1-8:2" }, { "token": [ @@ -220,264 +245,264 @@ "consumed_by_docstring": false } ], - "loc": "7:1-7:5" + "loc": "9:1-9:5" }, { "token": "NEWLINE", - "loc": "7:5-7:6" + "loc": "9:5-9:6" }, { "token": "FN", - "loc": "8:1-8:3" + "loc": "10:1-10:3" }, { "token": [ "LIDENT", "f_err" ], - "loc": "8:4-8:9" + "loc": "10:4-10:9" }, { "token": "LPAREN", - "loc": "8:9-8:10" + "loc": "10:9-10:10" }, { "token": [ "LIDENT", "a" ], - "loc": "8:10-8:11" + "loc": "10:10-10:11" }, { "token": "COLON", - "loc": "8:12-8:13" + "loc": "10:12-10:13" }, { "token": [ "UIDENT", "Int" ], - "loc": "8:14-8:17" + "loc": "10:14-10:17" }, { "token": "COMMA", - "loc": "8:17-8:18" + "loc": "10:17-10:18" }, { "token": [ "LIDENT", "b" ], - "loc": "8:19-8:20" + "loc": "10:19-10:20" }, { "token": "COLON", - "loc": "8:21-8:22" + "loc": "10:21-10:22" }, { "token": [ "UIDENT", "Bool" ], - "loc": "8:23-8:27" + "loc": "10:23-10:27" }, { "token": "COMMA", - "loc": "8:27-8:28" + "loc": "10:27-10:28" }, { "token": [ "LIDENT", "c" ], - "loc": "8:29-8:30" + "loc": "10:29-10:30" }, { "token": "COLON", - "loc": "8:31-8:32" + "loc": "10:31-10:32" }, { "token": [ "UIDENT", "String" ], - "loc": "8:33-8:39" + "loc": "10:33-10:39" }, { "token": "COMMA", - "loc": "8:39-8:40" + "loc": "10:39-10:40" }, { "token": [ "LIDENT", "d" ], - "loc": "8:41-8:42" + "loc": "10:41-10:42" }, { "token": "COLON", - "loc": "8:43-8:44" + "loc": "10:43-10:44" }, { "token": [ "UIDENT", "Double" ], - "loc": "8:45-8:51" + "loc": "10:45-10:51" }, { "token": "RPAREN", - "loc": "8:51-8:52" + "loc": "10:51-10:52" }, { "token": "THIN_ARROW", - "loc": "8:53-8:55" + "loc": "10:53-10:55" }, { "token": [ "UIDENT", "Int" ], - "loc": "8:56-8:59" + "loc": "10:56-10:59" }, { "token": "RAISE", - "loc": "8:60-8:65" + "loc": "10:60-10:65" }, { "token": [ "UIDENT", "Error" ], - "loc": "8:66-8:71" + "loc": "10:66-10:71" }, { "token": "LBRACE", - "loc": "8:72-8:73" + "loc": "10:72-10:73" }, { "token": "NEWLINE", - "loc": "8:73-8:74" + "loc": "10:73-10:74" }, { "token": [ "LIDENT", "println" ], - "loc": "9:3-9:10" + "loc": "11:3-11:10" }, { "token": "LPAREN", - "loc": "9:10-9:11" + "loc": "11:10-11:11" }, { "token": [ "INTERP", "\"f(\\{a}, \\{b}, \\{c}, \\{d})\"" ], - "loc": "9:11-9:38" + "loc": "11:11-11:38" }, { "token": "RPAREN", - "loc": "9:38-9:39" + "loc": "11:38-11:39" }, { "token": [ "SEMI", false ], - "loc": "9:39-9:39" + "loc": "11:39-11:39" }, { "token": "NEWLINE", - "loc": "9:39-9:40" + "loc": "11:39-11:40" }, { "token": "IF", - "loc": "10:3-10:5" + "loc": "12:3-12:5" }, { "token": "FALSE", - "loc": "10:6-10:11" + "loc": "12:6-12:11" }, { "token": "LBRACE", - "loc": "10:12-10:13" + "loc": "12:12-12:13" }, { "token": "NEWLINE", - "loc": "10:13-10:14" + "loc": "12:13-12:14" }, { "token": [ "LIDENT", "fail" ], - "loc": "11:5-11:9" + "loc": "13:5-13:9" }, { "token": "LPAREN", - "loc": "11:9-11:10" + "loc": "13:9-13:10" }, { "token": [ "STRING", "" ], - "loc": "11:10-11:12" + "loc": "13:10-13:12" }, { "token": "RPAREN", - "loc": "11:12-11:13" + "loc": "13:12-13:13" }, { "token": "NEWLINE", - "loc": "11:13-11:14" + "loc": "13:13-13:14" }, { "token": "RBRACE", - "loc": "12:3-12:4" + "loc": "14:3-14:4" }, { "token": [ "SEMI", false ], - "loc": "12:4-12:4" + "loc": "14:4-14:4" }, { "token": "NEWLINE", - "loc": "12:4-12:5" + "loc": "14:4-14:5" }, { "token": [ "LIDENT", "a" ], - "loc": "13:3-13:4" + "loc": "15:3-15:4" }, { "token": "NEWLINE", - "loc": "13:4-13:5" + "loc": "15:4-15:5" }, { "token": "RBRACE", - "loc": "14:1-14:2" + "loc": "16:1-16:2" }, { "token": [ "SEMI", false ], - "loc": "14:2-14:2" + "loc": "16:2-16:2" }, { "token": "NEWLINE", - "loc": "14:2-14:3" + "loc": "16:2-16:3" }, { "token": "NEWLINE", - "loc": "15:1-15:2" + "loc": "17:1-17:2" }, { "token": [ @@ -494,257 +519,257 @@ "consumed_by_docstring": false } ], - "loc": "16:1-16:5" + "loc": "18:1-18:5" }, { "token": "NEWLINE", - "loc": "16:5-16:6" + "loc": "18:5-18:6" }, { "token": "FN", - "loc": "17:1-17:3" + "loc": "19:1-19:3" }, { "token": [ "LIDENT", "f_async" ], - "loc": "17:4-17:11" + "loc": "19:4-19:11" }, { "token": "LPAREN", - "loc": "17:11-17:12" + "loc": "19:11-19:12" }, { "token": [ "LIDENT", "a" ], - "loc": "17:12-17:13" + "loc": "19:12-19:13" }, { "token": "COLON", - "loc": "17:14-17:15" + "loc": "19:14-19:15" }, { "token": [ "UIDENT", "Int" ], - "loc": "17:16-17:19" + "loc": "19:16-19:19" }, { "token": "COMMA", - "loc": "17:19-17:20" + "loc": "19:19-19:20" }, { "token": [ "LIDENT", "b" ], - "loc": "17:21-17:22" + "loc": "19:21-19:22" }, { "token": "COLON", - "loc": "17:23-17:24" + "loc": "19:23-19:24" }, { "token": [ "UIDENT", "Bool" ], - "loc": "17:25-17:29" + "loc": "19:25-19:29" }, { "token": "COMMA", - "loc": "17:29-17:30" + "loc": "19:29-19:30" }, { "token": [ "LIDENT", "c" ], - "loc": "17:31-17:32" + "loc": "19:31-19:32" }, { "token": "COLON", - "loc": "17:33-17:34" + "loc": "19:33-19:34" }, { "token": [ "UIDENT", "String" ], - "loc": "17:35-17:41" + "loc": "19:35-19:41" }, { "token": "COMMA", - "loc": "17:41-17:42" + "loc": "19:41-19:42" }, { "token": [ "LIDENT", "d" ], - "loc": "17:43-17:44" + "loc": "19:43-19:44" }, { "token": "COLON", - "loc": "17:45-17:46" + "loc": "19:45-19:46" }, { "token": [ "UIDENT", "Double" ], - "loc": "17:47-17:53" + "loc": "19:47-19:53" }, { "token": "RPAREN", - "loc": "17:53-17:54" + "loc": "19:53-19:54" }, { "token": "THIN_ARROW", - "loc": "17:55-17:57" + "loc": "19:55-19:57" }, { "token": [ "UIDENT", "Int" ], - "loc": "17:58-17:61" + "loc": "19:58-19:61" }, { "token": "RAISE", - "loc": "17:62-17:67" + "loc": "19:62-19:67" }, { "token": "LBRACE", - "loc": "17:68-17:69" + "loc": "19:68-19:69" }, { "token": "NEWLINE", - "loc": "17:69-17:70" + "loc": "19:69-19:70" }, { "token": [ "LIDENT", "println" ], - "loc": "18:3-18:10" + "loc": "20:3-20:10" }, { "token": "LPAREN", - "loc": "18:10-18:11" + "loc": "20:10-20:11" }, { "token": [ "INTERP", "\"f(\\{a}, \\{b}, \\{c}, \\{d})\"" ], - "loc": "18:11-18:38" + "loc": "20:11-20:38" }, { "token": "RPAREN", - "loc": "18:38-18:39" + "loc": "20:38-20:39" }, { "token": [ "SEMI", false ], - "loc": "18:39-18:39" + "loc": "20:39-20:39" }, { "token": "NEWLINE", - "loc": "18:39-18:40" + "loc": "20:39-20:40" }, { "token": "IF", - "loc": "19:3-19:5" + "loc": "21:3-21:5" }, { "token": "FALSE", - "loc": "19:6-19:11" + "loc": "21:6-21:11" }, { "token": "LBRACE", - "loc": "19:12-19:13" + "loc": "21:12-21:13" }, { "token": "NEWLINE", - "loc": "19:13-19:14" + "loc": "21:13-21:14" }, { "token": [ "LIDENT", "fail" ], - "loc": "20:5-20:9" + "loc": "22:5-22:9" }, { "token": "LPAREN", - "loc": "20:9-20:10" + "loc": "22:9-22:10" }, { "token": [ "STRING", "" ], - "loc": "20:10-20:12" + "loc": "22:10-22:12" }, { "token": "RPAREN", - "loc": "20:12-20:13" + "loc": "22:12-22:13" }, { "token": "NEWLINE", - "loc": "20:13-20:14" + "loc": "22:13-22:14" }, { "token": "RBRACE", - "loc": "21:3-21:4" + "loc": "23:3-23:4" }, { "token": [ "SEMI", false ], - "loc": "21:4-21:4" + "loc": "23:4-23:4" }, { "token": "NEWLINE", - "loc": "21:4-21:5" + "loc": "23:4-23:5" }, { "token": [ "LIDENT", "a" ], - "loc": "22:3-22:4" + "loc": "24:3-24:4" }, { "token": "NEWLINE", - "loc": "22:4-22:5" + "loc": "24:4-24:5" }, { "token": "RBRACE", - "loc": "23:1-23:2" + "loc": "25:1-25:2" }, { "token": [ "SEMI", false ], - "loc": "23:2-23:2" + "loc": "25:2-25:2" }, { "token": "NEWLINE", - "loc": "23:2-23:3" + "loc": "25:2-25:3" }, { "token": "NEWLINE", - "loc": "24:1-24:2" + "loc": "26:1-26:2" }, { "token": [ @@ -761,127 +786,127 @@ "consumed_by_docstring": false } ], - "loc": "25:1-25:5" + "loc": "27:1-27:5" }, { "token": "NEWLINE", - "loc": "25:5-25:6" + "loc": "27:5-27:6" }, { "token": "ENUM", - "loc": "26:1-26:5" + "loc": "28:1-28:5" }, { "token": [ "UIDENT", "Foo" ], - "loc": "26:6-26:9" + "loc": "28:6-28:9" }, { "token": "LBRACE", - "loc": "26:10-26:11" + "loc": "28:10-28:11" }, { "token": "NEWLINE", - "loc": "26:11-26:12" + "loc": "28:11-28:12" }, { "token": [ "UIDENT", "C" ], - "loc": "27:3-27:4" + "loc": "29:3-29:4" }, { "token": "LPAREN", - "loc": "27:4-27:5" + "loc": "29:4-29:5" }, { "token": [ "UIDENT", "Int" ], - "loc": "27:5-27:8" + "loc": "29:5-29:8" }, { "token": "COMMA", - "loc": "27:8-27:9" + "loc": "29:8-29:9" }, { "token": [ "UIDENT", "Bool" ], - "loc": "27:10-27:14" + "loc": "29:10-29:14" }, { "token": "COMMA", - "loc": "27:14-27:15" + "loc": "29:14-29:15" }, { "token": [ "UIDENT", "String" ], - "loc": "27:16-27:22" + "loc": "29:16-29:22" }, { "token": "COMMA", - "loc": "27:22-27:23" + "loc": "29:22-29:23" }, { "token": [ "UIDENT", "Double" ], - "loc": "27:24-27:30" + "loc": "29:24-29:30" }, { "token": "RPAREN", - "loc": "27:30-27:31" + "loc": "29:30-29:31" }, { "token": "NEWLINE", - "loc": "27:31-27:32" + "loc": "29:31-29:32" }, { "token": "RBRACE", - "loc": "28:1-28:2" + "loc": "30:1-30:2" }, { "token": "DERIVE", - "loc": "28:3-28:9" + "loc": "30:3-30:9" }, { "token": "LPAREN", - "loc": "28:9-28:10" + "loc": "30:9-30:10" }, { "token": [ "UIDENT", "Show" ], - "loc": "28:10-28:14" + "loc": "30:10-30:14" }, { "token": "RPAREN", - "loc": "28:14-28:15" + "loc": "30:14-30:15" }, { "token": [ "SEMI", false ], - "loc": "28:15-28:15" + "loc": "30:15-30:15" }, { "token": "NEWLINE", - "loc": "28:15-28:16" + "loc": "30:15-30:16" }, { "token": "NEWLINE", - "loc": "29:1-29:2" + "loc": "31:1-31:2" }, { "token": [ @@ -898,104 +923,104 @@ "consumed_by_docstring": false } ], - "loc": "30:1-30:5" + "loc": "32:1-32:5" }, { "token": "NEWLINE", - "loc": "30:5-30:6" + "loc": "32:5-32:6" }, { "token": "LET", - "loc": "31:1-31:4" + "loc": "33:1-33:4" }, { "token": [ "LIDENT", "obj" ], - "loc": "31:5-31:8" + "loc": "33:5-33:8" }, { "token": "COLON", - "loc": "31:9-31:10" + "loc": "33:9-33:10" }, { "token": [ "UIDENT", "Foo" ], - "loc": "31:11-31:14" + "loc": "33:11-33:14" }, { "token": "EQUAL", - "loc": "31:15-31:16" + "loc": "33:15-33:16" }, { "token": [ "UIDENT", "C" ], - "loc": "31:17-31:18" + "loc": "33:17-33:18" }, { "token": "LPAREN", - "loc": "31:18-31:19" + "loc": "33:18-33:19" }, { "token": [ "INT", "1" ], - "loc": "31:19-31:20" + "loc": "33:19-33:20" }, { "token": "COMMA", - "loc": "31:20-31:21" + "loc": "33:20-33:21" }, { "token": "FALSE", - "loc": "31:22-31:27" + "loc": "33:22-33:27" }, { "token": "COMMA", - "loc": "31:27-31:28" + "loc": "33:27-33:28" }, { "token": [ "STRING", "hello" ], - "loc": "31:29-31:36" + "loc": "33:29-33:36" }, { "token": "COMMA", - "loc": "31:36-31:37" + "loc": "33:36-33:37" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "31:38-31:42" + "loc": "33:38-33:42" }, { "token": "RPAREN", - "loc": "31:42-31:43" + "loc": "33:42-33:43" }, { "token": [ "SEMI", false ], - "loc": "31:43-31:43" + "loc": "33:43-33:43" }, { "token": "NEWLINE", - "loc": "31:43-31:44" + "loc": "33:43-33:44" }, { "token": "NEWLINE", - "loc": "32:1-32:2" + "loc": "34:1-34:2" }, { "token": [ @@ -1012,167 +1037,167 @@ "consumed_by_docstring": false } ], - "loc": "33:1-33:5" + "loc": "35:1-35:5" }, { "token": "NEWLINE", - "loc": "33:5-33:6" + "loc": "35:5-35:6" }, { "token": "FN", - "loc": "34:1-34:3" + "loc": "36:1-36:3" }, { "token": [ "UIDENT", "Foo" ], - "loc": "34:4-34:7" + "loc": "36:4-36:7" }, { "token": "COLONCOLON", - "loc": "34:7-34:9" + "loc": "36:7-36:9" }, { "token": [ "LIDENT", "g" ], - "loc": "34:9-34:10" + "loc": "36:9-36:10" }, { "token": "LPAREN", - "loc": "34:10-34:11" + "loc": "36:10-36:11" }, { "token": [ "LIDENT", "self" ], - "loc": "34:11-34:15" + "loc": "36:11-36:15" }, { "token": "COLON", - "loc": "34:16-34:17" + "loc": "36:16-36:17" }, { "token": [ "UIDENT", "Foo" ], - "loc": "34:18-34:21" + "loc": "36:18-36:21" }, { "token": "COMMA", - "loc": "34:21-34:22" + "loc": "36:21-36:22" }, { "token": [ "LIDENT", "b" ], - "loc": "34:23-34:24" + "loc": "36:23-36:24" }, { "token": "COLON", - "loc": "34:25-34:26" + "loc": "36:25-36:26" }, { "token": [ "UIDENT", "Bool" ], - "loc": "34:27-34:31" + "loc": "36:27-36:31" }, { "token": "COMMA", - "loc": "34:31-34:32" + "loc": "36:31-36:32" }, { "token": [ "LIDENT", "c" ], - "loc": "34:33-34:34" + "loc": "36:33-36:34" }, { "token": "COLON", - "loc": "34:35-34:36" + "loc": "36:35-36:36" }, { "token": [ "UIDENT", "String" ], - "loc": "34:37-34:43" + "loc": "36:37-36:43" }, { "token": "RPAREN", - "loc": "34:43-34:44" + "loc": "36:43-36:44" }, { "token": "THIN_ARROW", - "loc": "34:45-34:47" + "loc": "36:45-36:47" }, { "token": [ "UIDENT", "Unit" ], - "loc": "34:48-34:52" + "loc": "36:48-36:52" }, { "token": "LBRACE", - "loc": "34:53-34:54" + "loc": "36:53-36:54" }, { "token": "NEWLINE", - "loc": "34:54-34:55" + "loc": "36:54-36:55" }, { "token": [ "LIDENT", "println" ], - "loc": "35:3-35:10" + "loc": "37:3-37:10" }, { "token": "LPAREN", - "loc": "35:10-35:11" + "loc": "37:10-37:11" }, { "token": [ "INTERP", "\"obj.g(\\{b}, \\{c})\"" ], - "loc": "35:11-35:30" + "loc": "37:11-37:30" }, { "token": "RPAREN", - "loc": "35:30-35:31" + "loc": "37:30-37:31" }, { "token": "NEWLINE", - "loc": "35:31-35:32" + "loc": "37:31-37:32" }, { "token": "RBRACE", - "loc": "36:1-36:2" + "loc": "38:1-38:2" }, { "token": [ "SEMI", false ], - "loc": "36:2-36:2" + "loc": "38:2-38:2" }, { "token": "NEWLINE", - "loc": "36:2-36:3" + "loc": "38:2-38:3" }, { "token": "NEWLINE", - "loc": "37:1-37:2" + "loc": "39:1-39:2" }, { "token": [ @@ -1189,179 +1214,179 @@ "consumed_by_docstring": false } ], - "loc": "38:1-38:5" + "loc": "40:1-40:5" }, { "token": "NEWLINE", - "loc": "38:5-38:6" + "loc": "40:5-40:6" }, { "token": "FN", - "loc": "39:1-39:3" + "loc": "41:1-41:3" }, { "token": "LBRACKET", - "loc": "39:3-39:4" + "loc": "41:3-41:4" }, { "token": [ "UIDENT", "A" ], - "loc": "39:4-39:5" + "loc": "41:4-41:5" }, { "token": "COMMA", - "loc": "39:5-39:6" + "loc": "41:5-41:6" }, { "token": [ "UIDENT", "B" ], - "loc": "39:7-39:8" + "loc": "41:7-41:8" }, { "token": "RBRACKET", - "loc": "39:8-39:9" + "loc": "41:8-41:9" }, { "token": [ "LIDENT", "hof" ], - "loc": "39:10-39:13" + "loc": "41:10-41:13" }, { "token": "LPAREN", - "loc": "39:13-39:14" + "loc": "41:13-41:14" }, { "token": [ "LIDENT", "a" ], - "loc": "39:14-39:15" + "loc": "41:14-41:15" }, { "token": "COLON", - "loc": "39:16-39:17" + "loc": "41:16-41:17" }, { "token": [ "UIDENT", "A" ], - "loc": "39:18-39:19" + "loc": "41:18-41:19" }, { "token": "COMMA", - "loc": "39:19-39:20" + "loc": "41:19-41:20" }, { "token": [ "LIDENT", "f" ], - "loc": "39:21-39:22" + "loc": "41:21-41:22" }, { "token": "COLON", - "loc": "39:23-39:24" + "loc": "41:23-41:24" }, { "token": "LPAREN", - "loc": "39:25-39:26" + "loc": "41:25-41:26" }, { "token": [ "UIDENT", "A" ], - "loc": "39:26-39:27" + "loc": "41:26-41:27" }, { "token": "RPAREN", - "loc": "39:27-39:28" + "loc": "41:27-41:28" }, { "token": "THIN_ARROW", - "loc": "39:29-39:31" + "loc": "41:29-41:31" }, { "token": [ "UIDENT", "B" ], - "loc": "39:32-39:33" + "loc": "41:32-41:33" }, { "token": "RPAREN", - "loc": "39:33-39:34" + "loc": "41:33-41:34" }, { "token": "THIN_ARROW", - "loc": "39:35-39:37" + "loc": "41:35-41:37" }, { "token": [ "UIDENT", "B" ], - "loc": "39:38-39:39" + "loc": "41:38-41:39" }, { "token": "LBRACE", - "loc": "39:40-39:41" + "loc": "41:40-41:41" }, { "token": "NEWLINE", - "loc": "39:41-39:42" + "loc": "41:41-41:42" }, { "token": [ "LIDENT", "f" ], - "loc": "40:3-40:4" + "loc": "42:3-42:4" }, { "token": "LPAREN", - "loc": "40:4-40:5" + "loc": "42:4-42:5" }, { "token": [ "LIDENT", "a" ], - "loc": "40:5-40:6" + "loc": "42:5-42:6" }, { "token": "RPAREN", - "loc": "40:6-40:7" + "loc": "42:6-42:7" }, { "token": "NEWLINE", - "loc": "40:7-40:8" + "loc": "42:7-42:8" }, { "token": "RBRACE", - "loc": "41:1-41:2" + "loc": "43:1-43:2" }, { "token": [ "SEMI", false ], - "loc": "41:2-41:2" + "loc": "43:2-43:2" }, { "token": "NEWLINE", - "loc": "41:2-41:3" + "loc": "43:2-43:3" }, { "token": "NEWLINE", - "loc": "42:1-42:2" + "loc": "44:1-44:2" }, { "token": [ @@ -1378,201 +1403,201 @@ "consumed_by_docstring": false } ], - "loc": "43:1-43:5" + "loc": "45:1-45:5" }, { "token": "NEWLINE", - "loc": "43:5-43:6" + "loc": "45:5-45:6" }, { "token": "FN", - "loc": "44:1-44:3" + "loc": "46:1-46:3" }, { "token": "LBRACKET", - "loc": "44:3-44:4" + "loc": "46:3-46:4" }, { "token": [ "UIDENT", "A" ], - "loc": "44:4-44:5" + "loc": "46:4-46:5" }, { "token": "COMMA", - "loc": "44:5-44:6" + "loc": "46:5-46:6" }, { "token": [ "UIDENT", "B" ], - "loc": "44:7-44:8" + "loc": "46:7-46:8" }, { "token": "RBRACKET", - "loc": "44:8-44:9" + "loc": "46:8-46:9" }, { "token": [ "LIDENT", "hof_err" ], - "loc": "44:10-44:17" + "loc": "46:10-46:17" }, { "token": "LPAREN", - "loc": "44:17-44:18" + "loc": "46:17-46:18" }, { "token": [ "LIDENT", "a" ], - "loc": "44:18-44:19" + "loc": "46:18-46:19" }, { "token": "COLON", - "loc": "44:20-44:21" + "loc": "46:20-46:21" }, { "token": [ "UIDENT", "A" ], - "loc": "44:22-44:23" + "loc": "46:22-46:23" }, { "token": "COMMA", - "loc": "44:23-44:24" + "loc": "46:23-46:24" }, { "token": [ "LIDENT", "f" ], - "loc": "44:25-44:26" + "loc": "46:25-46:26" }, { "token": "COLON", - "loc": "44:27-44:28" + "loc": "46:27-46:28" }, { "token": "LPAREN", - "loc": "44:29-44:30" + "loc": "46:29-46:30" }, { "token": [ "UIDENT", "A" ], - "loc": "44:30-44:31" + "loc": "46:30-46:31" }, { "token": "RPAREN", - "loc": "44:31-44:32" + "loc": "46:31-46:32" }, { "token": "THIN_ARROW", - "loc": "44:33-44:35" + "loc": "46:33-46:35" }, { "token": [ "UIDENT", "B" ], - "loc": "44:36-44:37" + "loc": "46:36-46:37" }, { "token": "RAISE", - "loc": "44:38-44:43" + "loc": "46:38-46:43" }, { "token": [ "UIDENT", "Error" ], - "loc": "44:44-44:49" + "loc": "46:44-46:49" }, { "token": "RPAREN", - "loc": "44:49-44:50" + "loc": "46:49-46:50" }, { "token": "THIN_ARROW", - "loc": "44:51-44:53" + "loc": "46:51-46:53" }, { "token": [ "UIDENT", "B" ], - "loc": "44:54-44:55" + "loc": "46:54-46:55" }, { "token": "RAISE", - "loc": "44:56-44:61" + "loc": "46:56-46:61" }, { "token": [ "UIDENT", "Error" ], - "loc": "44:62-44:67" + "loc": "46:62-46:67" }, { "token": "LBRACE", - "loc": "44:68-44:69" + "loc": "46:68-46:69" }, { "token": "NEWLINE", - "loc": "44:69-44:70" + "loc": "46:69-46:70" }, { "token": [ "LIDENT", "f" ], - "loc": "45:3-45:4" + "loc": "47:3-47:4" }, { "token": "LPAREN", - "loc": "45:4-45:5" + "loc": "47:4-47:5" }, { "token": [ "LIDENT", "a" ], - "loc": "45:5-45:6" + "loc": "47:5-47:6" }, { "token": "RPAREN", - "loc": "45:6-45:7" + "loc": "47:6-47:7" }, { "token": "NEWLINE", - "loc": "45:7-45:8" + "loc": "47:7-47:8" }, { "token": "RBRACE", - "loc": "46:1-46:2" + "loc": "48:1-48:2" }, { "token": [ "SEMI", false ], - "loc": "46:2-46:2" + "loc": "48:2-48:2" }, { "token": "NEWLINE", - "loc": "46:2-46:3" + "loc": "48:2-48:3" }, { "token": "NEWLINE", - "loc": "47:1-47:2" + "loc": "49:1-49:2" }, { "token": [ @@ -1589,195 +1614,195 @@ "consumed_by_docstring": false } ], - "loc": "48:1-48:5" + "loc": "50:1-50:5" }, { "token": "NEWLINE", - "loc": "48:5-48:6" + "loc": "50:5-50:6" }, { "token": "ASYNC", - "loc": "49:1-49:6" + "loc": "51:1-51:6" }, { "token": "FN", - "loc": "49:7-49:9" + "loc": "51:7-51:9" }, { "token": "LBRACKET", - "loc": "49:9-49:10" + "loc": "51:9-51:10" }, { "token": [ "UIDENT", "A" ], - "loc": "49:10-49:11" + "loc": "51:10-51:11" }, { "token": "COMMA", - "loc": "49:11-49:12" + "loc": "51:11-51:12" }, { "token": [ "UIDENT", "B" ], - "loc": "49:13-49:14" + "loc": "51:13-51:14" }, { "token": "RBRACKET", - "loc": "49:14-49:15" + "loc": "51:14-51:15" }, { "token": [ "LIDENT", "hof_async" ], - "loc": "49:16-49:25" + "loc": "51:16-51:25" }, { "token": "LPAREN", - "loc": "49:25-49:26" + "loc": "51:25-51:26" }, { "token": [ "LIDENT", "a" ], - "loc": "49:26-49:27" + "loc": "51:26-51:27" }, { "token": "COLON", - "loc": "49:28-49:29" + "loc": "51:28-51:29" }, { "token": [ "UIDENT", "A" ], - "loc": "49:30-49:31" + "loc": "51:30-51:31" }, { "token": "COMMA", - "loc": "49:31-49:32" + "loc": "51:31-51:32" }, { "token": [ "LIDENT", "f" ], - "loc": "49:33-49:34" + "loc": "51:33-51:34" }, { "token": "COLON", - "loc": "49:35-49:36" + "loc": "51:35-51:36" }, { "token": "ASYNC", - "loc": "49:37-49:42" + "loc": "51:37-51:42" }, { "token": "LPAREN", - "loc": "49:43-49:44" + "loc": "51:43-51:44" }, { "token": [ "UIDENT", "A" ], - "loc": "49:44-49:45" + "loc": "51:44-51:45" }, { "token": "RPAREN", - "loc": "49:45-49:46" + "loc": "51:45-51:46" }, { "token": "THIN_ARROW", - "loc": "49:47-49:49" + "loc": "51:47-51:49" }, { "token": [ "UIDENT", "B" ], - "loc": "49:50-49:51" + "loc": "51:50-51:51" }, { "token": "RAISE", - "loc": "49:52-49:57" + "loc": "51:52-51:57" }, { "token": "RPAREN", - "loc": "49:57-49:58" + "loc": "51:57-51:58" }, { "token": "THIN_ARROW", - "loc": "49:59-49:61" + "loc": "51:59-51:61" }, { "token": [ "UIDENT", "B" ], - "loc": "49:62-49:63" + "loc": "51:62-51:63" }, { "token": "RAISE", - "loc": "49:64-49:69" + "loc": "51:64-51:69" }, { "token": "LBRACE", - "loc": "49:70-49:71" + "loc": "51:70-51:71" }, { "token": "NEWLINE", - "loc": "49:71-49:72" + "loc": "51:71-51:72" }, { "token": [ "LIDENT", "f" ], - "loc": "50:3-50:4" + "loc": "52:3-52:4" }, { "token": "LPAREN", - "loc": "50:4-50:5" + "loc": "52:4-52:5" }, { "token": [ "LIDENT", "a" ], - "loc": "50:5-50:6" + "loc": "52:5-52:6" }, { "token": "RPAREN", - "loc": "50:6-50:7" + "loc": "52:6-52:7" }, { "token": "NEWLINE", - "loc": "50:7-50:8" + "loc": "52:7-52:8" }, { "token": "RBRACE", - "loc": "51:1-51:2" + "loc": "53:1-53:2" }, { "token": [ "SEMI", false ], - "loc": "51:2-51:2" + "loc": "53:2-53:2" }, { "token": "NEWLINE", - "loc": "51:2-51:3" + "loc": "53:2-53:3" }, { "token": "NEWLINE", - "loc": "52:1-52:2" + "loc": "54:1-54:2" }, { "token": [ @@ -1794,336 +1819,336 @@ "consumed_by_docstring": false } ], - "loc": "53:1-53:5" + "loc": "55:1-55:5" }, { "token": "NEWLINE", - "loc": "53:5-53:6" + "loc": "55:5-55:6" }, { "token": "FN", - "loc": "54:1-54:3" + "loc": "56:1-56:3" }, { "token": [ "LIDENT", "main" ], - "loc": "54:4-54:8" + "loc": "56:4-56:8" }, { "token": "LBRACE", - "loc": "54:9-54:10" + "loc": "56:9-56:10" }, { "token": "NEWLINE", - "loc": "54:10-54:11" + "loc": "56:10-56:11" }, { "token": [ "LIDENT", "println" ], - "loc": "55:3-55:10" + "loc": "57:3-57:10" }, { "token": "LPAREN", - "loc": "55:10-55:11" + "loc": "57:10-57:11" }, { "token": [ "STRING", "==== apply ====" ], - "loc": "55:11-55:28" + "loc": "57:11-57:28" }, { "token": "RPAREN", - "loc": "55:28-55:29" + "loc": "57:28-57:29" }, { "token": [ "SEMI", false ], - "loc": "55:29-55:29" + "loc": "57:29-57:29" }, { "token": "NEWLINE", - "loc": "55:29-55:30" + "loc": "57:29-57:30" }, { "token": "LET", - "loc": "56:3-56:6" + "loc": "58:3-58:6" }, { "token": "UNDERSCORE", - "loc": "56:7-56:8" + "loc": "58:7-58:8" }, { "token": "EQUAL", - "loc": "56:9-56:10" + "loc": "58:9-58:10" }, { "token": [ "LIDENT", "f" ], - "loc": "56:11-56:12" + "loc": "58:11-58:12" }, { "token": "LPAREN", - "loc": "56:12-56:13" + "loc": "58:12-58:13" }, { "token": "UNDERSCORE", - "loc": "56:13-56:14" + "loc": "58:13-58:14" }, { "token": "COMMA", - "loc": "56:14-56:15" + "loc": "58:14-58:15" }, { "token": "FALSE", - "loc": "56:16-56:21" + "loc": "58:16-58:21" }, { "token": "COMMA", - "loc": "56:21-56:22" + "loc": "58:21-58:22" }, { "token": [ "STRING", "hello" ], - "loc": "56:23-56:30" + "loc": "58:23-58:30" }, { "token": "COMMA", - "loc": "56:30-56:31" + "loc": "58:30-58:31" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "56:32-56:36" + "loc": "58:32-58:36" }, { "token": "RPAREN", - "loc": "56:36-56:37" + "loc": "58:36-58:37" }, { "token": "LPAREN", - "loc": "56:37-56:38" + "loc": "58:37-58:38" }, { "token": [ "INT", "1" ], - "loc": "56:38-56:39" + "loc": "58:38-58:39" }, { "token": "RPAREN", - "loc": "56:39-56:40" + "loc": "58:39-58:40" }, { "token": [ "SEMI", false ], - "loc": "56:40-56:40" + "loc": "58:40-58:40" }, { "token": "NEWLINE", - "loc": "56:40-56:41" + "loc": "58:40-58:41" }, { "token": "LET", - "loc": "57:3-57:6" + "loc": "59:3-59:6" }, { "token": "UNDERSCORE", - "loc": "57:7-57:8" + "loc": "59:7-59:8" }, { "token": "EQUAL", - "loc": "57:9-57:10" + "loc": "59:9-59:10" }, { "token": [ "LIDENT", "f" ], - "loc": "57:11-57:12" + "loc": "59:11-59:12" }, { "token": "LPAREN", - "loc": "57:12-57:13" + "loc": "59:12-59:13" }, { "token": [ "INT", "1" ], - "loc": "57:13-57:14" + "loc": "59:13-59:14" }, { "token": "COMMA", - "loc": "57:14-57:15" + "loc": "59:14-59:15" }, { "token": "FALSE", - "loc": "57:16-57:21" + "loc": "59:16-59:21" }, { "token": "COMMA", - "loc": "57:21-57:22" + "loc": "59:21-59:22" }, { "token": "UNDERSCORE", - "loc": "57:23-57:24" + "loc": "59:23-59:24" }, { "token": "COMMA", - "loc": "57:24-57:25" + "loc": "59:24-59:25" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "57:26-57:30" + "loc": "59:26-59:30" }, { "token": "RPAREN", - "loc": "57:30-57:31" + "loc": "59:30-59:31" }, { "token": "LPAREN", - "loc": "57:31-57:32" + "loc": "59:31-59:32" }, { "token": [ "STRING", "hello" ], - "loc": "57:32-57:39" + "loc": "59:32-59:39" }, { "token": "RPAREN", - "loc": "57:39-57:40" + "loc": "59:39-59:40" }, { "token": [ "SEMI", false ], - "loc": "57:40-57:40" + "loc": "59:40-59:40" }, { "token": "NEWLINE", - "loc": "57:40-57:41" + "loc": "59:40-59:41" }, { "token": "LET", - "loc": "58:3-58:6" + "loc": "60:3-60:6" }, { "token": "UNDERSCORE", - "loc": "58:7-58:8" + "loc": "60:7-60:8" }, { "token": "EQUAL", - "loc": "58:9-58:10" + "loc": "60:9-60:10" }, { "token": [ "LIDENT", "f" ], - "loc": "58:11-58:12" + "loc": "60:11-60:12" }, { "token": "LPAREN", - "loc": "58:12-58:13" + "loc": "60:12-60:13" }, { "token": "UNDERSCORE", - "loc": "58:13-58:14" + "loc": "60:13-60:14" }, { "token": "COMMA", - "loc": "58:14-58:15" + "loc": "60:14-60:15" }, { "token": "FALSE", - "loc": "58:16-58:21" + "loc": "60:16-60:21" }, { "token": "COMMA", - "loc": "58:21-58:22" + "loc": "60:21-60:22" }, { "token": "UNDERSCORE", - "loc": "58:23-58:24" + "loc": "60:23-60:24" }, { "token": "COMMA", - "loc": "58:24-58:25" + "loc": "60:24-60:25" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "58:26-58:30" + "loc": "60:26-60:30" }, { "token": "RPAREN", - "loc": "58:30-58:31" + "loc": "60:30-60:31" }, { "token": "LPAREN", - "loc": "58:31-58:32" + "loc": "60:31-60:32" }, { "token": [ "INT", "1" ], - "loc": "58:32-58:33" + "loc": "60:32-60:33" }, { "token": "COMMA", - "loc": "58:33-58:34" + "loc": "60:33-60:34" }, { "token": [ "STRING", "hello" ], - "loc": "58:35-58:42" + "loc": "60:35-60:42" }, { "token": "RPAREN", - "loc": "58:42-58:43" + "loc": "60:42-60:43" }, { "token": [ "SEMI", false ], - "loc": "58:43-58:43" + "loc": "60:43-60:43" }, { "token": "NEWLINE", - "loc": "58:43-58:44" + "loc": "60:43-60:44" }, { "token": "NEWLINE", - "loc": "59:1-59:2" + "loc": "61:1-61:2" }, { "token": [ @@ -2140,272 +2165,272 @@ "consumed_by_docstring": false } ], - "loc": "60:3-60:5" + "loc": "62:3-62:5" }, { "token": "NEWLINE", - "loc": "60:5-60:6" + "loc": "62:5-62:6" }, { "token": [ "LIDENT", "println" ], - "loc": "61:3-61:10" + "loc": "63:3-63:10" }, { "token": "LPAREN", - "loc": "61:10-61:11" + "loc": "63:10-63:11" }, { "token": [ "STRING", "==== dot apply ====" ], - "loc": "61:11-61:32" + "loc": "63:11-63:32" }, { "token": "RPAREN", - "loc": "61:32-61:33" + "loc": "63:32-63:33" }, { "token": [ "SEMI", false ], - "loc": "61:33-61:33" + "loc": "63:33-63:33" }, { "token": "NEWLINE", - "loc": "61:33-61:34" + "loc": "63:33-63:34" }, { "token": "LET", - "loc": "62:3-62:6" + "loc": "64:3-64:6" }, { "token": "UNDERSCORE", - "loc": "62:7-62:8" + "loc": "64:7-64:8" }, { "token": "EQUAL", - "loc": "62:9-62:10" + "loc": "64:9-64:10" }, { "token": [ "LIDENT", "obj" ], - "loc": "62:11-62:14" + "loc": "64:11-64:14" }, { "token": [ "DOT_LIDENT", "g" ], - "loc": "62:15-62:16" + "loc": "64:15-64:16" }, { "token": "LPAREN", - "loc": "62:16-62:17" + "loc": "64:16-64:17" }, { "token": "UNDERSCORE", - "loc": "62:17-62:18" + "loc": "64:17-64:18" }, { "token": "COMMA", - "loc": "62:18-62:19" + "loc": "64:18-64:19" }, { "token": [ "STRING", "hello" ], - "loc": "62:20-62:27" + "loc": "64:20-64:27" }, { "token": "RPAREN", - "loc": "62:27-62:28" + "loc": "64:27-64:28" }, { "token": "LPAREN", - "loc": "62:28-62:29" + "loc": "64:28-64:29" }, { "token": "TRUE", - "loc": "62:29-62:33" + "loc": "64:29-64:33" }, { "token": "RPAREN", - "loc": "62:33-62:34" + "loc": "64:33-64:34" }, { "token": [ "SEMI", false ], - "loc": "62:34-62:34" + "loc": "64:34-64:34" }, { "token": "NEWLINE", - "loc": "62:34-62:35" + "loc": "64:34-64:35" }, { "token": "LET", - "loc": "63:3-63:6" + "loc": "65:3-65:6" }, { "token": "UNDERSCORE", - "loc": "63:7-63:8" + "loc": "65:7-65:8" }, { "token": "EQUAL", - "loc": "63:9-63:10" + "loc": "65:9-65:10" }, { "token": [ "LIDENT", "obj" ], - "loc": "63:11-63:14" + "loc": "65:11-65:14" }, { "token": [ "DOT_LIDENT", "g" ], - "loc": "63:15-63:16" + "loc": "65:15-65:16" }, { "token": "LPAREN", - "loc": "63:16-63:17" + "loc": "65:16-65:17" }, { "token": "TRUE", - "loc": "63:17-63:21" + "loc": "65:17-65:21" }, { "token": "COMMA", - "loc": "63:21-63:22" + "loc": "65:21-65:22" }, { "token": "UNDERSCORE", - "loc": "63:23-63:24" + "loc": "65:23-65:24" }, { "token": "RPAREN", - "loc": "63:24-63:25" + "loc": "65:24-65:25" }, { "token": "LPAREN", - "loc": "63:25-63:26" + "loc": "65:25-65:26" }, { "token": [ "STRING", "hello" ], - "loc": "63:26-63:33" + "loc": "65:26-65:33" }, { "token": "RPAREN", - "loc": "63:33-63:34" + "loc": "65:33-65:34" }, { "token": [ "SEMI", false ], - "loc": "63:34-63:34" + "loc": "65:34-65:34" }, { "token": "NEWLINE", - "loc": "63:34-63:35" + "loc": "65:34-65:35" }, { "token": "LET", - "loc": "64:3-64:6" + "loc": "66:3-66:6" }, { "token": "UNDERSCORE", - "loc": "64:7-64:8" + "loc": "66:7-66:8" }, { "token": "EQUAL", - "loc": "64:9-64:10" + "loc": "66:9-66:10" }, { "token": [ "LIDENT", "obj" ], - "loc": "64:11-64:14" + "loc": "66:11-66:14" }, { "token": [ "DOT_LIDENT", "g" ], - "loc": "64:15-64:16" + "loc": "66:15-66:16" }, { "token": "LPAREN", - "loc": "64:16-64:17" + "loc": "66:16-66:17" }, { "token": "UNDERSCORE", - "loc": "64:17-64:18" + "loc": "66:17-66:18" }, { "token": "COMMA", - "loc": "64:18-64:19" + "loc": "66:18-66:19" }, { "token": "UNDERSCORE", - "loc": "64:20-64:21" + "loc": "66:20-66:21" }, { "token": "RPAREN", - "loc": "64:21-64:22" + "loc": "66:21-66:22" }, { "token": "LPAREN", - "loc": "64:22-64:23" + "loc": "66:22-66:23" }, { "token": "TRUE", - "loc": "64:23-64:27" + "loc": "66:23-66:27" }, { "token": "COMMA", - "loc": "64:27-64:28" + "loc": "66:27-66:28" }, { "token": [ "STRING", "hello" ], - "loc": "64:29-64:36" + "loc": "66:29-66:36" }, { "token": "RPAREN", - "loc": "64:36-64:37" + "loc": "66:36-66:37" }, { "token": [ "SEMI", false ], - "loc": "64:37-64:37" + "loc": "66:37-66:37" }, { "token": "NEWLINE", - "loc": "64:37-64:38" + "loc": "66:37-66:38" }, { "token": "NEWLINE", - "loc": "65:1-65:2" + "loc": "67:1-67:2" }, { "token": [ @@ -2422,314 +2447,314 @@ "consumed_by_docstring": false } ], - "loc": "66:3-66:5" + "loc": "68:3-68:5" }, { "token": "NEWLINE", - "loc": "66:5-66:6" + "loc": "68:5-68:6" }, { "token": [ "LIDENT", "println" ], - "loc": "67:3-67:10" + "loc": "69:3-69:10" }, { "token": "LPAREN", - "loc": "67:10-67:11" + "loc": "69:10-69:11" }, { "token": [ "STRING", "==== constructor ====" ], - "loc": "67:11-67:34" + "loc": "69:11-69:34" }, { "token": "RPAREN", - "loc": "67:34-67:35" + "loc": "69:34-69:35" }, { "token": [ "SEMI", false ], - "loc": "67:35-67:35" + "loc": "69:35-69:35" }, { "token": "NEWLINE", - "loc": "67:35-67:36" + "loc": "69:35-69:36" }, { "token": [ "UIDENT", "C" ], - "loc": "68:3-68:4" + "loc": "70:3-70:4" }, { "token": "LPAREN", - "loc": "68:4-68:5" + "loc": "70:4-70:5" }, { "token": [ "INT", "1" ], - "loc": "68:5-68:6" + "loc": "70:5-70:6" }, { "token": "COMMA", - "loc": "68:6-68:7" + "loc": "70:6-70:7" }, { "token": "UNDERSCORE", - "loc": "68:8-68:9" + "loc": "70:8-70:9" }, { "token": "COMMA", - "loc": "68:9-68:10" + "loc": "70:9-70:10" }, { "token": [ "STRING", "hello" ], - "loc": "68:11-68:18" + "loc": "70:11-70:18" }, { "token": "COMMA", - "loc": "68:18-68:19" + "loc": "70:18-70:19" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "68:20-68:24" + "loc": "70:20-70:24" }, { "token": "RPAREN", - "loc": "68:24-68:25" + "loc": "70:24-70:25" }, { "token": "LPAREN", - "loc": "68:25-68:26" + "loc": "70:25-70:26" }, { "token": "FALSE", - "loc": "68:26-68:31" + "loc": "70:26-70:31" }, { "token": "RPAREN", - "loc": "68:31-68:32" + "loc": "70:31-70:32" }, { "token": "PIPE", - "loc": "68:33-68:35" + "loc": "70:33-70:35" }, { "token": [ "LIDENT", "println" ], - "loc": "68:36-68:43" + "loc": "70:36-70:43" }, { "token": [ "SEMI", false ], - "loc": "68:43-68:43" + "loc": "70:43-70:43" }, { "token": "NEWLINE", - "loc": "68:43-68:44" + "loc": "70:43-70:44" }, { "token": [ "UIDENT", "C" ], - "loc": "69:3-69:4" + "loc": "71:3-71:4" }, { "token": "LPAREN", - "loc": "69:4-69:5" + "loc": "71:4-71:5" }, { "token": [ "INT", "1" ], - "loc": "69:5-69:6" + "loc": "71:5-71:6" }, { "token": "COMMA", - "loc": "69:6-69:7" + "loc": "71:6-71:7" }, { "token": "FALSE", - "loc": "69:8-69:13" + "loc": "71:8-71:13" }, { "token": "COMMA", - "loc": "69:13-69:14" + "loc": "71:13-71:14" }, { "token": [ "STRING", "hello" ], - "loc": "69:15-69:22" + "loc": "71:15-71:22" }, { "token": "COMMA", - "loc": "69:22-69:23" + "loc": "71:22-71:23" }, { "token": "UNDERSCORE", - "loc": "69:24-69:25" + "loc": "71:24-71:25" }, { "token": "RPAREN", - "loc": "69:25-69:26" + "loc": "71:25-71:26" }, { "token": "LPAREN", - "loc": "69:26-69:27" + "loc": "71:26-71:27" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "69:27-69:31" + "loc": "71:27-71:31" }, { "token": "RPAREN", - "loc": "69:31-69:32" + "loc": "71:31-71:32" }, { "token": "PIPE", - "loc": "69:33-69:35" + "loc": "71:33-71:35" }, { "token": [ "LIDENT", "println" ], - "loc": "69:36-69:43" + "loc": "71:36-71:43" }, { "token": [ "SEMI", false ], - "loc": "69:43-69:43" + "loc": "71:43-71:43" }, { "token": "NEWLINE", - "loc": "69:43-69:44" + "loc": "71:43-71:44" }, { "token": [ "UIDENT", "C" ], - "loc": "70:3-70:4" + "loc": "72:3-72:4" }, { "token": "LPAREN", - "loc": "70:4-70:5" + "loc": "72:4-72:5" }, { "token": [ "INT", "1" ], - "loc": "70:5-70:6" + "loc": "72:5-72:6" }, { "token": "COMMA", - "loc": "70:6-70:7" + "loc": "72:6-72:7" }, { "token": "UNDERSCORE", - "loc": "70:8-70:9" + "loc": "72:8-72:9" }, { "token": "COMMA", - "loc": "70:9-70:10" + "loc": "72:9-72:10" }, { "token": [ "STRING", "hello" ], - "loc": "70:11-70:18" + "loc": "72:11-72:18" }, { "token": "COMMA", - "loc": "70:18-70:19" + "loc": "72:18-72:19" }, { "token": "UNDERSCORE", - "loc": "70:20-70:21" + "loc": "72:20-72:21" }, { "token": "RPAREN", - "loc": "70:21-70:22" + "loc": "72:21-72:22" }, { "token": "LPAREN", - "loc": "70:22-70:23" + "loc": "72:22-72:23" }, { "token": "FALSE", - "loc": "70:23-70:28" + "loc": "72:23-72:28" }, { "token": "COMMA", - "loc": "70:28-70:29" + "loc": "72:28-72:29" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "70:30-70:34" + "loc": "72:30-72:34" }, { "token": "RPAREN", - "loc": "70:34-70:35" + "loc": "72:34-72:35" }, { "token": "PIPE", - "loc": "70:36-70:38" + "loc": "72:36-72:38" }, { "token": [ "LIDENT", "println" ], - "loc": "70:39-70:46" + "loc": "72:39-72:46" }, { "token": [ "SEMI", false ], - "loc": "70:46-70:46" + "loc": "72:46-72:46" }, { "token": "NEWLINE", - "loc": "70:46-70:47" + "loc": "72:46-72:47" }, { "token": "NEWLINE", - "loc": "71:1-71:2" + "loc": "73:1-73:2" }, { "token": [ @@ -2746,347 +2771,347 @@ "consumed_by_docstring": false } ], - "loc": "72:3-72:5" + "loc": "74:3-74:5" }, { "token": "NEWLINE", - "loc": "72:5-72:6" + "loc": "74:5-74:6" }, { "token": [ "LIDENT", "println" ], - "loc": "73:3-73:10" + "loc": "75:3-75:10" }, { "token": "LPAREN", - "loc": "73:10-73:11" + "loc": "75:10-75:11" }, { "token": [ "STRING", "==== constructor with type name ====" ], - "loc": "73:11-73:49" + "loc": "75:11-75:49" }, { "token": "RPAREN", - "loc": "73:49-73:50" + "loc": "75:49-75:50" }, { "token": [ "SEMI", false ], - "loc": "73:50-73:50" + "loc": "75:50-75:50" }, { "token": "NEWLINE", - "loc": "73:50-73:51" + "loc": "75:50-75:51" }, { "token": [ "UIDENT", "Foo" ], - "loc": "74:3-74:6" + "loc": "76:3-76:6" }, { "token": "COLONCOLON", - "loc": "74:6-74:8" + "loc": "76:6-76:8" }, { "token": [ "UIDENT", "C" ], - "loc": "74:8-74:9" + "loc": "76:8-76:9" }, { "token": "LPAREN", - "loc": "74:9-74:10" + "loc": "76:9-76:10" }, { "token": [ "INT", "1" ], - "loc": "74:10-74:11" + "loc": "76:10-76:11" }, { "token": "COMMA", - "loc": "74:11-74:12" + "loc": "76:11-76:12" }, { "token": "UNDERSCORE", - "loc": "74:13-74:14" + "loc": "76:13-76:14" }, { "token": "COMMA", - "loc": "74:14-74:15" + "loc": "76:14-76:15" }, { "token": [ "STRING", "hello" ], - "loc": "74:16-74:23" + "loc": "76:16-76:23" }, { "token": "COMMA", - "loc": "74:23-74:24" + "loc": "76:23-76:24" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "74:25-74:29" + "loc": "76:25-76:29" }, { "token": "RPAREN", - "loc": "74:29-74:30" + "loc": "76:29-76:30" }, { "token": "LPAREN", - "loc": "74:30-74:31" + "loc": "76:30-76:31" }, { "token": "FALSE", - "loc": "74:31-74:36" + "loc": "76:31-76:36" }, { "token": "RPAREN", - "loc": "74:36-74:37" + "loc": "76:36-76:37" }, { "token": "PIPE", - "loc": "74:38-74:40" + "loc": "76:38-76:40" }, { "token": [ "LIDENT", "println" ], - "loc": "74:41-74:48" + "loc": "76:41-76:48" }, { "token": [ "SEMI", false ], - "loc": "74:48-74:48" + "loc": "76:48-76:48" }, { "token": "NEWLINE", - "loc": "74:48-74:49" + "loc": "76:48-76:49" }, { "token": [ "UIDENT", "Foo" ], - "loc": "75:3-75:6" + "loc": "77:3-77:6" }, { "token": "COLONCOLON", - "loc": "75:6-75:8" + "loc": "77:6-77:8" }, { "token": [ "UIDENT", "C" ], - "loc": "75:8-75:9" + "loc": "77:8-77:9" }, { "token": "LPAREN", - "loc": "75:9-75:10" + "loc": "77:9-77:10" }, { "token": [ "INT", "1" ], - "loc": "75:10-75:11" + "loc": "77:10-77:11" }, { "token": "COMMA", - "loc": "75:11-75:12" + "loc": "77:11-77:12" }, { "token": "FALSE", - "loc": "75:13-75:18" + "loc": "77:13-77:18" }, { "token": "COMMA", - "loc": "75:18-75:19" + "loc": "77:18-77:19" }, { "token": [ "STRING", "hello" ], - "loc": "75:20-75:27" + "loc": "77:20-77:27" }, { "token": "COMMA", - "loc": "75:27-75:28" + "loc": "77:27-77:28" }, { "token": "UNDERSCORE", - "loc": "75:29-75:30" + "loc": "77:29-77:30" }, { "token": "RPAREN", - "loc": "75:30-75:31" + "loc": "77:30-77:31" }, { "token": "LPAREN", - "loc": "75:31-75:32" + "loc": "77:31-77:32" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "75:32-75:36" + "loc": "77:32-77:36" }, { "token": "RPAREN", - "loc": "75:36-75:37" + "loc": "77:36-77:37" }, { "token": "PIPE", - "loc": "75:38-75:40" + "loc": "77:38-77:40" }, { "token": [ "LIDENT", "println" ], - "loc": "75:41-75:48" + "loc": "77:41-77:48" }, { "token": [ "SEMI", false ], - "loc": "75:48-75:48" + "loc": "77:48-77:48" }, { "token": "NEWLINE", - "loc": "75:48-75:49" + "loc": "77:48-77:49" }, { "token": [ "UIDENT", "Foo" ], - "loc": "76:3-76:6" + "loc": "78:3-78:6" }, { "token": "COLONCOLON", - "loc": "76:6-76:8" + "loc": "78:6-78:8" }, { "token": [ "UIDENT", "C" ], - "loc": "76:8-76:9" + "loc": "78:8-78:9" }, { "token": "LPAREN", - "loc": "76:9-76:10" + "loc": "78:9-78:10" }, { "token": [ "INT", "1" ], - "loc": "76:10-76:11" + "loc": "78:10-78:11" }, { "token": "COMMA", - "loc": "76:11-76:12" + "loc": "78:11-78:12" }, { "token": "UNDERSCORE", - "loc": "76:13-76:14" + "loc": "78:13-78:14" }, { "token": "COMMA", - "loc": "76:14-76:15" + "loc": "78:14-78:15" }, { "token": [ "STRING", "hello" ], - "loc": "76:16-76:23" + "loc": "78:16-78:23" }, { "token": "COMMA", - "loc": "76:23-76:24" + "loc": "78:23-78:24" }, { "token": "UNDERSCORE", - "loc": "76:25-76:26" + "loc": "78:25-78:26" }, { "token": "RPAREN", - "loc": "76:26-76:27" + "loc": "78:26-78:27" }, { "token": "LPAREN", - "loc": "76:27-76:28" + "loc": "78:27-78:28" }, { "token": "FALSE", - "loc": "76:28-76:33" + "loc": "78:28-78:33" }, { "token": "COMMA", - "loc": "76:33-76:34" + "loc": "78:33-78:34" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "76:35-76:39" + "loc": "78:35-78:39" }, { "token": "RPAREN", - "loc": "76:39-76:40" + "loc": "78:39-78:40" }, { "token": "PIPE", - "loc": "76:41-76:43" + "loc": "78:41-78:43" }, { "token": [ "LIDENT", "println" ], - "loc": "76:44-76:51" + "loc": "78:44-78:51" }, { "token": [ "SEMI", false ], - "loc": "76:51-76:51" + "loc": "78:51-78:51" }, { "token": "NEWLINE", - "loc": "76:51-76:52" + "loc": "78:51-78:52" }, { "token": "NEWLINE", - "loc": "77:1-77:2" + "loc": "79:1-79:2" }, { "token": [ @@ -3103,123 +3128,123 @@ "consumed_by_docstring": false } ], - "loc": "78:3-78:5" + "loc": "80:3-80:5" }, { "token": "NEWLINE", - "loc": "78:5-78:6" + "loc": "80:5-80:6" }, { "token": [ "LIDENT", "println" ], - "loc": "79:3-79:10" + "loc": "81:3-81:10" }, { "token": "LPAREN", - "loc": "79:10-79:11" + "loc": "81:10-81:11" }, { "token": [ "STRING", "==== in pipe expression ====" ], - "loc": "79:11-79:41" + "loc": "81:11-81:41" }, { "token": "RPAREN", - "loc": "79:41-79:42" + "loc": "81:41-81:42" }, { "token": [ "SEMI", false ], - "loc": "79:42-79:42" + "loc": "81:42-81:42" }, { "token": "NEWLINE", - "loc": "79:42-79:43" + "loc": "81:42-81:43" }, { "token": "LET", - "loc": "80:3-80:6" + "loc": "82:3-82:6" }, { "token": "UNDERSCORE", - "loc": "80:7-80:8" + "loc": "82:7-82:8" }, { "token": "EQUAL", - "loc": "80:9-80:10" + "loc": "82:9-82:10" }, { "token": [ "INT", "1" ], - "loc": "80:11-80:12" + "loc": "82:11-82:12" }, { "token": "PIPE", - "loc": "80:13-80:15" + "loc": "82:13-82:15" }, { "token": [ "LIDENT", "f" ], - "loc": "80:16-80:17" + "loc": "82:16-82:17" }, { "token": "LPAREN", - "loc": "80:17-80:18" + "loc": "82:17-82:18" }, { "token": "UNDERSCORE", - "loc": "80:18-80:19" + "loc": "82:18-82:19" }, { "token": "COMMA", - "loc": "80:19-80:20" + "loc": "82:19-82:20" }, { "token": "FALSE", - "loc": "80:21-80:26" + "loc": "82:21-82:26" }, { "token": "COMMA", - "loc": "80:26-80:27" + "loc": "82:26-82:27" }, { "token": [ "STRING", "hello" ], - "loc": "80:28-80:35" + "loc": "82:28-82:35" }, { "token": "COMMA", - "loc": "80:35-80:36" + "loc": "82:35-82:36" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "80:37-80:41" + "loc": "82:37-82:41" }, { "token": "RPAREN", - "loc": "80:41-80:42" + "loc": "82:41-82:42" }, { "token": [ "SEMI", false ], - "loc": "80:42-80:42" + "loc": "82:42-82:42" }, { "token": [ @@ -3230,94 +3255,94 @@ "consumed_by_docstring": false } ], - "loc": "80:43-80:51" + "loc": "82:43-82:51" }, { "token": "NEWLINE", - "loc": "80:51-80:52" + "loc": "82:51-82:52" }, { "token": "LET", - "loc": "81:3-81:6" + "loc": "83:3-83:6" }, { "token": "UNDERSCORE", - "loc": "81:7-81:8" + "loc": "83:7-83:8" }, { "token": "EQUAL", - "loc": "81:9-81:10" + "loc": "83:9-83:10" }, { "token": [ "STRING", "hello" ], - "loc": "81:11-81:18" + "loc": "83:11-83:18" }, { "token": "PIPE", - "loc": "81:19-81:21" + "loc": "83:19-83:21" }, { "token": [ "LIDENT", "f" ], - "loc": "81:22-81:23" + "loc": "83:22-83:23" }, { "token": "LPAREN", - "loc": "81:23-81:24" + "loc": "83:23-83:24" }, { "token": [ "INT", "1" ], - "loc": "81:24-81:25" + "loc": "83:24-83:25" }, { "token": "COMMA", - "loc": "81:25-81:26" + "loc": "83:25-83:26" }, { "token": "FALSE", - "loc": "81:27-81:32" + "loc": "83:27-83:32" }, { "token": "COMMA", - "loc": "81:32-81:33" + "loc": "83:32-83:33" }, { "token": "UNDERSCORE", - "loc": "81:34-81:35" + "loc": "83:34-83:35" }, { "token": "COMMA", - "loc": "81:35-81:36" + "loc": "83:35-83:36" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "81:37-81:41" + "loc": "83:37-83:41" }, { "token": "RPAREN", - "loc": "81:41-81:42" + "loc": "83:41-83:42" }, { "token": [ "SEMI", false ], - "loc": "81:42-81:42" + "loc": "83:42-83:42" }, { "token": "NEWLINE", - "loc": "81:42-81:43" + "loc": "83:42-83:43" }, { "token": [ @@ -3334,11 +3359,11 @@ "consumed_by_docstring": false } ], - "loc": "82:3-82:71" + "loc": "84:3-84:71" }, { "token": "NEWLINE", - "loc": "82:71-82:72" + "loc": "84:71-84:72" }, { "token": [ @@ -3355,89 +3380,89 @@ "consumed_by_docstring": false } ], - "loc": "83:3-83:39" + "loc": "85:3-85:39" }, { "token": "NEWLINE", - "loc": "83:39-83:40" + "loc": "85:39-85:40" }, { "token": "FALSE", - "loc": "84:3-84:8" + "loc": "86:3-86:8" }, { "token": "PIPE", - "loc": "84:9-84:11" + "loc": "86:9-86:11" }, { "token": [ "UIDENT", "C" ], - "loc": "84:12-84:13" + "loc": "86:12-86:13" }, { "token": "LPAREN", - "loc": "84:13-84:14" + "loc": "86:13-86:14" }, { "token": [ "INT", "1" ], - "loc": "84:14-84:15" + "loc": "86:14-86:15" }, { "token": "COMMA", - "loc": "84:15-84:16" + "loc": "86:15-86:16" }, { "token": "UNDERSCORE", - "loc": "84:17-84:18" + "loc": "86:17-86:18" }, { "token": "COMMA", - "loc": "84:18-84:19" + "loc": "86:18-86:19" }, { "token": [ "STRING", "hello" ], - "loc": "84:20-84:27" + "loc": "86:20-86:27" }, { "token": "COMMA", - "loc": "84:27-84:28" + "loc": "86:27-86:28" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "84:29-84:33" + "loc": "86:29-86:33" }, { "token": "RPAREN", - "loc": "84:33-84:34" + "loc": "86:33-86:34" }, { "token": "PIPE", - "loc": "84:35-84:37" + "loc": "86:35-86:37" }, { "token": [ "LIDENT", "println" ], - "loc": "84:38-84:45" + "loc": "86:38-86:45" }, { "token": [ "SEMI", false ], - "loc": "84:45-84:45" + "loc": "86:45-86:45" }, { "token": [ @@ -3448,182 +3473,182 @@ "consumed_by_docstring": false } ], - "loc": "84:46-84:60" + "loc": "86:46-86:60" }, { "token": "NEWLINE", - "loc": "84:60-84:61" + "loc": "86:60-86:61" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "85:3-85:7" + "loc": "87:3-87:7" }, { "token": "PIPE", - "loc": "85:8-85:10" + "loc": "87:8-87:10" }, { "token": [ "UIDENT", "C" ], - "loc": "85:11-85:12" + "loc": "87:11-87:12" }, { "token": "LPAREN", - "loc": "85:12-85:13" + "loc": "87:12-87:13" }, { "token": [ "INT", "1" ], - "loc": "85:13-85:14" + "loc": "87:13-87:14" }, { "token": "COMMA", - "loc": "85:14-85:15" + "loc": "87:14-87:15" }, { "token": "FALSE", - "loc": "85:16-85:21" + "loc": "87:16-87:21" }, { "token": "COMMA", - "loc": "85:21-85:22" + "loc": "87:21-87:22" }, { "token": [ "STRING", "hello" ], - "loc": "85:23-85:30" + "loc": "87:23-87:30" }, { "token": "COMMA", - "loc": "85:30-85:31" + "loc": "87:30-87:31" }, { "token": "UNDERSCORE", - "loc": "85:32-85:33" + "loc": "87:32-87:33" }, { "token": "RPAREN", - "loc": "85:33-85:34" + "loc": "87:33-87:34" }, { "token": "PIPE", - "loc": "85:35-85:37" + "loc": "87:35-87:37" }, { "token": [ "LIDENT", "println" ], - "loc": "85:38-85:45" + "loc": "87:38-87:45" }, { "token": [ "SEMI", false ], - "loc": "85:45-85:45" + "loc": "87:45-87:45" }, { "token": "NEWLINE", - "loc": "85:45-85:46" + "loc": "87:45-87:46" }, { "token": "FALSE", - "loc": "86:3-86:8" + "loc": "88:3-88:8" }, { "token": "PIPE", - "loc": "86:9-86:11" + "loc": "88:9-88:11" }, { "token": [ "UIDENT", "Foo" ], - "loc": "86:12-86:15" + "loc": "88:12-88:15" }, { "token": "COLONCOLON", - "loc": "86:15-86:17" + "loc": "88:15-88:17" }, { "token": [ "UIDENT", "C" ], - "loc": "86:17-86:18" + "loc": "88:17-88:18" }, { "token": "LPAREN", - "loc": "86:18-86:19" + "loc": "88:18-88:19" }, { "token": [ "INT", "1" ], - "loc": "86:19-86:20" + "loc": "88:19-88:20" }, { "token": "COMMA", - "loc": "86:20-86:21" + "loc": "88:20-88:21" }, { "token": "UNDERSCORE", - "loc": "86:22-86:23" + "loc": "88:22-88:23" }, { "token": "COMMA", - "loc": "86:23-86:24" + "loc": "88:23-88:24" }, { "token": [ "STRING", "hello" ], - "loc": "86:25-86:32" + "loc": "88:25-88:32" }, { "token": "COMMA", - "loc": "86:32-86:33" + "loc": "88:32-88:33" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "86:34-86:38" + "loc": "88:34-88:38" }, { "token": "RPAREN", - "loc": "86:38-86:39" + "loc": "88:38-88:39" }, { "token": "PIPE", - "loc": "86:40-86:42" + "loc": "88:40-88:42" }, { "token": [ "LIDENT", "println" ], - "loc": "86:43-86:50" + "loc": "88:43-88:50" }, { "token": [ "SEMI", false ], - "loc": "86:50-86:50" + "loc": "88:50-88:50" }, { "token": [ @@ -3634,108 +3659,108 @@ "consumed_by_docstring": false } ], - "loc": "86:51-86:80" + "loc": "88:51-88:80" }, { "token": "NEWLINE", - "loc": "86:80-86:81" + "loc": "88:80-88:81" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "87:3-87:7" + "loc": "89:3-89:7" }, { "token": "PIPE", - "loc": "87:8-87:10" + "loc": "89:8-89:10" }, { "token": [ "UIDENT", "Foo" ], - "loc": "87:11-87:14" + "loc": "89:11-89:14" }, { "token": "COLONCOLON", - "loc": "87:14-87:16" + "loc": "89:14-89:16" }, { "token": [ "UIDENT", "C" ], - "loc": "87:16-87:17" + "loc": "89:16-89:17" }, { "token": "LPAREN", - "loc": "87:17-87:18" + "loc": "89:17-89:18" }, { "token": [ "INT", "1" ], - "loc": "87:18-87:19" + "loc": "89:18-89:19" }, { "token": "COMMA", - "loc": "87:19-87:20" + "loc": "89:19-89:20" }, { "token": "FALSE", - "loc": "87:21-87:26" + "loc": "89:21-89:26" }, { "token": "COMMA", - "loc": "87:26-87:27" + "loc": "89:26-89:27" }, { "token": [ "STRING", "hello" ], - "loc": "87:28-87:35" + "loc": "89:28-89:35" }, { "token": "COMMA", - "loc": "87:35-87:36" + "loc": "89:35-89:36" }, { "token": "UNDERSCORE", - "loc": "87:37-87:38" + "loc": "89:37-89:38" }, { "token": "RPAREN", - "loc": "87:38-87:39" + "loc": "89:38-89:39" }, { "token": "PIPE", - "loc": "87:40-87:42" + "loc": "89:40-89:42" }, { "token": [ "LIDENT", "println" ], - "loc": "87:43-87:50" + "loc": "89:43-89:50" }, { "token": [ "SEMI", false ], - "loc": "87:50-87:50" + "loc": "89:50-89:50" }, { "token": "NEWLINE", - "loc": "87:50-87:51" + "loc": "89:50-89:51" }, { "token": "NEWLINE", - "loc": "88:1-88:2" + "loc": "90:1-90:2" }, { "token": [ @@ -3752,399 +3777,399 @@ "consumed_by_docstring": false } ], - "loc": "89:3-89:49" + "loc": "91:3-91:49" }, { "token": "NEWLINE", - "loc": "89:49-89:50" + "loc": "91:49-91:50" }, { "token": [ "LIDENT", "hof" ], - "loc": "90:3-90:6" + "loc": "92:3-92:6" }, { "token": "LPAREN", - "loc": "90:6-90:7" + "loc": "92:6-92:7" }, { "token": [ "INT", "1" ], - "loc": "90:7-90:8" + "loc": "92:7-92:8" }, { "token": "COMMA", - "loc": "90:8-90:9" + "loc": "92:8-92:9" }, { "token": [ "LIDENT", "f" ], - "loc": "90:10-90:11" + "loc": "92:10-92:11" }, { "token": "LPAREN", - "loc": "90:11-90:12" + "loc": "92:11-92:12" }, { "token": "UNDERSCORE", - "loc": "90:12-90:13" + "loc": "92:12-92:13" }, { "token": "COMMA", - "loc": "90:13-90:14" + "loc": "92:13-92:14" }, { "token": "FALSE", - "loc": "90:15-90:20" + "loc": "92:15-92:20" }, { "token": "COMMA", - "loc": "90:20-90:21" + "loc": "92:20-92:21" }, { "token": [ "STRING", "hello" ], - "loc": "90:22-90:29" + "loc": "92:22-92:29" }, { "token": "COMMA", - "loc": "90:29-90:30" + "loc": "92:29-92:30" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "90:31-90:35" + "loc": "92:31-92:35" }, { "token": "RPAREN", - "loc": "90:35-90:36" + "loc": "92:35-92:36" }, { "token": "RPAREN", - "loc": "90:36-90:37" + "loc": "92:36-92:37" }, { "token": "PIPE", - "loc": "90:38-90:40" + "loc": "92:38-92:40" }, { "token": [ "LIDENT", "ignore" ], - "loc": "90:41-90:47" + "loc": "92:41-92:47" }, { "token": [ "SEMI", false ], - "loc": "90:47-90:47" + "loc": "92:47-92:47" }, { "token": "NEWLINE", - "loc": "90:47-90:48" + "loc": "92:47-92:48" }, { "token": [ "LIDENT", "hof" ], - "loc": "91:3-91:6" + "loc": "93:3-93:6" }, { "token": "LPAREN", - "loc": "91:6-91:7" + "loc": "93:6-93:7" }, { "token": "FALSE", - "loc": "91:7-91:12" + "loc": "93:7-93:12" }, { "token": "COMMA", - "loc": "91:12-91:13" + "loc": "93:12-93:13" }, { "token": [ "LIDENT", "obj" ], - "loc": "91:14-91:17" + "loc": "93:14-93:17" }, { "token": [ "DOT_LIDENT", "g" ], - "loc": "91:18-91:19" + "loc": "93:18-93:19" }, { "token": "LPAREN", - "loc": "91:19-91:20" + "loc": "93:19-93:20" }, { "token": "UNDERSCORE", - "loc": "91:20-91:21" + "loc": "93:20-93:21" }, { "token": "COMMA", - "loc": "91:21-91:22" + "loc": "93:21-93:22" }, { "token": [ "STRING", "hello" ], - "loc": "91:23-91:30" + "loc": "93:23-93:30" }, { "token": "RPAREN", - "loc": "91:30-91:31" + "loc": "93:30-93:31" }, { "token": "RPAREN", - "loc": "91:31-91:32" + "loc": "93:31-93:32" }, { "token": "PIPE", - "loc": "91:33-91:35" + "loc": "93:33-93:35" }, { "token": [ "LIDENT", "ignore" ], - "loc": "91:36-91:42" + "loc": "93:36-93:42" }, { "token": [ "SEMI", false ], - "loc": "91:42-91:42" + "loc": "93:42-93:42" }, { "token": "NEWLINE", - "loc": "91:42-91:43" + "loc": "93:42-93:43" }, { "token": [ "LIDENT", "hof" ], - "loc": "92:3-92:6" + "loc": "94:3-94:6" }, { "token": "LPAREN", - "loc": "92:6-92:7" + "loc": "94:6-94:7" }, { "token": [ "INT", "1" ], - "loc": "92:7-92:8" + "loc": "94:7-94:8" }, { "token": "COMMA", - "loc": "92:8-92:9" + "loc": "94:8-94:9" }, { "token": [ "UIDENT", "C" ], - "loc": "92:10-92:11" + "loc": "94:10-94:11" }, { "token": "LPAREN", - "loc": "92:11-92:12" + "loc": "94:11-94:12" }, { "token": "UNDERSCORE", - "loc": "92:12-92:13" + "loc": "94:12-94:13" }, { "token": "COMMA", - "loc": "92:13-92:14" + "loc": "94:13-94:14" }, { "token": "FALSE", - "loc": "92:15-92:20" + "loc": "94:15-94:20" }, { "token": "COMMA", - "loc": "92:20-92:21" + "loc": "94:20-94:21" }, { "token": [ "STRING", "hello" ], - "loc": "92:22-92:29" + "loc": "94:22-94:29" }, { "token": "COMMA", - "loc": "92:29-92:30" + "loc": "94:29-94:30" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "92:31-92:35" + "loc": "94:31-94:35" }, { "token": "RPAREN", - "loc": "92:35-92:36" + "loc": "94:35-94:36" }, { "token": "RPAREN", - "loc": "92:36-92:37" + "loc": "94:36-94:37" }, { "token": "PIPE", - "loc": "92:38-92:40" + "loc": "94:38-94:40" }, { "token": [ "LIDENT", "println" ], - "loc": "92:41-92:48" + "loc": "94:41-94:48" }, { "token": [ "SEMI", false ], - "loc": "92:48-92:48" + "loc": "94:48-94:48" }, { "token": "NEWLINE", - "loc": "92:48-92:49" + "loc": "94:48-94:49" }, { "token": [ "LIDENT", "hof" ], - "loc": "93:3-93:6" + "loc": "95:3-95:6" }, { "token": "LPAREN", - "loc": "93:6-93:7" + "loc": "95:6-95:7" }, { "token": "FALSE", - "loc": "93:7-93:12" + "loc": "95:7-95:12" }, { "token": "COMMA", - "loc": "93:12-93:13" + "loc": "95:12-95:13" }, { "token": [ "UIDENT", "Foo" ], - "loc": "93:14-93:17" + "loc": "95:14-95:17" }, { "token": "COLONCOLON", - "loc": "93:17-93:19" + "loc": "95:17-95:19" }, { "token": [ "UIDENT", "C" ], - "loc": "93:19-93:20" + "loc": "95:19-95:20" }, { "token": "LPAREN", - "loc": "93:20-93:21" + "loc": "95:20-95:21" }, { "token": [ "INT", "1" ], - "loc": "93:21-93:22" + "loc": "95:21-95:22" }, { "token": "COMMA", - "loc": "93:22-93:23" + "loc": "95:22-95:23" }, { "token": "UNDERSCORE", - "loc": "93:24-93:25" + "loc": "95:24-95:25" }, { "token": "COMMA", - "loc": "93:25-93:26" + "loc": "95:25-95:26" }, { "token": [ "STRING", "hello" ], - "loc": "93:27-93:34" + "loc": "95:27-95:34" }, { "token": "COMMA", - "loc": "93:34-93:35" + "loc": "95:34-95:35" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "93:36-93:40" + "loc": "95:36-95:40" }, { "token": "RPAREN", - "loc": "93:40-93:41" + "loc": "95:40-95:41" }, { "token": "RPAREN", - "loc": "93:41-93:42" + "loc": "95:41-95:42" }, { "token": "PIPE", - "loc": "93:43-93:45" + "loc": "95:43-95:45" }, { "token": [ "LIDENT", "println" ], - "loc": "93:46-93:53" + "loc": "95:46-95:53" }, { "token": [ "SEMI", false ], - "loc": "93:53-93:53" + "loc": "95:53-95:53" }, { "token": "NEWLINE", - "loc": "93:53-93:54" + "loc": "95:53-95:54" }, { "token": "NEWLINE", - "loc": "94:1-94:2" + "loc": "96:1-96:2" }, { "token": [ @@ -4161,281 +4186,281 @@ "consumed_by_docstring": false } ], - "loc": "95:3-95:70" + "loc": "97:3-97:70" }, { "token": "NEWLINE", - "loc": "95:70-95:71" + "loc": "97:70-97:71" }, { "token": "LPAREN", - "loc": "96:3-96:4" + "loc": "98:3-98:4" }, { "token": "TRY_QUESTION", - "loc": "96:4-96:8" + "loc": "98:4-98:8" }, { "token": [ "LIDENT", "hof_err" ], - "loc": "96:9-96:16" + "loc": "98:9-98:16" }, { "token": "LPAREN", - "loc": "96:16-96:17" + "loc": "98:16-98:17" }, { "token": [ "INT", "1" ], - "loc": "96:17-96:18" + "loc": "98:17-98:18" }, { "token": "COMMA", - "loc": "96:18-96:19" + "loc": "98:18-98:19" }, { "token": [ "LIDENT", "f_err" ], - "loc": "96:20-96:25" + "loc": "98:20-98:25" }, { "token": "LPAREN", - "loc": "96:25-96:26" + "loc": "98:25-98:26" }, { "token": "UNDERSCORE", - "loc": "96:26-96:27" + "loc": "98:26-98:27" }, { "token": "COMMA", - "loc": "96:27-96:28" + "loc": "98:27-98:28" }, { "token": "FALSE", - "loc": "96:29-96:34" + "loc": "98:29-98:34" }, { "token": "COMMA", - "loc": "96:34-96:35" + "loc": "98:34-98:35" }, { "token": [ "STRING", "hello" ], - "loc": "96:36-96:43" + "loc": "98:36-98:43" }, { "token": "COMMA", - "loc": "96:43-96:44" + "loc": "98:43-98:44" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "96:45-96:49" + "loc": "98:45-98:49" }, { "token": "RPAREN", - "loc": "96:49-96:50" + "loc": "98:49-98:50" }, { "token": "RPAREN", - "loc": "96:50-96:51" + "loc": "98:50-98:51" }, { "token": "RPAREN", - "loc": "96:51-96:52" + "loc": "98:51-98:52" }, { "token": "PIPE", - "loc": "96:53-96:55" + "loc": "98:53-98:55" }, { "token": [ "LIDENT", "ignore" ], - "loc": "96:56-96:62" + "loc": "98:56-98:62" }, { "token": [ "SEMI", false ], - "loc": "96:62-96:62" + "loc": "98:62-98:62" }, { "token": "NEWLINE", - "loc": "96:62-96:63" + "loc": "98:62-98:63" }, { "token": "LET", - "loc": "97:3-97:6" + "loc": "99:3-99:6" }, { "token": "UNDERSCORE", - "loc": "97:7-97:8" + "loc": "99:7-99:8" }, { "token": "EQUAL", - "loc": "97:9-97:10" + "loc": "99:9-99:10" }, { "token": "ASYNC", - "loc": "97:11-97:16" + "loc": "99:11-99:16" }, { "token": "FN", - "loc": "97:17-97:19" + "loc": "99:17-99:19" }, { "token": "LPAREN", - "loc": "97:19-97:20" + "loc": "99:19-99:20" }, { "token": "RPAREN", - "loc": "97:20-97:21" + "loc": "99:20-99:21" }, { "token": "NORAISE", - "loc": "97:22-97:29" + "loc": "99:22-99:29" }, { "token": "LBRACE", - "loc": "97:30-97:31" + "loc": "99:30-99:31" }, { "token": "NEWLINE", - "loc": "97:31-97:32" + "loc": "99:31-99:32" }, { "token": "LPAREN", - "loc": "98:5-98:6" + "loc": "100:5-100:6" }, { "token": "TRY_QUESTION", - "loc": "98:6-98:10" + "loc": "100:6-100:10" }, { "token": [ "LIDENT", "hof_async" ], - "loc": "98:11-98:20" + "loc": "100:11-100:20" }, { "token": "LPAREN", - "loc": "98:20-98:21" + "loc": "100:20-100:21" }, { "token": [ "INT", "1" ], - "loc": "98:21-98:22" + "loc": "100:21-100:22" }, { "token": "COMMA", - "loc": "98:22-98:23" + "loc": "100:22-100:23" }, { "token": [ "LIDENT", "f_async" ], - "loc": "98:24-98:31" + "loc": "100:24-100:31" }, { "token": "LPAREN", - "loc": "98:31-98:32" + "loc": "100:31-100:32" }, { "token": "UNDERSCORE", - "loc": "98:32-98:33" + "loc": "100:32-100:33" }, { "token": "COMMA", - "loc": "98:33-98:34" + "loc": "100:33-100:34" }, { "token": "FALSE", - "loc": "98:35-98:40" + "loc": "100:35-100:40" }, { "token": "COMMA", - "loc": "98:40-98:41" + "loc": "100:40-100:41" }, { "token": [ "STRING", "hello" ], - "loc": "98:42-98:49" + "loc": "100:42-100:49" }, { "token": "COMMA", - "loc": "98:49-98:50" + "loc": "100:49-100:50" }, { "token": [ "DOUBLE", "3.14" ], - "loc": "98:51-98:55" + "loc": "100:51-100:55" }, { "token": "RPAREN", - "loc": "98:55-98:56" + "loc": "100:55-100:56" }, { "token": "RPAREN", - "loc": "98:56-98:57" + "loc": "100:56-100:57" }, { "token": "RPAREN", - "loc": "98:57-98:58" + "loc": "100:57-100:58" }, { "token": "PIPE", - "loc": "98:59-98:61" + "loc": "100:59-100:61" }, { "token": [ "LIDENT", "ignore" ], - "loc": "98:62-98:68" + "loc": "100:62-100:68" }, { "token": "NEWLINE", - "loc": "98:68-98:69" + "loc": "100:68-100:69" }, { "token": "RBRACE", - "loc": "99:3-99:4" + "loc": "101:3-101:4" }, { "token": [ "SEMI", false ], - "loc": "99:4-99:4" + "loc": "101:4-101:4" }, { "token": "NEWLINE", - "loc": "99:4-99:5" + "loc": "101:4-101:5" }, { "token": "NEWLINE", - "loc": "100:1-100:2" + "loc": "102:1-102:2" }, { "token": [ @@ -4452,135 +4477,135 @@ "consumed_by_docstring": false } ], - "loc": "101:3-101:21" + "loc": "103:3-103:21" }, { "token": "NEWLINE", - "loc": "101:21-101:22" + "loc": "103:21-103:22" }, { "token": "LBRACKET", - "loc": "102:3-102:4" + "loc": "104:3-104:4" }, { "token": [ "UIDENT", "C" ], - "loc": "102:5-102:6" + "loc": "104:5-104:6" }, { "token": "LPAREN", - "loc": "102:6-102:7" + "loc": "104:6-104:7" }, { "token": [ "INT", "1" ], - "loc": "102:7-102:8" + "loc": "104:7-104:8" }, { "token": "COMMA", - "loc": "102:8-102:9" + "loc": "104:8-104:9" }, { "token": "TRUE", - "loc": "102:10-102:14" + "loc": "104:10-104:14" }, { "token": "COMMA", - "loc": "102:14-102:15" + "loc": "104:14-104:15" }, { "token": [ "STRING", "s" ], - "loc": "102:16-102:19" + "loc": "104:16-104:19" }, { "token": "COMMA", - "loc": "102:19-102:20" + "loc": "104:19-104:20" }, { "token": [ "DOUBLE", "2.0" ], - "loc": "102:21-102:24" + "loc": "104:21-104:24" }, { "token": "RPAREN", - "loc": "102:24-102:25" + "loc": "104:24-104:25" }, { "token": "RBRACKET", - "loc": "102:26-102:27" + "loc": "104:26-104:27" }, { "token": [ "DOT_LIDENT", "each" ], - "loc": "102:28-102:32" + "loc": "104:28-104:32" }, { "token": "LPAREN", - "loc": "102:32-102:33" + "loc": "104:32-104:33" }, { "token": "UNDERSCORE", - "loc": "102:33-102:34" + "loc": "104:33-104:34" }, { "token": [ "DOT_LIDENT", "g" ], - "loc": "102:35-102:36" + "loc": "104:35-104:36" }, { "token": "LPAREN", - "loc": "102:36-102:37" + "loc": "104:36-104:37" }, { "token": "FALSE", - "loc": "102:37-102:42" + "loc": "104:37-104:42" }, { "token": "COMMA", - "loc": "102:42-102:43" + "loc": "104:42-104:43" }, { "token": [ "STRING", "x" ], - "loc": "102:44-102:47" + "loc": "104:44-104:47" }, { "token": "RPAREN", - "loc": "102:47-102:48" + "loc": "104:47-104:48" }, { "token": "RPAREN", - "loc": "102:48-102:49" + "loc": "104:48-104:49" }, { "token": [ "SEMI", false ], - "loc": "102:49-102:49" + "loc": "104:49-104:49" }, { "token": "NEWLINE", - "loc": "102:49-102:50" + "loc": "104:49-104:50" }, { "token": "NEWLINE", - "loc": "103:1-103:2" + "loc": "105:1-105:2" }, { "token": [ @@ -4597,78 +4622,78 @@ "consumed_by_docstring": false } ], - "loc": "104:3-104:28" + "loc": "106:3-106:28" }, { "token": "NEWLINE", - "loc": "104:28-104:29" + "loc": "106:28-106:29" }, { "token": [ "LIDENT", "obj" ], - "loc": "105:3-105:6" + "loc": "107:3-107:6" }, { "token": "PIPE", - "loc": "105:7-105:9" + "loc": "107:7-107:9" }, { "token": "UNDERSCORE", - "loc": "105:10-105:11" + "loc": "107:10-107:11" }, { "token": [ "DOT_LIDENT", "g" ], - "loc": "105:12-105:13" + "loc": "107:12-107:13" }, { "token": "LPAREN", - "loc": "105:13-105:14" + "loc": "107:13-107:14" }, { "token": "TRUE", - "loc": "105:14-105:18" + "loc": "107:14-107:18" }, { "token": "COMMA", - "loc": "105:18-105:19" + "loc": "107:18-107:19" }, { "token": [ "STRING", "y" ], - "loc": "105:20-105:23" + "loc": "107:20-107:23" }, { "token": "RPAREN", - "loc": "105:23-105:24" + "loc": "107:23-107:24" }, { "token": "NEWLINE", - "loc": "105:24-105:25" + "loc": "107:24-107:25" }, { "token": "RBRACE", - "loc": "106:1-106:2" + "loc": "108:1-108:2" }, { "token": [ "SEMI", false ], - "loc": "106:2-106:2" + "loc": "108:2-108:2" }, { "token": "NEWLINE", - "loc": "106:2-106:3" + "loc": "108:2-108:3" }, { "token": "EOF", - "loc": "107:1-107:1" + "loc": "109:1-109:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_trait_obj3.json b/test/sync_test/__snapshot__/pipeline_test_trait_obj3.json index b4f96af8..a6c48588 100644 --- a/test/sync_test/__snapshot__/pipeline_test_trait_obj3.json +++ b/test/sync_test/__snapshot__/pipeline_test_trait_obj3.json @@ -664,7 +664,7 @@ } ] }, - "return_self": true, + "return_self": false, "attr": { "kind": "ApplyAttr::NoAttr", "loc": null, diff --git a/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt b/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt index 88182352..f83438f4 100644 --- a/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt @@ -8,5 +8,5 @@ impl Obj for Unit with f(_self, x) { fn init { let obj = () as &Obj - obj..f(1)..f(2)..f(3)..f(4) + obj..f(1)..f(2)..f(3).f(4) } diff --git a/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt.tokens.json index f44bd353..8c146797 100644 --- a/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_trait_obj3.mbt.tokens.json @@ -350,35 +350,31 @@ "token": "RPAREN", "loc": "11:23-11:24" }, - { - "token": "DOTDOT", - "loc": "11:24-11:26" - }, { "token": [ - "LIDENT", + "DOT_LIDENT", "f" ], - "loc": "11:26-11:27" + "loc": "11:25-11:26" }, { "token": "LPAREN", - "loc": "11:27-11:28" + "loc": "11:26-11:27" }, { "token": [ "INT", "4" ], - "loc": "11:28-11:29" + "loc": "11:27-11:28" }, { "token": "RPAREN", - "loc": "11:29-11:30" + "loc": "11:28-11:29" }, { "token": "NEWLINE", - "loc": "11:30-11:31" + "loc": "11:29-11:30" }, { "token": "RBRACE", diff --git a/test/sync_test/__snapshot__/parse_test_multiline_string_literals.json b/test/sync_test/__snapshot__/pipeline_test_try_result_type.json similarity index 57% rename from test/sync_test/__snapshot__/parse_test_multiline_string_literals.json rename to test/sync_test/__snapshot__/pipeline_test_try_result_type.json index d420e294..59544ea9 100644 --- a/test/sync_test/__snapshot__/parse_test_multiline_string_literals.json +++ b/test/sync_test/__snapshot__/pipeline_test_try_result_type.json @@ -12,7 +12,7 @@ "kind": "Binder", "loc": null, "children": { - "name": "hello" + "name": "f" } }, "has_error": null, @@ -20,7 +20,45 @@ "decl_params": { "kind": "FunDecl::ParameterList", "loc": null, - "children": [] + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "c" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Bool" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] }, "quantifiers": { "kind": "FunDecl::QuantifierList", @@ -39,7 +77,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "String" + "value": "Int64" } } } @@ -52,7 +90,7 @@ } }, "error_type": { - "kind": "ErrorType::NoErrorType", + "kind": "ErrorType::DefaultErrorType", "loc": null, "children": {} }, @@ -79,100 +117,105 @@ "children": [] }, "expr": { - "kind": "Expr::MultilineString", + "kind": "Expr::If", "loc": null, "children": { - "elems": { - "kind": "Expr::MultilineString::ElemList", + "cond": { + "kind": "Expr::Ident", "loc": null, - "children": [ - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " Hello," - } - }, - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " World." - } - }, - { - "kind": "MultilineString::String", + "children": { + "id": { + "kind": "Var", "loc": null, "children": { - "value": "" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "c" + } + } } } - ] - } - } - } - } - } - } - }, - { - "kind": "Impl::TopLetDef", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "str" - } - }, - "ty": null, - "expr": { - "kind": "Expr::MultilineString", - "loc": null, - "children": { - "elems": { - "kind": "Expr::MultilineString::ElemList", - "loc": null, - "children": [ - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " Hello," } }, - { - "kind": "MultilineString::String", + "ifso": { + "kind": "Expr::Constant", "loc": null, "children": { - "value": " World." + "constant": { + "kind": "Constant::Int64", + "loc": null, + "children": { + "value": "0" + } + } } }, - { - "kind": "MultilineString::String", + "ifnot": { + "kind": "Expr::Apply", "loc": null, "children": { - "value": "" + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "fail" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::String", + "loc": null, + "children": { + "value": "1" + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } } } - ] + } } } - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "is_constant": false, - "is_declare": false, - "attrs": { - "kind": "Impl::TopLetDef::AttrList", - "loc": null, - "children": [] - }, - "doc": "" + } } }, { @@ -188,20 +231,85 @@ "kind": "Binder", "loc": null, "children": { - "name": "init" + "name": "g" } }, "has_error": null, "is_async": null, - "decl_params": null, + "decl_params": { + "kind": "FunDecl::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "c" + } + }, + "ty": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Bool" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + } + } + } + ] + }, "quantifiers": { "kind": "FunDecl::QuantifierList", "loc": null, "children": [] }, - "return_type": null, + "return_type": { + "kind": "Type::Name", + "loc": null, + "children": { + "constr_id": { + "kind": "ConstrId", + "loc": null, + "children": { + "id": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "Unit" + } + } + } + }, + "tys": { + "kind": "Type::Name::TypeList", + "loc": null, + "children": [] + } + } + }, "error_type": { - "kind": "ErrorType::NoErrorType", + "kind": "ErrorType::DefaultErrorType", "loc": null, "children": {} }, @@ -228,130 +336,127 @@ "children": [] }, "expr": { - "kind": "Expr::Let", + "kind": "Expr::Try", "loc": null, "children": { - "pattern": { - "kind": "Pattern::Var", - "loc": null, - "children": { - "value": { - "kind": "Binder", - "loc": null, - "children": { - "name": "s" - } - } - } - }, - "expr": { - "kind": "Expr::MultilineString", - "loc": null, - "children": { - "elems": { - "kind": "Expr::MultilineString::ElemList", - "loc": null, - "children": [ - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " Hello," - } - }, - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " World." - } - }, - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": "" - } - } - ] - } - } - }, "body": { - "kind": "Expr::Sequence", + "kind": "Expr::Group", "loc": null, "children": { - "exprs": { - "kind": "Expr::Sequence::ExprList", + "expr": { + "kind": "Expr::Apply", "loc": null, - "children": [ - { - "kind": "Expr::Apply", + "children": { + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "id": { - "kind": "Var", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "println" - } - } + "value": "f" } } } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Ident", "loc": null, "children": { - "value": { - "kind": "Expr::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "id": { - "kind": "Var", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "s" - } - } + "value": "c" } } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} + } } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "group": { + "kind": "Group::Brace", + "loc": null, + "children": {} + } + } + }, + "catch": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} + }, + "guard": null, + "body": { + "kind": "Expr::Unit", + "loc": null, + "children": { + "faked": false } + } + } + } + ] + }, + "catch_all": false, + "try_else": { + "kind": "Expr::Try::CaseList", + "loc": null, + "children": [ + { + "kind": "Case", + "loc": null, + "children": { + "pattern": { + "kind": "Pattern::Any", + "loc": null, + "children": {} }, - { + "guard": null, + "body": { "kind": "Expr::Apply", "loc": null, "children": { @@ -367,7 +472,7 @@ "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "println" + "value": "fail" } } } @@ -383,20 +488,14 @@ "loc": null, "children": { "value": { - "kind": "Expr::Ident", + "kind": "Expr::Constant", "loc": null, "children": { - "id": { - "kind": "Var", + "constant": { + "kind": "Constant::String", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "str" - } - } + "value": "!" } } } @@ -417,9 +516,78 @@ } } } - ] - }, - "last_expr": { + } + } + ] + }, + "has_try": true + } + } + } + } + } + }, + { + "kind": "Impl::TopFuncDef", + "loc": null, + "children": { + "fun_decl": { + "kind": "FunDecl", + "loc": null, + "children": { + "type_name": null, + "name": { + "kind": "Binder", + "loc": null, + "children": { + "name": "init" + } + }, + "has_error": null, + "is_async": null, + "decl_params": null, + "quantifiers": { + "kind": "FunDecl::QuantifierList", + "loc": null, + "children": [] + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, + "vis": { + "kind": "Visibility::Default", + "loc": null, + "children": {} + }, + "attrs": { + "kind": "FunDecl::AttrList", + "loc": null, + "children": [] + }, + "doc": "" + } + }, + "decl_body": { + "kind": "DeclBody::DeclBody", + "loc": null, + "children": { + "local_types": { + "kind": "DeclBody::DeclBody::LocalTypeList", + "loc": null, + "children": [] + }, + "expr": { + "kind": "Expr::Sequence", + "loc": null, + "children": { + "exprs": { + "kind": "Expr::Sequence::ExprList", + "loc": null, + "children": [ + { "kind": "Expr::Apply", "loc": null, "children": { @@ -451,35 +619,71 @@ "loc": null, "children": { "value": { - "kind": "Expr::Apply", + "kind": "Expr::TryOperator", "loc": null, "children": { - "func": { - "kind": "Expr::Ident", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "id": { - "kind": "Var", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "name": { - "kind": "LongIdent::Ident", + "id": { + "kind": "Var", "loc": null, "children": { - "value": "hello" + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "g" + } + } } } } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Bool", + "loc": null, + "children": { + "value": true + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} } } }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", + "kind": { + "kind": "TryOperatorKind::Question", "loc": null, "children": {} } @@ -501,532 +705,125 @@ } } } - } - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "multiline_string_with_interp1" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", + ] + }, + "last_expr": { + "kind": "Expr::Apply", "loc": null, "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", + "func": { + "kind": "Expr::Ident", "loc": null, "children": { - "constr_id": { - "kind": "ConstrId", + "id": { + "kind": "Var", "loc": null, "children": { - "id": { + "name": { "kind": "LongIdent::Ident", "loc": null, "children": { - "value": "Int" + "value": "println" } } } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] } } - } - } - }, - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "y" - } }, - "ty": { - "kind": "Type::Name", + "args": { + "kind": "Expr::Apply::ArgumentList", "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", + "children": [ + { + "kind": "Argument", "loc": null, "children": { - "id": { - "kind": "LongIdent::Ident", + "value": { + "kind": "Expr::TryOperator", "loc": null, "children": { - "value": "Bool" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "String" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Group", - "loc": null, - "children": { - "expr": { - "kind": "Expr::MultilineString", - "loc": null, - "children": { - "elems": { - "kind": "Expr::MultilineString::ElemList", - "loc": null, - "children": [ - { - "kind": "MultilineString::Interp", - "loc": null, - "children": { - "value": { - "kind": "MultilineString::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", + "body": { + "kind": "Expr::Apply", "loc": null, "children": { - "repr": " Hello, " + "func": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "g" + } + } + } + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ + { + "kind": "Argument", + "loc": null, + "children": { + "value": { + "kind": "Expr::Constant", + "loc": null, + "children": { + "constant": { + "kind": "Constant::Bool", + "loc": null, + "children": { + "value": false + } + } + } + }, + "kind": { + "kind": "ArgumentKind::Positional", + "loc": null, + "children": {} + } + } + } + ] + }, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } } }, - { - "kind": "InterpElem::Source", + "kind": { + "kind": "TryOperatorKind::Question", "loc": null, - "children": { - "source": "y" - } + "children": {} } - ] - } - } - }, - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " String 1" - } - }, - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " String 2" - } - }, - { - "kind": "MultilineString::Interp", - "loc": null, - "children": { - "value": { - "kind": "MultilineString::Interp::ElemList", + } + }, + "kind": { + "kind": "ArgumentKind::Positional", "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": " \\t Goodbye, " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "f(x + 5)" - } - } - ] + "children": {} } } - }, - { - "kind": "MultilineString::String", - "loc": null, - "children": { - "value": " String 3" - } } ] - } - } - }, - "group": { - "kind": "Group::Paren", - "loc": null, - "children": {} - } - } - } - } - } - } - }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "multiline_string_with_interp2" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } }, - "ty": { - "kind": "Type::Name", + "attr": { + "kind": "ApplyAttr::NoAttr", "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Int" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } + "children": {} } } - }, - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "y" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Bool" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "String" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Group", - "loc": null, - "children": { - "expr": { - "kind": "Expr::MultilineString", - "loc": null, - "children": { - "elems": { - "kind": "Expr::MultilineString::ElemList", - "loc": null, - "children": [ - { - "kind": "MultilineString::Interp", - "loc": null, - "children": { - "value": { - "kind": "MultilineString::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": " no interpolation" - } - } - ] - } - } - }, - { - "kind": "MultilineString::Interp", - "loc": null, - "children": { - "value": { - "kind": "MultilineString::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": " Hello, " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "y" - } - } - ] - } - } - }, - { - "kind": "MultilineString::Interp", - "loc": null, - "children": { - "value": { - "kind": "MultilineString::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": " \\t Goodbye, " - } - }, - { - "kind": "InterpElem::Source", - "loc": null, - "children": { - "source": "f(x + 5)" - } - } - ] - } - } - }, - { - "kind": "MultilineString::Interp", - "loc": null, - "children": { - "value": { - "kind": "MultilineString::Interp::ElemList", - "loc": null, - "children": [ - { - "kind": "InterpElem::Literal", - "loc": null, - "children": { - "repr": "" - } - } - ] - } - } - } - ] - } - } - }, - "group": { - "kind": "Group::Paren", - "loc": null, - "children": {} } } } diff --git a/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt b/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt index 975744d5..851399b2 100644 --- a/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt @@ -11,7 +11,7 @@ fn g(c : Bool) -> Unit raise { f(c) } catch { _ => () - } else { + } noraise { _ => fail("!") } } diff --git a/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt.tokens.json index 40a7b778..62ace129 100644 --- a/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_try_result_type.mbt.tokens.json @@ -297,16 +297,16 @@ "loc": "14:3-14:4" }, { - "token": "ELSE", - "loc": "14:5-14:9" + "token": "NORAISE", + "loc": "14:5-14:12" }, { "token": "LBRACE", - "loc": "14:10-14:11" + "loc": "14:13-14:14" }, { "token": "NEWLINE", - "loc": "14:11-14:12" + "loc": "14:14-14:15" }, { "token": "UNDERSCORE", diff --git a/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.json b/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.json index 41b5ada6..482bd4a1 100644 --- a/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.json +++ b/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.json @@ -102,297 +102,6 @@ } } }, - { - "kind": "Impl::TopFuncDef", - "loc": null, - "children": { - "fun_decl": { - "kind": "FunDecl", - "loc": null, - "children": { - "type_name": null, - "name": { - "kind": "Binder", - "loc": null, - "children": { - "name": "apply" - } - }, - "has_error": null, - "is_async": null, - "decl_params": { - "kind": "FunDecl::ParameterList", - "loc": null, - "children": [ - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "f" - } - }, - "ty": { - "kind": "Type::Arrow", - "loc": null, - "children": { - "args": { - "kind": "Type::Arrow::ArgList", - "loc": null, - "children": [ - { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "X" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - ] - }, - "res": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Y" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "err": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "is_async": null - } - } - } - }, - { - "kind": "Parameter::Positional", - "loc": null, - "children": { - "binder": { - "kind": "Binder", - "loc": null, - "children": { - "name": "x" - } - }, - "ty": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "X" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - } - } - } - ] - }, - "quantifiers": { - "kind": "FunDecl::QuantifierList", - "loc": null, - "children": [ - { - "kind": "TypeVarBinder", - "loc": null, - "children": { - "name": "X", - "constraints": { - "kind": "TypeVarBinder::TypeVarConstraintList", - "loc": null, - "children": [] - } - } - }, - { - "kind": "TypeVarBinder", - "loc": null, - "children": { - "name": "Y", - "constraints": { - "kind": "TypeVarBinder::TypeVarConstraintList", - "loc": null, - "children": [] - } - } - } - ] - }, - "return_type": { - "kind": "Type::Name", - "loc": null, - "children": { - "constr_id": { - "kind": "ConstrId", - "loc": null, - "children": { - "id": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "Y" - } - } - } - }, - "tys": { - "kind": "Type::Name::TypeList", - "loc": null, - "children": [] - } - } - }, - "error_type": { - "kind": "ErrorType::NoErrorType", - "loc": null, - "children": {} - }, - "vis": { - "kind": "Visibility::Default", - "loc": null, - "children": {} - }, - "attrs": { - "kind": "FunDecl::AttrList", - "loc": null, - "children": [] - }, - "doc": "" - } - }, - "decl_body": { - "kind": "DeclBody::DeclBody", - "loc": null, - "children": { - "local_types": { - "kind": "DeclBody::DeclBody::LocalTypeList", - "loc": null, - "children": [] - }, - "expr": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "f" - } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Ident", - "loc": null, - "children": { - "id": { - "kind": "Var", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "x" - } - } - } - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - } - } - } - } - }, { "kind": "Impl::TopFuncDef", "loc": null, @@ -467,117 +176,48 @@ "loc": null, "children": { "func": { - "kind": "Expr::Ident", + "kind": "Expr::Constr", "loc": null, "children": { - "id": { - "kind": "Var", + "constr": { + "kind": "Constructor", "loc": null, "children": { "name": { - "kind": "LongIdent::Ident", + "kind": "ConstrName", "loc": null, "children": { - "value": "apply" + "name": "T" } - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Apply", + }, + "extra_info": { + "kind": "ConstructorExtraInfo::TypeName", "loc": null, "children": { - "func": { - "kind": "Expr::Constr", + "value": { + "kind": "TypeName", "loc": null, "children": { - "constr": { - "kind": "Constructor", + "name": { + "kind": "LongIdent::Ident", "loc": null, "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "T" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::TypeName", - "loc": null, - "children": { - "value": { - "kind": "TypeName", - "loc": null, - "children": { - "name": { - "kind": "LongIdent::Ident", - "loc": null, - "children": { - "value": "T" - } - }, - "is_object": false - } - } - } - } + "value": "T" } - } + }, + "is_object": false } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Hole", - "loc": null, - "children": { - "kind": { - "kind": "Hole::Incomplete", - "loc": null, - "children": {} - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} } } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} } } - }, + } + } + }, + "args": { + "kind": "Expr::Apply::ArgumentList", + "loc": null, + "children": [ { "kind": "Argument", "loc": null, @@ -824,19 +464,24 @@ "loc": null, "children": { "func": { - "kind": "Expr::Ident", + "kind": "Expr::Constr", "loc": null, "children": { - "id": { - "kind": "Var", + "constr": { + "kind": "Constructor", "loc": null, "children": { "name": { - "kind": "LongIdent::Ident", + "kind": "ConstrName", "loc": null, "children": { - "value": "apply" + "name": "Some" } + }, + "extra_info": { + "kind": "ConstructorExtraInfo::NoExtraInfo", + "loc": null, + "children": {} } } } @@ -846,80 +491,6 @@ "kind": "Expr::Apply::ArgumentList", "loc": null, "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Apply", - "loc": null, - "children": { - "func": { - "kind": "Expr::Constr", - "loc": null, - "children": { - "constr": { - "kind": "Constructor", - "loc": null, - "children": { - "name": { - "kind": "ConstrName", - "loc": null, - "children": { - "name": "Some" - } - }, - "extra_info": { - "kind": "ConstructorExtraInfo::NoExtraInfo", - "loc": null, - "children": {} - } - } - } - } - }, - "args": { - "kind": "Expr::Apply::ArgumentList", - "loc": null, - "children": [ - { - "kind": "Argument", - "loc": null, - "children": { - "value": { - "kind": "Expr::Hole", - "loc": null, - "children": { - "kind": { - "kind": "Hole::Incomplete", - "loc": null, - "children": {} - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - } - ] - }, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} - } - } - }, - "kind": { - "kind": "ArgumentKind::Positional", - "loc": null, - "children": {} - } - } - }, { "kind": "Argument", "loc": null, diff --git a/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt b/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt index 4fbf4413..81f27148 100644 --- a/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt @@ -1,16 +1,12 @@ struct T(Int?) derive (Show) -fn[X, Y] apply(f: (X) -> Y, x: X) -> Y { - f(x) -} - fn init { - let a = apply(T::T(_), Option::Some(1)) + let a = T::T(Option::Some(1)) println(a) } fn init { - let a = apply(Some(_), 1) + let a = Some(1) println(a) } diff --git a/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt.tokens.json index 611dfb13..8c634fe9 100644 --- a/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_tuple_struct3.mbt.tokens.json @@ -67,688 +67,474 @@ "token": "FN", "loc": "3:1-3:3" }, - { - "token": "LBRACKET", - "loc": "3:3-3:4" - }, - { - "token": [ - "UIDENT", - "X" - ], - "loc": "3:4-3:5" - }, - { - "token": "COMMA", - "loc": "3:5-3:6" - }, - { - "token": [ - "UIDENT", - "Y" - ], - "loc": "3:7-3:8" - }, - { - "token": "RBRACKET", - "loc": "3:8-3:9" - }, - { - "token": [ - "LIDENT", - "apply" - ], - "loc": "3:10-3:15" - }, - { - "token": "LPAREN", - "loc": "3:15-3:16" - }, - { - "token": [ - "LIDENT", - "f" - ], - "loc": "3:16-3:17" - }, - { - "token": "COLON", - "loc": "3:17-3:18" - }, - { - "token": "LPAREN", - "loc": "3:19-3:20" - }, - { - "token": [ - "UIDENT", - "X" - ], - "loc": "3:20-3:21" - }, - { - "token": "RPAREN", - "loc": "3:21-3:22" - }, - { - "token": "THIN_ARROW", - "loc": "3:23-3:25" - }, - { - "token": [ - "UIDENT", - "Y" - ], - "loc": "3:26-3:27" - }, - { - "token": "COMMA", - "loc": "3:27-3:28" - }, - { - "token": [ - "LIDENT", - "x" - ], - "loc": "3:29-3:30" - }, - { - "token": "COLON", - "loc": "3:30-3:31" - }, - { - "token": [ - "UIDENT", - "X" - ], - "loc": "3:32-3:33" - }, - { - "token": "RPAREN", - "loc": "3:33-3:34" - }, - { - "token": "THIN_ARROW", - "loc": "3:35-3:37" - }, - { - "token": [ - "UIDENT", - "Y" - ], - "loc": "3:38-3:39" - }, - { - "token": "LBRACE", - "loc": "3:40-3:41" - }, - { - "token": "NEWLINE", - "loc": "3:41-3:42" - }, - { - "token": [ - "LIDENT", - "f" - ], - "loc": "4:3-4:4" - }, - { - "token": "LPAREN", - "loc": "4:4-4:5" - }, - { - "token": [ - "LIDENT", - "x" - ], - "loc": "4:5-4:6" - }, - { - "token": "RPAREN", - "loc": "4:6-4:7" - }, - { - "token": "NEWLINE", - "loc": "4:7-4:8" - }, - { - "token": "RBRACE", - "loc": "5:1-5:2" - }, - { - "token": [ - "SEMI", - false - ], - "loc": "5:2-5:2" - }, - { - "token": "NEWLINE", - "loc": "5:2-5:3" - }, - { - "token": "NEWLINE", - "loc": "6:1-6:2" - }, - { - "token": "FN", - "loc": "7:1-7:3" - }, { "token": [ "LIDENT", "init" ], - "loc": "7:4-7:8" + "loc": "3:4-3:8" }, { "token": "LBRACE", - "loc": "7:9-7:10" + "loc": "3:9-3:10" }, { "token": "NEWLINE", - "loc": "7:10-7:11" + "loc": "3:10-3:11" }, { "token": "LET", - "loc": "8:3-8:6" + "loc": "4:3-4:6" }, { "token": [ "LIDENT", "a" ], - "loc": "8:7-8:8" + "loc": "4:7-4:8" }, { "token": "EQUAL", - "loc": "8:9-8:10" - }, - { - "token": [ - "LIDENT", - "apply" - ], - "loc": "8:11-8:16" - }, - { - "token": "LPAREN", - "loc": "8:16-8:17" + "loc": "4:9-4:10" }, { "token": [ "UIDENT", "T" ], - "loc": "8:17-8:18" + "loc": "4:11-4:12" }, { "token": "COLONCOLON", - "loc": "8:18-8:20" + "loc": "4:12-4:14" }, { "token": [ "UIDENT", "T" ], - "loc": "8:20-8:21" + "loc": "4:14-4:15" }, { "token": "LPAREN", - "loc": "8:21-8:22" - }, - { - "token": "UNDERSCORE", - "loc": "8:22-8:23" - }, - { - "token": "RPAREN", - "loc": "8:23-8:24" - }, - { - "token": "COMMA", - "loc": "8:24-8:25" + "loc": "4:15-4:16" }, { "token": [ "UIDENT", "Option" ], - "loc": "8:26-8:32" + "loc": "4:16-4:22" }, { "token": "COLONCOLON", - "loc": "8:32-8:34" + "loc": "4:22-4:24" }, { "token": [ "UIDENT", "Some" ], - "loc": "8:34-8:38" + "loc": "4:24-4:28" }, { "token": "LPAREN", - "loc": "8:38-8:39" + "loc": "4:28-4:29" }, { "token": [ "INT", "1" ], - "loc": "8:39-8:40" + "loc": "4:29-4:30" }, { "token": "RPAREN", - "loc": "8:40-8:41" + "loc": "4:30-4:31" }, { "token": "RPAREN", - "loc": "8:41-8:42" + "loc": "4:31-4:32" }, { "token": [ "SEMI", false ], - "loc": "8:42-8:42" + "loc": "4:32-4:32" }, { "token": "NEWLINE", - "loc": "8:42-8:43" + "loc": "4:32-4:33" }, { "token": [ "LIDENT", "println" ], - "loc": "9:3-9:10" + "loc": "5:3-5:10" }, { "token": "LPAREN", - "loc": "9:10-9:11" + "loc": "5:10-5:11" }, { "token": [ "LIDENT", "a" ], - "loc": "9:11-9:12" + "loc": "5:11-5:12" }, { "token": "RPAREN", - "loc": "9:12-9:13" + "loc": "5:12-5:13" }, { "token": "NEWLINE", - "loc": "9:13-9:14" + "loc": "5:13-5:14" }, { "token": "RBRACE", - "loc": "10:1-10:2" + "loc": "6:1-6:2" }, { "token": [ "SEMI", false ], - "loc": "10:2-10:2" + "loc": "6:2-6:2" }, { "token": "NEWLINE", - "loc": "10:2-10:3" + "loc": "6:2-6:3" }, { "token": "NEWLINE", - "loc": "11:1-11:2" + "loc": "7:1-7:2" }, { "token": "FN", - "loc": "12:1-12:3" + "loc": "8:1-8:3" }, { "token": [ "LIDENT", "init" ], - "loc": "12:4-12:8" + "loc": "8:4-8:8" }, { "token": "LBRACE", - "loc": "12:9-12:10" + "loc": "8:9-8:10" }, { "token": "NEWLINE", - "loc": "12:10-12:11" + "loc": "8:10-8:11" }, { "token": "LET", - "loc": "13:3-13:6" + "loc": "9:3-9:6" }, { "token": [ "LIDENT", "a" ], - "loc": "13:7-13:8" + "loc": "9:7-9:8" }, { "token": "EQUAL", - "loc": "13:9-13:10" - }, - { - "token": [ - "LIDENT", - "apply" - ], - "loc": "13:11-13:16" - }, - { - "token": "LPAREN", - "loc": "13:16-13:17" + "loc": "9:9-9:10" }, { "token": [ "UIDENT", "Some" ], - "loc": "13:17-13:21" + "loc": "9:11-9:15" }, { "token": "LPAREN", - "loc": "13:21-13:22" - }, - { - "token": "UNDERSCORE", - "loc": "13:22-13:23" - }, - { - "token": "RPAREN", - "loc": "13:23-13:24" - }, - { - "token": "COMMA", - "loc": "13:24-13:25" + "loc": "9:15-9:16" }, { "token": [ "INT", "1" ], - "loc": "13:26-13:27" + "loc": "9:16-9:17" }, { "token": "RPAREN", - "loc": "13:27-13:28" + "loc": "9:17-9:18" }, { "token": [ "SEMI", false ], - "loc": "13:28-13:28" + "loc": "9:18-9:18" }, { "token": "NEWLINE", - "loc": "13:28-13:29" + "loc": "9:18-9:19" }, { "token": [ "LIDENT", "println" ], - "loc": "14:3-14:10" + "loc": "10:3-10:10" }, { "token": "LPAREN", - "loc": "14:10-14:11" + "loc": "10:10-10:11" }, { "token": [ "LIDENT", "a" ], - "loc": "14:11-14:12" + "loc": "10:11-10:12" }, { "token": "RPAREN", - "loc": "14:12-14:13" + "loc": "10:12-10:13" }, { "token": "NEWLINE", - "loc": "14:13-14:14" + "loc": "10:13-10:14" }, { "token": "RBRACE", - "loc": "15:1-15:2" + "loc": "11:1-11:2" }, { "token": [ "SEMI", false ], - "loc": "15:2-15:2" + "loc": "11:2-11:2" }, { "token": "NEWLINE", - "loc": "15:2-15:3" + "loc": "11:2-11:3" }, { "token": "NEWLINE", - "loc": "16:1-16:2" + "loc": "12:1-12:2" }, { "token": "STRUCT", - "loc": "17:1-17:7" + "loc": "13:1-13:7" }, { "token": [ "UIDENT", "Point" ], - "loc": "17:8-17:13" + "loc": "13:8-13:13" }, { "token": "LPAREN", - "loc": "17:13-17:14" + "loc": "13:13-13:14" }, { "token": [ "UIDENT", "Int" ], - "loc": "17:14-17:17" + "loc": "13:14-13:17" }, { "token": "COMMA", - "loc": "17:17-17:18" + "loc": "13:17-13:18" }, { "token": [ "UIDENT", "Int" ], - "loc": "17:18-17:21" + "loc": "13:18-13:21" }, { "token": "COMMA", - "loc": "17:21-17:22" + "loc": "13:21-13:22" }, { "token": [ "UIDENT", "Int" ], - "loc": "17:22-17:25" + "loc": "13:22-13:25" }, { "token": "RPAREN", - "loc": "17:25-17:26" + "loc": "13:25-13:26" }, { "token": "DERIVE", - "loc": "17:27-17:33" + "loc": "13:27-13:33" }, { "token": "LPAREN", - "loc": "17:33-17:34" + "loc": "13:33-13:34" }, { "token": [ "UIDENT", "ToJson" ], - "loc": "17:34-17:40" + "loc": "13:34-13:40" }, { "token": "RPAREN", - "loc": "17:40-17:41" + "loc": "13:40-13:41" }, { "token": [ "SEMI", false ], - "loc": "17:41-17:41" + "loc": "13:41-13:41" }, { "token": "NEWLINE", - "loc": "17:41-17:42" + "loc": "13:41-13:42" }, { "token": "NEWLINE", - "loc": "18:1-18:2" + "loc": "14:1-14:2" }, { "token": "FN", - "loc": "19:1-19:3" + "loc": "15:1-15:3" }, { "token": [ "LIDENT", "init" ], - "loc": "19:4-19:8" + "loc": "15:4-15:8" }, { "token": "LBRACE", - "loc": "19:9-19:10" + "loc": "15:9-15:10" }, { "token": "NEWLINE", - "loc": "19:10-19:11" + "loc": "15:10-15:11" }, { "token": [ "LIDENT", "println" ], - "loc": "20:3-20:10" + "loc": "16:3-16:10" }, { "token": "LPAREN", - "loc": "20:10-20:11" + "loc": "16:10-16:11" }, { "token": [ "UIDENT", "Point" ], - "loc": "20:11-20:16" + "loc": "16:11-16:16" }, { "token": "LPAREN", - "loc": "20:16-20:17" + "loc": "16:16-16:17" }, { "token": [ "INT", "1" ], - "loc": "20:17-20:18" + "loc": "16:17-16:18" }, { "token": "COMMA", - "loc": "20:18-20:19" + "loc": "16:18-16:19" }, { "token": [ "INT", "2" ], - "loc": "20:19-20:20" + "loc": "16:19-16:20" }, { "token": "COMMA", - "loc": "20:20-20:21" + "loc": "16:20-16:21" }, { "token": [ "INT", "3" ], - "loc": "20:21-20:22" + "loc": "16:21-16:22" }, { "token": "RPAREN", - "loc": "20:22-20:23" + "loc": "16:22-16:23" }, { "token": [ "DOT_LIDENT", "to_json" ], - "loc": "20:24-20:31" + "loc": "16:24-16:31" }, { "token": "LPAREN", - "loc": "20:31-20:32" + "loc": "16:31-16:32" }, { "token": "RPAREN", - "loc": "20:32-20:33" + "loc": "16:32-16:33" }, { "token": [ "DOT_LIDENT", "stringify" ], - "loc": "20:34-20:43" + "loc": "16:34-16:43" }, { "token": "LPAREN", - "loc": "20:43-20:44" + "loc": "16:43-16:44" }, { "token": "RPAREN", - "loc": "20:44-20:45" + "loc": "16:44-16:45" }, { "token": "RPAREN", - "loc": "20:45-20:46" + "loc": "16:45-16:46" }, { "token": "NEWLINE", - "loc": "20:46-20:47" + "loc": "16:46-16:47" }, { "token": "RBRACE", - "loc": "21:1-21:2" + "loc": "17:1-17:2" }, { "token": [ "SEMI", false ], - "loc": "21:2-21:2" + "loc": "17:2-17:2" }, { "token": "NEWLINE", - "loc": "21:2-21:3" + "loc": "17:2-17:3" }, { "token": "EOF", - "loc": "22:1-22:1" + "loc": "18:1-18:1" } ] \ No newline at end of file diff --git a/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.json b/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.json index 0573274e..acc14c9a 100644 --- a/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.json +++ b/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.json @@ -604,37 +604,90 @@ "loc": null, "children": { "value": { - "kind": "Expr::DotApply", + "kind": "Expr::Function", "loc": null, "children": { - "self": { - "kind": "Expr::Hole", + "func": { + "kind": "Func::Lambda", "loc": null, "children": { + "parameters": { + "kind": "Func::Lambda::ParameterList", + "loc": null, + "children": [ + { + "kind": "Parameter::Positional", + "loc": null, + "children": { + "binder": { + "kind": "Binder", + "loc": null, + "children": { + "name": "n" + } + }, + "ty": null + } + } + ] + }, + "body": { + "kind": "Expr::DotApply", + "loc": null, + "children": { + "self": { + "kind": "Expr::Ident", + "loc": null, + "children": { + "id": { + "kind": "Var", + "loc": null, + "children": { + "name": { + "kind": "LongIdent::Ident", + "loc": null, + "children": { + "value": "n" + } + } + } + } + } + }, + "method_name": { + "kind": "Label", + "loc": null, + "children": { + "name": "to_int" + } + }, + "args": { + "kind": "Expr::DotApply::ArgList", + "loc": null, + "children": [] + }, + "return_self": false, + "attr": { + "kind": "ApplyAttr::NoAttr", + "loc": null, + "children": {} + } + } + }, + "return_type": null, + "error_type": { + "kind": "ErrorType::NoErrorType", + "loc": null, + "children": {} + }, "kind": { - "kind": "Hole::Incomplete", + "kind": "FnKind::Arrow", "loc": null, "children": {} - } - } - }, - "method_name": { - "kind": "Label", - "loc": null, - "children": { - "name": "to_int" + }, + "has_error": null, + "is_async": null } - }, - "args": { - "kind": "Expr::DotApply::ArgList", - "loc": null, - "children": [] - }, - "return_self": false, - "attr": { - "kind": "ApplyAttr::NoAttr", - "loc": null, - "children": {} } } }, diff --git a/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt b/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt index 5f2650f7..225c8e64 100644 --- a/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt +++ b/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt @@ -9,7 +9,7 @@ struct S { ///| fn f(x : FixedArray[S]) -> Int { - x[0].a + x[0].b.map(_.to_int()).unwrap_or(x[1].a) + x[0].a + x[0].b.map(n => n.to_int()).unwrap_or(x[1].a) } ///| diff --git a/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt.tokens.json b/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt.tokens.json index e074fb87..92a926ce 100644 --- a/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt.tokens.json +++ b/test/sync_test/__snapshot__/pipeline_test_valtype_indirect_rec.mbt.tokens.json @@ -386,75 +386,89 @@ "loc": "12:22-12:23" }, { - "token": "UNDERSCORE", + "token": [ + "LIDENT", + "n" + ], "loc": "12:23-12:24" }, + { + "token": "FAT_ARROW", + "loc": "12:25-12:27" + }, + { + "token": [ + "LIDENT", + "n" + ], + "loc": "12:28-12:29" + }, { "token": [ "DOT_LIDENT", "to_int" ], - "loc": "12:25-12:31" + "loc": "12:30-12:36" }, { "token": "LPAREN", - "loc": "12:31-12:32" + "loc": "12:36-12:37" }, { "token": "RPAREN", - "loc": "12:32-12:33" + "loc": "12:37-12:38" }, { "token": "RPAREN", - "loc": "12:33-12:34" + "loc": "12:38-12:39" }, { "token": [ "DOT_LIDENT", "unwrap_or" ], - "loc": "12:35-12:44" + "loc": "12:40-12:49" }, { "token": "LPAREN", - "loc": "12:44-12:45" + "loc": "12:49-12:50" }, { "token": [ "LIDENT", "x" ], - "loc": "12:45-12:46" + "loc": "12:50-12:51" }, { "token": "LBRACKET", - "loc": "12:46-12:47" + "loc": "12:51-12:52" }, { "token": [ "INT", "1" ], - "loc": "12:47-12:48" + "loc": "12:52-12:53" }, { "token": "RBRACKET", - "loc": "12:48-12:49" + "loc": "12:53-12:54" }, { "token": [ "DOT_LIDENT", "a" ], - "loc": "12:50-12:51" + "loc": "12:55-12:56" }, { "token": "RPAREN", - "loc": "12:51-12:52" + "loc": "12:56-12:57" }, { "token": "NEWLINE", - "loc": "12:52-12:53" + "loc": "12:57-12:58" }, { "token": "RBRACE", diff --git a/test/sync_test/lexer_test.mbt b/test/sync_test/lexer_test.mbt index b3f7abc0..85b336a0 100644 --- a/test/sync_test/lexer_test.mbt +++ b/test/sync_test/lexer_test.mbt @@ -640,6 +640,11 @@ test "lexing pipeline_test_valstruct_error" (t : @test.Test) { lexer_test(t) } +///| +test "lexing parse_test_nobreak" (t : @test.Test) { + lexer_test(t) +} + ///| test "lexing pipeline_test_trait" (t : @test.Test) { lexer_test(t) @@ -2204,6 +2209,11 @@ test "lexing pipeline_test_closure6" (t : @test.Test) { lexer_test(t) } +///| +test "lexing pipeline_test_lexmatch_no_regex" (t : @test.Test) { + lexer_test(t) +} + ///| test "lexing pipeline_test_call_trait_method" (t : @test.Test) { lexer_test(t) @@ -3016,6 +3026,11 @@ test "lexing pipeline_test_closure_example" (t : @test.Test) { lexer_test(t) } +///| +test "lexing pipeline_test_loopify_corner_case" (t : @test.Test) { + lexer_test(t) +} + ///| test "lexing pipeline_test_smart_switch_constant" (t : @test.Test) { lexer_test(t) @@ -3051,6 +3066,11 @@ test "lexing pipeline_test_guard" (t : @test.Test) { lexer_test(t) } +///| +test "lexing parse_test_catch_noraise" (t : @test.Test) { + lexer_test(t) +} + ///| test "lexing parse_test_no_trailing_newline_ffi1" (t : @test.Test) { lexer_test(t) @@ -4676,6 +4696,11 @@ test "lexing pipeline_test_range_pattern" (t : @test.Test) { lexer_test(t) } +///| +test "lexing pipeline_test_local_tuple_struct" (t : @test.Test) { + lexer_test(t) +} + ///| test "lexing pipeline_test_contify_return2" (t : @test.Test) { lexer_test(t) @@ -5356,6 +5381,11 @@ test "lexing pipeline_test_recursive_ltype" (t : @test.Test) { lexer_test(t) } +///| +test "lexing pipeline_test_lexmatch_fastpath" (t : @test.Test) { + lexer_test(t) +} + ///| test "lexing pipeline_test_tail_catch" (t : @test.Test) { lexer_test(t) diff --git a/test/sync_test/parser_test.mbt b/test/sync_test/parser_test.mbt index efa00d0e..0d9d8069 100644 --- a/test/sync_test/parser_test.mbt +++ b/test/sync_test/parser_test.mbt @@ -45,6 +45,11 @@ test "pipeline_test_ycombinator" (t : @test.Test) { t.run() } +///| +test "pipeline_test_lexmatch_no_regex" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_009" (t : @test.Test) { t.run() @@ -245,12 +250,6 @@ test "pipeline_test_functional_loop3" (t : @test.Test) { t.run() } -///| -// NEED_UPDATE: -// test "parse_test_struct_constructor" (t : @test.Test) { -// t.run() -// } - ///| test "pipeline_test_string_from_uint16_array" (t : @test.Test) { t.run() @@ -391,11 +390,6 @@ test "pipeline_test_008" (t : @test.Test) { t.run() } -///| -test "parse_test_tuple_multiline_str" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_return_in_async_suspend" (t : @test.Test) { t.run() @@ -512,10 +506,9 @@ test "pipeline_test_bitstring_rev" (t : @test.Test) { } ///| -// NEED_UPDATE: -// test "pipeline_test_typing_coverage_lexmatch" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_typing_coverage_lexmatch" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_option_test" (t : @test.Test) { @@ -552,11 +545,6 @@ test "pipeline_test_trait_obj3" (t : @test.Test) { t.run() } -///| -test "parse_test_old_maybe_error_return_syntax" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_pattern_guard2" (t : @test.Test) { t.run() @@ -602,6 +590,11 @@ test "pipeline_test_is_expr_complex_cond" (t : @test.Test) { t.run() } +///| +test "pipeline_test_loopify_corner_case" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_pattern_guard_evil" (t : @test.Test) { t.run() @@ -832,11 +825,6 @@ test "pipeline_test_closure4" (t : @test.Test) { t.run() } -///| -test "parse_test_postfix_label" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_impure" (t : @test.Test) { t.run() @@ -1078,10 +1066,9 @@ test "pipeline_test_int64_range_pattern" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_tokenize_suffix" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_tokenize_suffix" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_local_type6" (t : @test.Test) { @@ -1199,10 +1186,9 @@ test "pipeline_test_error_poly_tail_rec" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_lexmatch_bug1" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_lexmatch_bug1" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_loop_label" (t : @test.Test) { @@ -1334,11 +1320,6 @@ test "pipeline_test_unicode_test" (t : @test.Test) { t.run() } -///| -test "parse_test_attribute" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_003" (t : @test.Test) { t.run() @@ -1379,11 +1360,6 @@ test "pipeline_test_method1" (t : @test.Test) { t.run() } -///| -test "parse_test_range_pattern" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_err_try_exclamation2" (t : @test.Test) { t.run() @@ -1515,10 +1491,9 @@ test "pipeline_test_constr_pattern_no_payload" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_lisp_tokenizer" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_lisp_tokenizer" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_mcore_inline" (t : @test.Test) { @@ -1595,6 +1570,11 @@ test "pipeline_test_empty_file" (t : @test.Test) { t.run() } +///| +test "pipeline_test_lexmatch_fastpath" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_readonlyarray_recgroup" (t : @test.Test) { t.run() @@ -1640,6 +1620,11 @@ test "pipeline_test_trait_obj_bound" (t : @test.Test) { t.run() } +///| +test "pipeline_test_error_poly_iter" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_err_array_set" (t : @test.Test) { t.run() @@ -1656,13 +1641,12 @@ test "pipeline_test_annotation_node" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_match_regex_utf8_bug" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_match_regex_utf8_bug" (t : @test.Test) { + t.run() +} ///| -// EDGE CASE +// FIXTHIS: EDGE CASE // test "parse_test_docstring" (t : @test.Test) { // t.run() // } @@ -1702,12 +1686,6 @@ test "pipeline_test_disambiguation" (t : @test.Test) { t.run() } -///| -// DELAY_TO_NEXT_SYNC(original test is broken) -// test "parse_test_error_type_question" (t : @test.Test) { -// t.run() -// } - ///| test "pipeline_test_toplevel_alias" (t : @test.Test) { t.run() @@ -1829,10 +1807,9 @@ test "pipeline_test_enum_repr" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_dfa_state_test" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_dfa_state_test" (t : @test.Test) { + t.run() +} ///| test "parse_test_operator_bitwise_or" (t : @test.Test) { @@ -2029,11 +2006,6 @@ test "pipeline_test_newtype4" (t : @test.Test) { t.run() } -///| -test "parse_test_bytes_literal" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_005" (t : @test.Test) { t.run() @@ -2159,11 +2131,6 @@ test "pipeline_test_error_handle10" (t : @test.Test) { t.run() } -///| -test "parse_test_try_expr_catch_bang" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_is_lexmatch" (t : @test.Test) { t.run() @@ -2285,10 +2252,9 @@ test "pipeline_test_loop_arg_side_effect" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "parse_test_lexmatch_pattern_sequence_semicolon_and_regex" (t : @test.Test) { -// t.run() -// } +test "parse_test_lexmatch_pattern_sequence_semicolon_and_regex" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_specialize_local_fn" (t : @test.Test) { @@ -2320,11 +2286,6 @@ test "pipeline_test_match_tuple" (t : @test.Test) { t.run() } -///| -test "parse_test_multiline_string_literals" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_return_in_join" (t : @test.Test) { t.run() @@ -2340,21 +2301,11 @@ test "pipeline_test_constant_error_constructor" (t : @test.Test) { t.run() } -///| -// test "parse_test_traitalias_pkg_single_target" (t : @test.Test) { -// t.run() -// } - ///| test "pipeline_test_value_enum_array" (t : @test.Test) { t.run() } -///| -test "parse_test_postfix_catch_all" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_large_data_section2" (t : @test.Test) { t.run() @@ -2510,6 +2461,11 @@ test "pipeline_test_trait_obj_simple" (t : @test.Test) { t.run() } +///| +test "pipeline_test_async_trait" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_float32" (t : @test.Test) { t.run() @@ -2576,10 +2532,9 @@ test "pipeline_test_012" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_struct_constructor" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_struct_constructor" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_match_bytes_constant" (t : @test.Test) { @@ -2712,10 +2667,9 @@ test "parse_test_paren_constraint_pattern" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_codepoint_at" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_codepoint_at" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_neg" (t : @test.Test) { @@ -2792,11 +2746,6 @@ test "pipeline_test_labelled_prim" (t : @test.Test) { t.run() } -///| -test "parse_test_function_type_with_trailing_comma" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_topo_sort_default_arg" (t : @test.Test) { t.run() @@ -2943,10 +2892,9 @@ test "pipeline_test_autoloc2" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_match_using_regex_calc" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_match_using_regex_calc" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_labelled_arg" (t : @test.Test) { @@ -2973,11 +2921,6 @@ test "pipeline_test_tuple_struct_array" (t : @test.Test) { t.run() } -///| -test "parse_test_fnalias" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_eq_type" (t : @test.Test) { t.run() @@ -3233,6 +3176,11 @@ test "pipeline_test_toplevel_pat" (t : @test.Test) { t.run() } +///| +test "pipeline_test_local_tuple_struct" (t : @test.Test) { + t.run() +} + ///| test "parse_test_cascade" (t : @test.Test) { t.run() @@ -3284,10 +3232,9 @@ test "pipeline_test_error_handle6" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "parse_test_lexmatch" (t : @test.Test) { -// t.run() -// } +test "parse_test_lexmatch" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_float_inf" (t : @test.Test) { @@ -3374,6 +3321,11 @@ test "pipeline_test_trait_method_no_self" (t : @test.Test) { t.run() } +///| +test "parse_test_catch_noraise" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_newtype3" (t : @test.Test) { t.run() @@ -3409,6 +3361,11 @@ test "pipeline_test_multiline_string_literals" (t : @test.Test) { t.run() } +///| +test "pipeline_test_error_tail" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_newtype_of_func" (t : @test.Test) { t.run() @@ -3484,6 +3441,11 @@ test "pipeline_test_const_propagate" (t : @test.Test) { t.run() } +///| +test "pipeline_test_error_enum_match" (t : @test.Test) { + t.run() +} + ///| test "parse_test_no_trailing_newline_let" (t : @test.Test) { t.run() @@ -3664,11 +3626,6 @@ test "pipeline_test_let_func" (t : @test.Test) { t.run() } -///| -test "parse_test_async_test" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_array_intrinsic" (t : @test.Test) { t.run() @@ -3759,6 +3716,11 @@ test "pipeline_test_valtype_indirect_rec" (t : @test.Test) { t.run() } +///| +test "pipeline_test_try_result_type" (t : @test.Test) { + t.run() +} + ///| test "pipeline_test_print_float" (t : @test.Test) { t.run() @@ -3820,10 +3782,9 @@ test "pipeline_test_bytes_utils_wasm" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_match_using_regex_wordcount" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_match_using_regex_wordcount" (t : @test.Test) { + t.run() +} ///| test "parse_test_no_trailing_newline_struct" (t : @test.Test) { @@ -3840,11 +3801,6 @@ test "pipeline_test_label_loop_foreach2" (t : @test.Test) { t.run() } -///| -test "parse_test_catch_all" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_trait_upcast" (t : @test.Test) { t.run() @@ -3860,11 +3816,6 @@ test "pipeline_test_error_poly_dce" (t : @test.Test) { t.run() } -///| -test "parse_test_fn_exclamation" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_err_handle" (t : @test.Test) { t.run() @@ -3986,10 +3937,9 @@ test "parse_test_docstring2" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_match_stringview_using_regex" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_match_stringview_using_regex" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_derive_debug" (t : @test.Test) { @@ -4177,10 +4127,9 @@ test "pipeline_test_init_order" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_lexmatch_first_guard" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_lexmatch_first_guard" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_default_method" (t : @test.Test) { @@ -4312,11 +4261,6 @@ test "pipeline_test_complex_pattern_guard2" (t : @test.Test) { t.run() } -///| -test "parse_test_extern_type" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_first_class_trait_method" (t : @test.Test) { t.run() @@ -4488,10 +4432,9 @@ test "pipeline_test_poly_record" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_lexmatch_first" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_lexmatch_first" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_string_repr" (t : @test.Test) { @@ -4529,10 +4472,9 @@ test "pipeline_test_stringview_literal" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_lexmatch_rest_bug" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_lexmatch_rest_bug" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_empty_record" (t : @test.Test) { @@ -4550,10 +4492,9 @@ test "parse_test_try_with_parentheses" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_lexmatch_unix_path" (t : @test.Test) { -// t.run() -// } +test "pipeline_test_lexmatch_unix_path" (t : @test.Test) { + t.run() +} ///| test "pipeline_test_local_newtype_derive" (t : @test.Test) { @@ -4615,11 +4556,6 @@ test "pipeline_test_share_fnsig" (t : @test.Test) { t.run() } -///| -test "parse_test_async_fn" (t : @test.Test) { - t.run() -} - ///| test "pipeline_test_local_type" (t : @test.Test) { t.run() @@ -4825,12 +4761,6 @@ test "pipeline_test_noraise" (t : @test.Test) { t.run() } -///| -// NEED_UPDATE -// test "parse_test_fnname_bang" (t : @test.Test) { -// t.run() -// } - ///| test "pipeline_test_test_main" (t : @test.Test) { t.run() @@ -4842,23 +4772,17 @@ test "pipeline_test_contify_ty_args" (t : @test.Test) { } ///| -// NEED_UPDATE -// test "pipeline_test_match_using_regex" (t : @test.Test) { -// t.run() -// } - -///| -test "pipeline_test_async_for" (t : @test.Test) { +test "pipeline_test_match_using_regex" (t : @test.Test) { t.run() } ///| -test "pipeline_test_async_misc" (t : @test.Test) { +test "pipeline_test_async_for" (t : @test.Test) { t.run() } ///| -test "parse_test_text_segment_test" (t : @test.Test) { +test "pipeline_test_async_misc" (t : @test.Test) { t.run() } diff --git a/tokens/expect_string.mbt b/tokens/expect_string.mbt index fb7020d0..151d0c14 100644 --- a/tokens/expect_string.mbt +++ b/tokens/expect_string.mbt @@ -116,5 +116,7 @@ pub fn TokenKind::to_expect_string(self : Self) -> String { TK_RANGE_INCLUSIVE_REV => ">=.." TK_RANGE_LT_INCLUSIVE => "..<=" TK_WHERE => "where" + TK_NOBREAK => "nobreak" + TK_PACKAGE => "package" } } diff --git a/tokens/pkg.generated.mbti b/tokens/pkg.generated.mbti index dd3257d1..d68fb45a 100644 --- a/tokens/pkg.generated.mbti +++ b/tokens/pkg.generated.mbti @@ -151,11 +151,13 @@ pub(all) enum Token { ENUMVIEW DECLARE NORAISE + NOBREAK WHERE TRY_QUESTION TRY_EXCLAMATION LEXMATCH LEXMATCH_QUESTION + PACKAGE } pub fn Token::kind(Self) -> TokenKind pub fn Token::to_expect_string(Self) -> String @@ -271,11 +273,13 @@ pub(all) enum TokenKind { TK_ENUMVIEW TK_DECLARE TK_NORAISE + TK_NOBREAK TK_WHERE TK_TRY_QUESTION TK_TRY_EXCLAMATION TK_LEXMATCH TK_LEXMATCH_QUESTION + TK_PACKAGE } pub fn TokenKind::to_expect_string(Self) -> String pub impl Compare for TokenKind diff --git a/tokens/token_to_json.mbt b/tokens/token_to_json.mbt index 3fc8f0a2..6f71d93d 100644 --- a/tokens/token_to_json.mbt +++ b/tokens/token_to_json.mbt @@ -142,5 +142,7 @@ pub impl ToJson for Token with to_json(self) { RANGE_INCLUSIVE_REV => "RANGE_INCLUSIVE_REV" RANGE_LT_INCLUSIVE => "RANGE_LT_INCLUSIVE" WHERE => "WHERE" + NOBREAK => "NOBREAK" + PACKAGE => "PACKAGE" } } diff --git a/tokens/tokens.mbt b/tokens/tokens.mbt index bd2af7b7..86980afa 100644 --- a/tokens/tokens.mbt +++ b/tokens/tokens.mbt @@ -108,11 +108,13 @@ pub(all) enum Token { ENUMVIEW DECLARE NORAISE + NOBREAK WHERE TRY_QUESTION TRY_EXCLAMATION LEXMATCH LEXMATCH_QUESTION + PACKAGE } derive(Show) ///| @@ -226,11 +228,13 @@ pub fn Token::kind(self : Token) -> TokenKind { ENUMVIEW => TK_ENUMVIEW DECLARE => TK_DECLARE NORAISE => TK_NORAISE + NOBREAK => TK_NOBREAK WHERE => TK_WHERE TRY_QUESTION => TK_TRY_QUESTION TRY_EXCLAMATION => TK_TRY_EXCLAMATION LEXMATCH => TK_LEXMATCH LEXMATCH_QUESTION => TK_LEXMATCH_QUESTION + PACKAGE => TK_PACKAGE } } @@ -344,11 +348,13 @@ pub(all) enum TokenKind { TK_ENUMVIEW TK_DECLARE TK_NORAISE + TK_NOBREAK TK_WHERE TK_TRY_QUESTION TK_TRY_EXCLAMATION TK_LEXMATCH TK_LEXMATCH_QUESTION + TK_PACKAGE } derive(Eq, Hash, Compare) ///| @@ -463,11 +469,13 @@ pub impl Show for TokenKind with output(self, logger) { TK_ENUMVIEW => "\"enumview\"" TK_DECLARE => "\"declare\"" TK_NORAISE => "\"noraise\"" + TK_NOBREAK => "\"nobreak\"" TK_WHERE => "\"where\"" TK_TRY_QUESTION => "\"try?\"" TK_TRY_EXCLAMATION => "\"try!\"" TK_LEXMATCH => "\"lexmatch\"" TK_LEXMATCH_QUESTION => "\"lexmatch?\"" + TK_PACKAGE => "\"package\"" }, ) } diff --git a/top.mbt b/top.mbt index b3fa1dd8..c7293322 100644 --- a/top.mbt +++ b/top.mbt @@ -75,13 +75,20 @@ fn attach_docstrings( .unwrap_or(@syntax.DocString::empty()) constr.doc = previous }) - Record(fields) => + Record(fields~, constr_decl~) => { fields.each(field => { let previous = skip_docstrings_before(field.loc.start) .map(make_doc) .unwrap_or(@syntax.DocString::empty()) field.doc = previous }) + if constr_decl is Some(constr_decl) { + let previous = skip_docstrings_before(constr_decl.loc.start) + .map(make_doc) + .unwrap_or(@syntax.DocString::empty()) + constr_decl.doc = previous + } + } } } TopFuncDef(fun_decl~, ..) => fun_decl.doc = doc diff --git a/yacc_parser/parser.mbt b/yacc_parser/parser.mbt index 39ca996d..5525a503 100644 --- a/yacc_parser/parser.mbt +++ b/yacc_parser/parser.mbt @@ -615,6 +615,11 @@ priv suberror YYObj__List_FieldPat___Bool_ { YYObj__List_FieldPat___Bool_((List[FieldPat], Bool)) } +///| +priv suberror YYObj__List_FieldDecl___FunDecl__ { + YYObj__List_FieldDecl___FunDecl__((List[FieldDecl], FunDecl?)) +} + ///| priv suberror YYObj__List_Statement___Bool_ { YYObj__List_Statement___Bool_((List[Statement], Bool)) @@ -857,11 +862,13 @@ priv enum YYSymbol { T_ENUMVIEW T_DECLARE T_NORAISE + T_NOBREAK T_WHERE T_TRY_QUESTION T_TRY_EXCLAMATION T_LEXMATCH T_LEXMATCH_QUESTION + T_PACKAGE NT_parameter NT_parameters NT_type_parameters @@ -972,6 +979,8 @@ priv enum YYSymbol { NT_simple_type NT_type_ NT_record_decl_field + NT_record_constr_decl + NT_record_decl_body NT_constructor_param NT_enum_constructor NT_record_defn @@ -1038,6 +1047,7 @@ priv enum YYSymbol { NT_option_COMMA_ NT_non_empty_list_commas_array_sub_pattern_ NT_option_MUTABLE_ + NT_non_empty_list_semi_rev_aux_record_decl_field_ NT_non_empty_list_commas_constructor_param_ NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__ NT_option_eq_int_tag_ @@ -1102,7 +1112,7 @@ fn init { } // file:///./parser.mbty -// 456| list_semis(structure_item) EOF { $1 } +// 464| list_semis(structure_item) EOF { $1 } ///| fn yy_action_0( @@ -1119,7 +1129,7 @@ fn yy_action_0( } // file:///./parser.mbty -// 235| non_empty_list_semis(X) { $1 } +// 240| non_empty_list_semis(X) { $1 } ///| fn yy_action_1( @@ -1136,24 +1146,25 @@ fn yy_action_1( } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_2( @@ -1172,6 +1183,12 @@ fn yy_action_2( let _end_pos_of_item4 = _args[2].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -1190,25 +1207,26 @@ fn yy_action_2( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 765| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { -// 766| let (local_types, expr) = $6 -// 767| TopTest( -// 768| expr~, -// 769| name = $4, -// 770| params = $5, -// 771| local_types~, -// 772| is_async = $2, -// 773| loc = mk_loc($sloc), -// 774| attrs = $1, -// 775| doc = DocString::empty() -// 776| ) -// 777| } +// 774| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { +// 775| let (local_types, expr) = $6 +// 776| TopTest( +// 777| expr~, +// 778| name = $4, +// 779| params = $5, +// 780| local_types~, +// 781| is_async = $2, +// 782| loc = mk_loc($sloc), +// 783| attrs = $1, +// 784| doc = DocString::empty() +// 785| ) +// 786| } ///| fn yy_action_6( @@ -1247,24 +1265,25 @@ fn yy_action_6( } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_7( @@ -1283,6 +1302,12 @@ fn yy_action_7( let _end_pos_of_item4 = _args[1].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -1301,30 +1326,32 @@ fn yy_action_7( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_9( @@ -1343,6 +1370,12 @@ fn yy_action_9( let _end_pos_of_item4 = _args[3].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -1361,30 +1394,32 @@ fn yy_action_9( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_11( @@ -1403,6 +1438,12 @@ fn yy_action_11( let _end_pos_of_item4 = _args[2].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -1421,31 +1462,33 @@ fn yy_action_11( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 401| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { -// 402| let (type_name, f) = $6 -// 403| let (return_type, error_type) = $10 -// 404| let fn_decl = FunDecl::{ -// 405| type_name, -// 406| name: f, -// 407| has_error : $7, -// 408| is_async : None, -// 409| quantifiers: $8, -// 410| decl_params: $9, -// 411| params_loc: mk_loc($loc($9)), -// 412| return_type, -// 413| error_type, -// 414| vis: $2, -// 415| doc: DocString::empty(), -// 416| attrs: $1, -// 417| } -// 418| ($4, fn_decl) -// 419| } +// 408| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { +// 409| let (type_name, f) = $6 +// 410| let (return_type, error_type) = $10 +// 411| let fn_decl = FunDecl::{ +// 412| type_name, +// 413| name: f, +// 414| has_error : $7, +// 415| is_async : None, +// 416| quantifiers: $8, +// 417| decl_params: $9, +// 418| params_loc: mk_loc($loc($9)), +// 419| return_type, +// 420| error_type, +// 421| vis: $2, +// 422| doc: DocString::empty(), +// 423| attrs: $1, +// 424| loc : mk_loc($loc) +// 425| } +// 426| ($4, fn_decl) +// 427| } ///| fn yy_action_12( @@ -1463,6 +1506,12 @@ fn yy_action_12( let _end_pos_of_item8 = _args[7].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } guard _args[2].0 is YYObj_StringLiteral(_dollar4) YYObj__StringLiteral__FunDecl_( { @@ -1482,6 +1531,7 @@ fn yy_action_12( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } (_dollar4, fn_decl) }, @@ -1489,22 +1539,22 @@ fn yy_action_12( } // file:///./parser.mbty -// 477| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { -// 478| TopTypeDef( -// 479| TypeDecl::{ -// 480| tycon : $5, -// 481| tycon_loc : mk_loc($loc($5)), -// 482| params : $6, -// 483| components: Extern, -// 484| type_vis : $2, -// 485| doc : DocString::empty(), -// 486| deriving: $7, -// 487| loc : mk_loc($sloc), -// 488| attrs : $1, -// 489| is_declare : false -// 490| } -// 491| ) -// 492| } +// 485| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { +// 486| TopTypeDef( +// 487| TypeDecl::{ +// 488| tycon : $5, +// 489| tycon_loc : mk_loc($loc($5)), +// 490| params : $6, +// 491| components: Extern, +// 492| type_vis : $2, +// 493| doc : DocString::empty(), +// 494| deriving: $7, +// 495| loc : mk_loc($sloc), +// 496| attrs : $1, +// 497| is_declare : false +// 498| } +// 499| ) +// 500| } ///| fn yy_action_13( @@ -1546,7 +1596,7 @@ fn yy_action_13( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_14( @@ -1572,7 +1622,7 @@ fn yy_action_14( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_18( @@ -1598,7 +1648,7 @@ fn yy_action_18( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_20( @@ -1635,7 +1685,7 @@ fn yy_action_20( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_21( @@ -1672,19 +1722,19 @@ fn yy_action_21( } // file:///./parser.mbty -// 676| attributes visibility "fnalias" func_alias_targets { -// 677| let (pkg, type_name, is_list, targets) = $4 -// 678| TopFuncAlias( -// 679| pkg~, -// 680| type_name~, -// 681| targets~, -// 682| vis = $2, -// 683| attrs = $1, -// 684| is_list~, -// 685| doc = DocString::empty(), -// 686| loc = mk_loc($sloc) -// 687| ) -// 688| } +// 685| attributes visibility "fnalias" func_alias_targets { +// 686| let (pkg, type_name, is_list, targets) = $4 +// 687| TopFuncAlias( +// 688| pkg~, +// 689| type_name~, +// 690| targets~, +// 691| vis = $2, +// 692| attrs = $1, +// 693| is_list~, +// 694| doc = DocString::empty(), +// 695| loc = mk_loc($sloc) +// 696| ) +// 697| } ///| fn yy_action_22( @@ -1721,25 +1771,25 @@ fn yy_action_22( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_23( @@ -1789,18 +1839,18 @@ fn yy_action_23( } // file:///./parser.mbty -// 708| attributes visibility "typealias" batch_type_alias_targets { -// 709| let (is_list, pkg, targets) = $4 -// 710| TopBatchTypeAlias( -// 711| pkg~, -// 712| targets~, -// 713| vis = $2, -// 714| attrs = $1, -// 715| is_list~, -// 716| doc = DocString::empty(), -// 717| loc = mk_loc($sloc) -// 718| ) -// 719| } +// 717| attributes visibility "typealias" batch_type_alias_targets { +// 718| let (is_list, pkg, targets) = $4 +// 719| TopBatchTypeAlias( +// 720| pkg~, +// 721| targets~, +// 722| vis = $2, +// 723| attrs = $1, +// 724| is_list~, +// 725| doc = DocString::empty(), +// 726| loc = mk_loc($sloc) +// 727| ) +// 728| } ///| fn yy_action_24( @@ -1836,22 +1886,22 @@ fn yy_action_24( } // file:///./parser.mbty -// 720| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { -// 721| TopTypeDef( -// 722| TypeDecl::{ -// 723| tycon : $6, -// 724| tycon_loc : mk_loc($loc($6)), -// 725| params : $7, -// 726| components: Alias($4), -// 727| type_vis : $2, -// 728| doc : DocString::empty(), -// 729| deriving: @list.empty(), -// 730| loc : mk_loc($sloc), -// 731| attrs : $1, -// 732| is_declare : false -// 733| } -// 734| ) -// 735| } +// 729| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { +// 730| TopTypeDef( +// 731| TypeDecl::{ +// 732| tycon : $6, +// 733| tycon_loc : mk_loc($loc($6)), +// 734| params : $7, +// 735| components: Alias($4), +// 736| type_vis : $2, +// 737| doc : DocString::empty(), +// 738| deriving: @list.empty(), +// 739| loc : mk_loc($sloc), +// 740| attrs : $1, +// 741| is_declare : false +// 742| } +// 743| ) +// 744| } ///| fn yy_action_25( @@ -1893,18 +1943,18 @@ fn yy_action_25( } // file:///./parser.mbty -// 753| attributes visibility "traitalias" batch_type_alias_targets { -// 754| let (is_list, pkg, targets) = $4 -// 755| TopBatchTraitAlias( -// 756| pkg~, -// 757| targets~, -// 758| vis = $2, -// 759| attrs = $1, -// 760| is_list~, -// 761| doc = DocString::empty(), -// 762| loc = mk_loc($sloc) -// 763| ) -// 764| } +// 762| attributes visibility "traitalias" batch_type_alias_targets { +// 763| let (is_list, pkg, targets) = $4 +// 764| TopBatchTraitAlias( +// 765| pkg~, +// 766| targets~, +// 767| vis = $2, +// 768| attrs = $1, +// 769| is_list~, +// 770| doc = DocString::empty(), +// 771| loc = mk_loc($sloc) +// 772| ) +// 773| } ///| fn yy_action_26( @@ -1940,24 +1990,24 @@ fn yy_action_26( } // file:///./parser.mbty -// 778| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { -// 779| let (ret_ty, err_ty) = $12 -// 780| TopImpl( -// 781| self_ty = Some($7), -// 782| trait_ = $5, -// 783| method_name = $9, -// 784| has_error = $10, -// 785| quantifiers = $4, -// 786| params = $11, -// 787| ret_ty~, -// 788| err_ty~, -// 789| body = $13, -// 790| vis = $2, -// 791| loc = mk_loc($sloc), -// 792| attrs = $1, -// 793| doc = DocString::empty() -// 794| ) -// 795| } +// 787| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { +// 788| let (ret_ty, err_ty) = $12 +// 789| TopImpl( +// 790| self_ty = Some($7), +// 791| trait_ = $5, +// 792| method_name = $9, +// 793| has_error = $10, +// 794| quantifiers = $4, +// 795| params = $11, +// 796| ret_ty~, +// 797| err_ty~, +// 798| body = $13, +// 799| vis = $2, +// 800| loc = mk_loc($sloc), +// 801| attrs = $1, +// 802| doc = DocString::empty() +// 803| ) +// 804| } ///| fn yy_action_27( @@ -2007,18 +2057,18 @@ fn yy_action_27( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_28( @@ -2058,24 +2108,24 @@ fn yy_action_28( } // file:///./parser.mbty -// 796| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { -// 797| let (ret_ty, err_ty) = $10 -// 798| TopImpl( -// 799| self_ty = None, -// 800| trait_ = $5, -// 801| method_name = $7, -// 802| has_error = $8, -// 803| quantifiers = $4, -// 804| params = $9, -// 805| ret_ty~, -// 806| err_ty~, -// 807| body = $11, -// 808| vis = $2, -// 809| loc = mk_loc($sloc), -// 810| attrs = $1, -// 811| doc = DocString::empty() -// 812| ) -// 813| } +// 805| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { +// 806| let (ret_ty, err_ty) = $10 +// 807| TopImpl( +// 808| self_ty = None, +// 809| trait_ = $5, +// 810| method_name = $7, +// 811| has_error = $8, +// 812| quantifiers = $4, +// 813| params = $9, +// 814| ret_ty~, +// 815| err_ty~, +// 816| body = $11, +// 817| vis = $2, +// 818| loc = mk_loc($sloc), +// 819| attrs = $1, +// 820| doc = DocString::empty() +// 821| ) +// 822| } ///| fn yy_action_29( @@ -2124,23 +2174,23 @@ fn yy_action_29( } // file:///./parser.mbty -// 826| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { -// 827| TopView( -// 828| quantifiers = $4, -// 829| source_ty = $10, -// 830| view_type_name = $5, -// 831| view_type_loc = mk_loc($loc($5)), -// 832| view_func_name = $12, -// 833| parameters = $13, -// 834| params_loc = mk_loc($loc($13)), -// 835| view_constrs = $7, -// 836| body = $14, -// 837| vis = $2, -// 838| loc = mk_loc($sloc), -// 839| attrs = $1, -// 840| doc = DocString::empty() -// 841| ) -// 842| } +// 835| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { +// 836| TopView( +// 837| quantifiers = $4, +// 838| source_ty = $10, +// 839| view_type_name = $5, +// 840| view_type_loc = mk_loc($loc($5)), +// 841| view_func_name = $12, +// 842| parameters = $13, +// 843| params_loc = mk_loc($loc($13)), +// 844| view_constrs = $7, +// 845| body = $14, +// 846| vis = $2, +// 847| loc = mk_loc($sloc), +// 848| attrs = $1, +// 849| doc = DocString::empty() +// 850| ) +// 851| } ///| fn yy_action_30( @@ -2192,19 +2242,19 @@ fn yy_action_30( } // file:///./parser.mbty -// 843| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { -// 844| TopUsing( -// 845| pkg = { -// 846| name : $4, -// 847| loc : mk_loc($loc($4)) -// 848| }, -// 849| names = $6, -// 850| vis = $2, -// 851| attrs = $1, -// 852| loc = mk_loc($loc), -// 853| doc = DocString::empty() -// 854| ) -// 855| } +// 852| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { +// 853| TopUsing( +// 854| pkg = { +// 855| name : $4, +// 856| loc : mk_loc($loc($4)) +// 857| }, +// 858| names = $6, +// 859| vis = $2, +// 860| attrs = $1, +// 861| loc = mk_loc($loc), +// 862| doc = DocString::empty() +// 863| ) +// 864| } ///| fn yy_action_31( @@ -2244,9 +2294,9 @@ fn yy_action_31( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_32( @@ -2279,7 +2329,7 @@ fn yy_action_32( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_33( @@ -2310,9 +2360,9 @@ fn yy_action_33( } // file:///./parser.mbty -// 894| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { -// 895| ($1, $2, $4, mk_loc($loc($4)), $5) -// 896| } +// 903| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { +// 904| ($1, $2, $4, mk_loc($loc($4)), $5) +// 905| } ///| fn yy_action_34( @@ -2342,9 +2392,9 @@ fn yy_action_34( } // file:///./parser.mbty -// 900| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { -// 901| ($1, $2, $4, mk_loc($loc($4)), $5) -// 902| } +// 909| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { +// 910| ($1, $2, $4, mk_loc($loc($4)), $5) +// 911| } ///| fn yy_action_35( @@ -2374,24 +2424,25 @@ fn yy_action_35( } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_36( @@ -2410,6 +2461,12 @@ fn yy_action_36( let _end_pos_of_item4 = _args[4].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -2428,30 +2485,32 @@ fn yy_action_36( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_38( @@ -2470,6 +2529,12 @@ fn yy_action_38( let _end_pos_of_item4 = _args[3].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -2488,31 +2553,33 @@ fn yy_action_38( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 401| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { -// 402| let (type_name, f) = $6 -// 403| let (return_type, error_type) = $10 -// 404| let fn_decl = FunDecl::{ -// 405| type_name, -// 406| name: f, -// 407| has_error : $7, -// 408| is_async : None, -// 409| quantifiers: $8, -// 410| decl_params: $9, -// 411| params_loc: mk_loc($loc($9)), -// 412| return_type, -// 413| error_type, -// 414| vis: $2, -// 415| doc: DocString::empty(), -// 416| attrs: $1, -// 417| } -// 418| ($4, fn_decl) -// 419| } +// 408| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { +// 409| let (type_name, f) = $6 +// 410| let (return_type, error_type) = $10 +// 411| let fn_decl = FunDecl::{ +// 412| type_name, +// 413| name: f, +// 414| has_error : $7, +// 415| is_async : None, +// 416| quantifiers: $8, +// 417| decl_params: $9, +// 418| params_loc: mk_loc($loc($9)), +// 419| return_type, +// 420| error_type, +// 421| vis: $2, +// 422| doc: DocString::empty(), +// 423| attrs: $1, +// 424| loc : mk_loc($loc) +// 425| } +// 426| ($4, fn_decl) +// 427| } ///| fn yy_action_39( @@ -2530,6 +2597,12 @@ fn yy_action_39( let _end_pos_of_item8 = _args[8].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } guard _args[3].0 is YYObj_StringLiteral(_dollar4) YYObj__StringLiteral__FunDecl_( { @@ -2549,6 +2622,7 @@ fn yy_action_39( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } (_dollar4, fn_decl) }, @@ -2556,22 +2630,22 @@ fn yy_action_39( } // file:///./parser.mbty -// 477| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { -// 478| TopTypeDef( -// 479| TypeDecl::{ -// 480| tycon : $5, -// 481| tycon_loc : mk_loc($loc($5)), -// 482| params : $6, -// 483| components: Extern, -// 484| type_vis : $2, -// 485| doc : DocString::empty(), -// 486| deriving: $7, -// 487| loc : mk_loc($sloc), -// 488| attrs : $1, -// 489| is_declare : false -// 490| } -// 491| ) -// 492| } +// 485| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { +// 486| TopTypeDef( +// 487| TypeDecl::{ +// 488| tycon : $5, +// 489| tycon_loc : mk_loc($loc($5)), +// 490| params : $6, +// 491| components: Extern, +// 492| type_vis : $2, +// 493| doc : DocString::empty(), +// 494| deriving: $7, +// 495| loc : mk_loc($sloc), +// 496| attrs : $1, +// 497| is_declare : false +// 498| } +// 499| ) +// 500| } ///| fn yy_action_40( @@ -2613,7 +2687,7 @@ fn yy_action_40( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_41( @@ -2639,7 +2713,7 @@ fn yy_action_41( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_42( @@ -2665,7 +2739,7 @@ fn yy_action_42( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_43( @@ -2702,7 +2776,7 @@ fn yy_action_43( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_44( @@ -2739,19 +2813,19 @@ fn yy_action_44( } // file:///./parser.mbty -// 676| attributes visibility "fnalias" func_alias_targets { -// 677| let (pkg, type_name, is_list, targets) = $4 -// 678| TopFuncAlias( -// 679| pkg~, -// 680| type_name~, -// 681| targets~, -// 682| vis = $2, -// 683| attrs = $1, -// 684| is_list~, -// 685| doc = DocString::empty(), -// 686| loc = mk_loc($sloc) -// 687| ) -// 688| } +// 685| attributes visibility "fnalias" func_alias_targets { +// 686| let (pkg, type_name, is_list, targets) = $4 +// 687| TopFuncAlias( +// 688| pkg~, +// 689| type_name~, +// 690| targets~, +// 691| vis = $2, +// 692| attrs = $1, +// 693| is_list~, +// 694| doc = DocString::empty(), +// 695| loc = mk_loc($sloc) +// 696| ) +// 697| } ///| fn yy_action_45( @@ -2788,25 +2862,25 @@ fn yy_action_45( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_46( @@ -2856,18 +2930,18 @@ fn yy_action_46( } // file:///./parser.mbty -// 708| attributes visibility "typealias" batch_type_alias_targets { -// 709| let (is_list, pkg, targets) = $4 -// 710| TopBatchTypeAlias( -// 711| pkg~, -// 712| targets~, -// 713| vis = $2, -// 714| attrs = $1, -// 715| is_list~, -// 716| doc = DocString::empty(), -// 717| loc = mk_loc($sloc) -// 718| ) -// 719| } +// 717| attributes visibility "typealias" batch_type_alias_targets { +// 718| let (is_list, pkg, targets) = $4 +// 719| TopBatchTypeAlias( +// 720| pkg~, +// 721| targets~, +// 722| vis = $2, +// 723| attrs = $1, +// 724| is_list~, +// 725| doc = DocString::empty(), +// 726| loc = mk_loc($sloc) +// 727| ) +// 728| } ///| fn yy_action_47( @@ -2903,22 +2977,22 @@ fn yy_action_47( } // file:///./parser.mbty -// 720| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { -// 721| TopTypeDef( -// 722| TypeDecl::{ -// 723| tycon : $6, -// 724| tycon_loc : mk_loc($loc($6)), -// 725| params : $7, -// 726| components: Alias($4), -// 727| type_vis : $2, -// 728| doc : DocString::empty(), -// 729| deriving: @list.empty(), -// 730| loc : mk_loc($sloc), -// 731| attrs : $1, -// 732| is_declare : false -// 733| } -// 734| ) -// 735| } +// 729| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { +// 730| TopTypeDef( +// 731| TypeDecl::{ +// 732| tycon : $6, +// 733| tycon_loc : mk_loc($loc($6)), +// 734| params : $7, +// 735| components: Alias($4), +// 736| type_vis : $2, +// 737| doc : DocString::empty(), +// 738| deriving: @list.empty(), +// 739| loc : mk_loc($sloc), +// 740| attrs : $1, +// 741| is_declare : false +// 742| } +// 743| ) +// 744| } ///| fn yy_action_48( @@ -2960,18 +3034,18 @@ fn yy_action_48( } // file:///./parser.mbty -// 753| attributes visibility "traitalias" batch_type_alias_targets { -// 754| let (is_list, pkg, targets) = $4 -// 755| TopBatchTraitAlias( -// 756| pkg~, -// 757| targets~, -// 758| vis = $2, -// 759| attrs = $1, -// 760| is_list~, -// 761| doc = DocString::empty(), -// 762| loc = mk_loc($sloc) -// 763| ) -// 764| } +// 762| attributes visibility "traitalias" batch_type_alias_targets { +// 763| let (is_list, pkg, targets) = $4 +// 764| TopBatchTraitAlias( +// 765| pkg~, +// 766| targets~, +// 767| vis = $2, +// 768| attrs = $1, +// 769| is_list~, +// 770| doc = DocString::empty(), +// 771| loc = mk_loc($sloc) +// 772| ) +// 773| } ///| fn yy_action_49( @@ -3007,24 +3081,24 @@ fn yy_action_49( } // file:///./parser.mbty -// 778| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { -// 779| let (ret_ty, err_ty) = $12 -// 780| TopImpl( -// 781| self_ty = Some($7), -// 782| trait_ = $5, -// 783| method_name = $9, -// 784| has_error = $10, -// 785| quantifiers = $4, -// 786| params = $11, -// 787| ret_ty~, -// 788| err_ty~, -// 789| body = $13, -// 790| vis = $2, -// 791| loc = mk_loc($sloc), -// 792| attrs = $1, -// 793| doc = DocString::empty() -// 794| ) -// 795| } +// 787| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { +// 788| let (ret_ty, err_ty) = $12 +// 789| TopImpl( +// 790| self_ty = Some($7), +// 791| trait_ = $5, +// 792| method_name = $9, +// 793| has_error = $10, +// 794| quantifiers = $4, +// 795| params = $11, +// 796| ret_ty~, +// 797| err_ty~, +// 798| body = $13, +// 799| vis = $2, +// 800| loc = mk_loc($sloc), +// 801| attrs = $1, +// 802| doc = DocString::empty() +// 803| ) +// 804| } ///| fn yy_action_50( @@ -3074,18 +3148,18 @@ fn yy_action_50( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_51( @@ -3125,24 +3199,24 @@ fn yy_action_51( } // file:///./parser.mbty -// 796| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { -// 797| let (ret_ty, err_ty) = $10 -// 798| TopImpl( -// 799| self_ty = None, -// 800| trait_ = $5, -// 801| method_name = $7, -// 802| has_error = $8, -// 803| quantifiers = $4, -// 804| params = $9, -// 805| ret_ty~, -// 806| err_ty~, -// 807| body = $11, -// 808| vis = $2, -// 809| loc = mk_loc($sloc), -// 810| attrs = $1, -// 811| doc = DocString::empty() -// 812| ) -// 813| } +// 805| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { +// 806| let (ret_ty, err_ty) = $10 +// 807| TopImpl( +// 808| self_ty = None, +// 809| trait_ = $5, +// 810| method_name = $7, +// 811| has_error = $8, +// 812| quantifiers = $4, +// 813| params = $9, +// 814| ret_ty~, +// 815| err_ty~, +// 816| body = $11, +// 817| vis = $2, +// 818| loc = mk_loc($sloc), +// 819| attrs = $1, +// 820| doc = DocString::empty() +// 821| ) +// 822| } ///| fn yy_action_52( @@ -3191,23 +3265,23 @@ fn yy_action_52( } // file:///./parser.mbty -// 826| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { -// 827| TopView( -// 828| quantifiers = $4, -// 829| source_ty = $10, -// 830| view_type_name = $5, -// 831| view_type_loc = mk_loc($loc($5)), -// 832| view_func_name = $12, -// 833| parameters = $13, -// 834| params_loc = mk_loc($loc($13)), -// 835| view_constrs = $7, -// 836| body = $14, -// 837| vis = $2, -// 838| loc = mk_loc($sloc), -// 839| attrs = $1, -// 840| doc = DocString::empty() -// 841| ) -// 842| } +// 835| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { +// 836| TopView( +// 837| quantifiers = $4, +// 838| source_ty = $10, +// 839| view_type_name = $5, +// 840| view_type_loc = mk_loc($loc($5)), +// 841| view_func_name = $12, +// 842| parameters = $13, +// 843| params_loc = mk_loc($loc($13)), +// 844| view_constrs = $7, +// 845| body = $14, +// 846| vis = $2, +// 847| loc = mk_loc($sloc), +// 848| attrs = $1, +// 849| doc = DocString::empty() +// 850| ) +// 851| } ///| fn yy_action_53( @@ -3259,19 +3333,19 @@ fn yy_action_53( } // file:///./parser.mbty -// 843| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { -// 844| TopUsing( -// 845| pkg = { -// 846| name : $4, -// 847| loc : mk_loc($loc($4)) -// 848| }, -// 849| names = $6, -// 850| vis = $2, -// 851| attrs = $1, -// 852| loc = mk_loc($loc), -// 853| doc = DocString::empty() -// 854| ) -// 855| } +// 852| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { +// 853| TopUsing( +// 854| pkg = { +// 855| name : $4, +// 856| loc : mk_loc($loc($4)) +// 857| }, +// 858| names = $6, +// 859| vis = $2, +// 860| attrs = $1, +// 861| loc = mk_loc($loc), +// 862| doc = DocString::empty() +// 863| ) +// 864| } ///| fn yy_action_54( @@ -3311,9 +3385,9 @@ fn yy_action_54( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_55( @@ -3346,7 +3420,7 @@ fn yy_action_55( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_56( @@ -3377,9 +3451,9 @@ fn yy_action_56( } // file:///./parser.mbty -// 894| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { -// 895| ($1, $2, $4, mk_loc($loc($4)), $5) -// 896| } +// 903| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { +// 904| ($1, $2, $4, mk_loc($loc($4)), $5) +// 905| } ///| fn yy_action_57( @@ -3409,9 +3483,9 @@ fn yy_action_57( } // file:///./parser.mbty -// 900| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { -// 901| ($1, $2, $4, mk_loc($loc($4)), $5) -// 902| } +// 909| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { +// 910| ($1, $2, $4, mk_loc($loc($4)), $5) +// 911| } ///| fn yy_action_58( @@ -3441,24 +3515,25 @@ fn yy_action_58( } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_59( @@ -3477,6 +3552,12 @@ fn yy_action_59( let _end_pos_of_item4 = _args[3].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -3495,25 +3576,26 @@ fn yy_action_59( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 765| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { -// 766| let (local_types, expr) = $6 -// 767| TopTest( -// 768| expr~, -// 769| name = $4, -// 770| params = $5, -// 771| local_types~, -// 772| is_async = $2, -// 773| loc = mk_loc($sloc), -// 774| attrs = $1, -// 775| doc = DocString::empty() -// 776| ) -// 777| } +// 774| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { +// 775| let (local_types, expr) = $6 +// 776| TopTest( +// 777| expr~, +// 778| name = $4, +// 779| params = $5, +// 780| local_types~, +// 781| is_async = $2, +// 782| loc = mk_loc($sloc), +// 783| attrs = $1, +// 784| doc = DocString::empty() +// 785| ) +// 786| } ///| fn yy_action_61( @@ -3552,24 +3634,25 @@ fn yy_action_61( } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_62( @@ -3588,6 +3671,12 @@ fn yy_action_62( let _end_pos_of_item4 = _args[2].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -3606,30 +3695,32 @@ fn yy_action_62( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_63( @@ -3648,6 +3739,12 @@ fn yy_action_63( let _end_pos_of_item4 = _args[4].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -3666,30 +3763,32 @@ fn yy_action_63( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_64( @@ -3708,6 +3807,12 @@ fn yy_action_64( let _end_pos_of_item4 = _args[3].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -3726,31 +3831,33 @@ fn yy_action_64( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 401| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { -// 402| let (type_name, f) = $6 -// 403| let (return_type, error_type) = $10 -// 404| let fn_decl = FunDecl::{ -// 405| type_name, -// 406| name: f, -// 407| has_error : $7, -// 408| is_async : None, -// 409| quantifiers: $8, -// 410| decl_params: $9, -// 411| params_loc: mk_loc($loc($9)), -// 412| return_type, -// 413| error_type, -// 414| vis: $2, -// 415| doc: DocString::empty(), -// 416| attrs: $1, -// 417| } -// 418| ($4, fn_decl) -// 419| } +// 408| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { +// 409| let (type_name, f) = $6 +// 410| let (return_type, error_type) = $10 +// 411| let fn_decl = FunDecl::{ +// 412| type_name, +// 413| name: f, +// 414| has_error : $7, +// 415| is_async : None, +// 416| quantifiers: $8, +// 417| decl_params: $9, +// 418| params_loc: mk_loc($loc($9)), +// 419| return_type, +// 420| error_type, +// 421| vis: $2, +// 422| doc: DocString::empty(), +// 423| attrs: $1, +// 424| loc : mk_loc($loc) +// 425| } +// 426| ($4, fn_decl) +// 427| } ///| fn yy_action_65( @@ -3768,6 +3875,12 @@ fn yy_action_65( let _end_pos_of_item8 = _args[8].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } guard _args[3].0 is YYObj_StringLiteral(_dollar4) YYObj__StringLiteral__FunDecl_( { @@ -3787,6 +3900,7 @@ fn yy_action_65( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } (_dollar4, fn_decl) }, @@ -3794,22 +3908,22 @@ fn yy_action_65( } // file:///./parser.mbty -// 477| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { -// 478| TopTypeDef( -// 479| TypeDecl::{ -// 480| tycon : $5, -// 481| tycon_loc : mk_loc($loc($5)), -// 482| params : $6, -// 483| components: Extern, -// 484| type_vis : $2, -// 485| doc : DocString::empty(), -// 486| deriving: $7, -// 487| loc : mk_loc($sloc), -// 488| attrs : $1, -// 489| is_declare : false -// 490| } -// 491| ) -// 492| } +// 485| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { +// 486| TopTypeDef( +// 487| TypeDecl::{ +// 488| tycon : $5, +// 489| tycon_loc : mk_loc($loc($5)), +// 490| params : $6, +// 491| components: Extern, +// 492| type_vis : $2, +// 493| doc : DocString::empty(), +// 494| deriving: $7, +// 495| loc : mk_loc($sloc), +// 496| attrs : $1, +// 497| is_declare : false +// 498| } +// 499| ) +// 500| } ///| fn yy_action_66( @@ -3851,7 +3965,7 @@ fn yy_action_66( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_67( @@ -3877,7 +3991,7 @@ fn yy_action_67( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_68( @@ -3903,7 +4017,7 @@ fn yy_action_68( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_69( @@ -3940,7 +4054,7 @@ fn yy_action_69( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_70( @@ -3977,19 +4091,19 @@ fn yy_action_70( } // file:///./parser.mbty -// 676| attributes visibility "fnalias" func_alias_targets { -// 677| let (pkg, type_name, is_list, targets) = $4 -// 678| TopFuncAlias( -// 679| pkg~, -// 680| type_name~, -// 681| targets~, -// 682| vis = $2, -// 683| attrs = $1, -// 684| is_list~, -// 685| doc = DocString::empty(), -// 686| loc = mk_loc($sloc) -// 687| ) -// 688| } +// 685| attributes visibility "fnalias" func_alias_targets { +// 686| let (pkg, type_name, is_list, targets) = $4 +// 687| TopFuncAlias( +// 688| pkg~, +// 689| type_name~, +// 690| targets~, +// 691| vis = $2, +// 692| attrs = $1, +// 693| is_list~, +// 694| doc = DocString::empty(), +// 695| loc = mk_loc($sloc) +// 696| ) +// 697| } ///| fn yy_action_71( @@ -4026,25 +4140,25 @@ fn yy_action_71( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_72( @@ -4094,18 +4208,18 @@ fn yy_action_72( } // file:///./parser.mbty -// 708| attributes visibility "typealias" batch_type_alias_targets { -// 709| let (is_list, pkg, targets) = $4 -// 710| TopBatchTypeAlias( -// 711| pkg~, -// 712| targets~, -// 713| vis = $2, -// 714| attrs = $1, -// 715| is_list~, -// 716| doc = DocString::empty(), -// 717| loc = mk_loc($sloc) -// 718| ) -// 719| } +// 717| attributes visibility "typealias" batch_type_alias_targets { +// 718| let (is_list, pkg, targets) = $4 +// 719| TopBatchTypeAlias( +// 720| pkg~, +// 721| targets~, +// 722| vis = $2, +// 723| attrs = $1, +// 724| is_list~, +// 725| doc = DocString::empty(), +// 726| loc = mk_loc($sloc) +// 727| ) +// 728| } ///| fn yy_action_73( @@ -4141,22 +4255,22 @@ fn yy_action_73( } // file:///./parser.mbty -// 720| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { -// 721| TopTypeDef( -// 722| TypeDecl::{ -// 723| tycon : $6, -// 724| tycon_loc : mk_loc($loc($6)), -// 725| params : $7, -// 726| components: Alias($4), -// 727| type_vis : $2, -// 728| doc : DocString::empty(), -// 729| deriving: @list.empty(), -// 730| loc : mk_loc($sloc), -// 731| attrs : $1, -// 732| is_declare : false -// 733| } -// 734| ) -// 735| } +// 729| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { +// 730| TopTypeDef( +// 731| TypeDecl::{ +// 732| tycon : $6, +// 733| tycon_loc : mk_loc($loc($6)), +// 734| params : $7, +// 735| components: Alias($4), +// 736| type_vis : $2, +// 737| doc : DocString::empty(), +// 738| deriving: @list.empty(), +// 739| loc : mk_loc($sloc), +// 740| attrs : $1, +// 741| is_declare : false +// 742| } +// 743| ) +// 744| } ///| fn yy_action_74( @@ -4198,18 +4312,18 @@ fn yy_action_74( } // file:///./parser.mbty -// 753| attributes visibility "traitalias" batch_type_alias_targets { -// 754| let (is_list, pkg, targets) = $4 -// 755| TopBatchTraitAlias( -// 756| pkg~, -// 757| targets~, -// 758| vis = $2, -// 759| attrs = $1, -// 760| is_list~, -// 761| doc = DocString::empty(), -// 762| loc = mk_loc($sloc) -// 763| ) -// 764| } +// 762| attributes visibility "traitalias" batch_type_alias_targets { +// 763| let (is_list, pkg, targets) = $4 +// 764| TopBatchTraitAlias( +// 765| pkg~, +// 766| targets~, +// 767| vis = $2, +// 768| attrs = $1, +// 769| is_list~, +// 770| doc = DocString::empty(), +// 771| loc = mk_loc($sloc) +// 772| ) +// 773| } ///| fn yy_action_75( @@ -4245,24 +4359,24 @@ fn yy_action_75( } // file:///./parser.mbty -// 778| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { -// 779| let (ret_ty, err_ty) = $12 -// 780| TopImpl( -// 781| self_ty = Some($7), -// 782| trait_ = $5, -// 783| method_name = $9, -// 784| has_error = $10, -// 785| quantifiers = $4, -// 786| params = $11, -// 787| ret_ty~, -// 788| err_ty~, -// 789| body = $13, -// 790| vis = $2, -// 791| loc = mk_loc($sloc), -// 792| attrs = $1, -// 793| doc = DocString::empty() -// 794| ) -// 795| } +// 787| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { +// 788| let (ret_ty, err_ty) = $12 +// 789| TopImpl( +// 790| self_ty = Some($7), +// 791| trait_ = $5, +// 792| method_name = $9, +// 793| has_error = $10, +// 794| quantifiers = $4, +// 795| params = $11, +// 796| ret_ty~, +// 797| err_ty~, +// 798| body = $13, +// 799| vis = $2, +// 800| loc = mk_loc($sloc), +// 801| attrs = $1, +// 802| doc = DocString::empty() +// 803| ) +// 804| } ///| fn yy_action_76( @@ -4312,18 +4426,18 @@ fn yy_action_76( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_77( @@ -4363,24 +4477,24 @@ fn yy_action_77( } // file:///./parser.mbty -// 796| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { -// 797| let (ret_ty, err_ty) = $10 -// 798| TopImpl( -// 799| self_ty = None, -// 800| trait_ = $5, -// 801| method_name = $7, -// 802| has_error = $8, -// 803| quantifiers = $4, -// 804| params = $9, -// 805| ret_ty~, -// 806| err_ty~, -// 807| body = $11, -// 808| vis = $2, -// 809| loc = mk_loc($sloc), -// 810| attrs = $1, -// 811| doc = DocString::empty() -// 812| ) -// 813| } +// 805| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { +// 806| let (ret_ty, err_ty) = $10 +// 807| TopImpl( +// 808| self_ty = None, +// 809| trait_ = $5, +// 810| method_name = $7, +// 811| has_error = $8, +// 812| quantifiers = $4, +// 813| params = $9, +// 814| ret_ty~, +// 815| err_ty~, +// 816| body = $11, +// 817| vis = $2, +// 818| loc = mk_loc($sloc), +// 819| attrs = $1, +// 820| doc = DocString::empty() +// 821| ) +// 822| } ///| fn yy_action_78( @@ -4429,23 +4543,23 @@ fn yy_action_78( } // file:///./parser.mbty -// 826| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { -// 827| TopView( -// 828| quantifiers = $4, -// 829| source_ty = $10, -// 830| view_type_name = $5, -// 831| view_type_loc = mk_loc($loc($5)), -// 832| view_func_name = $12, -// 833| parameters = $13, -// 834| params_loc = mk_loc($loc($13)), -// 835| view_constrs = $7, -// 836| body = $14, -// 837| vis = $2, -// 838| loc = mk_loc($sloc), -// 839| attrs = $1, -// 840| doc = DocString::empty() -// 841| ) -// 842| } +// 835| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { +// 836| TopView( +// 837| quantifiers = $4, +// 838| source_ty = $10, +// 839| view_type_name = $5, +// 840| view_type_loc = mk_loc($loc($5)), +// 841| view_func_name = $12, +// 842| parameters = $13, +// 843| params_loc = mk_loc($loc($13)), +// 844| view_constrs = $7, +// 845| body = $14, +// 846| vis = $2, +// 847| loc = mk_loc($sloc), +// 848| attrs = $1, +// 849| doc = DocString::empty() +// 850| ) +// 851| } ///| fn yy_action_79( @@ -4497,19 +4611,19 @@ fn yy_action_79( } // file:///./parser.mbty -// 843| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { -// 844| TopUsing( -// 845| pkg = { -// 846| name : $4, -// 847| loc : mk_loc($loc($4)) -// 848| }, -// 849| names = $6, -// 850| vis = $2, -// 851| attrs = $1, -// 852| loc = mk_loc($loc), -// 853| doc = DocString::empty() -// 854| ) -// 855| } +// 852| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { +// 853| TopUsing( +// 854| pkg = { +// 855| name : $4, +// 856| loc : mk_loc($loc($4)) +// 857| }, +// 858| names = $6, +// 859| vis = $2, +// 860| attrs = $1, +// 861| loc = mk_loc($loc), +// 862| doc = DocString::empty() +// 863| ) +// 864| } ///| fn yy_action_80( @@ -4549,9 +4663,9 @@ fn yy_action_80( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_81( @@ -4584,7 +4698,7 @@ fn yy_action_81( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_82( @@ -4615,9 +4729,9 @@ fn yy_action_82( } // file:///./parser.mbty -// 894| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { -// 895| ($1, $2, $4, mk_loc($loc($4)), $5) -// 896| } +// 903| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { +// 904| ($1, $2, $4, mk_loc($loc($4)), $5) +// 905| } ///| fn yy_action_83( @@ -4647,9 +4761,9 @@ fn yy_action_83( } // file:///./parser.mbty -// 900| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { -// 901| ($1, $2, $4, mk_loc($loc($4)), $5) -// 902| } +// 909| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { +// 910| ($1, $2, $4, mk_loc($loc($4)), $5) +// 911| } ///| fn yy_action_84( @@ -4679,24 +4793,25 @@ fn yy_action_84( } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_85( @@ -4715,6 +4830,12 @@ fn yy_action_85( let _end_pos_of_item4 = _args[5].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -4733,30 +4854,32 @@ fn yy_action_85( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 320| attributes visibility is_async fun_header_generic option(parameters) func_return_type { -// 321| let ((type_name, f), has_error, quants) = $4 -// 322| let (return_type, error_type) = $6 -// 323| FunDecl::{ -// 324| type_name, -// 325| name: f, -// 326| has_error, -// 327| is_async : $3, -// 328| quantifiers: quants, -// 329| decl_params: $5, -// 330| params_loc: mk_loc($loc($5)), -// 331| return_type, -// 332| error_type, -// 333| vis: $2, -// 334| doc: DocString::empty(), -// 335| attrs: $1, -// 336| } -// 337| } +// 325| attributes visibility is_async fun_header_generic option(parameters) func_return_type { +// 326| let ((type_name, f), has_error, quants) = $4 +// 327| let (return_type, error_type) = $6 +// 328| FunDecl::{ +// 329| type_name, +// 330| name: f, +// 331| has_error, +// 332| is_async : $3, +// 333| quantifiers: quants, +// 334| decl_params: $5, +// 335| params_loc: mk_loc($loc($5)), +// 336| return_type, +// 337| error_type, +// 338| vis: $2, +// 339| doc: DocString::empty(), +// 340| attrs: $1, +// 341| loc : mk_loc($loc) +// 342| } +// 343| } ///| fn yy_action_86( @@ -4775,6 +4898,12 @@ fn yy_action_86( let _end_pos_of_item4 = _args[4].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -4793,31 +4922,33 @@ fn yy_action_86( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 401| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { -// 402| let (type_name, f) = $6 -// 403| let (return_type, error_type) = $10 -// 404| let fn_decl = FunDecl::{ -// 405| type_name, -// 406| name: f, -// 407| has_error : $7, -// 408| is_async : None, -// 409| quantifiers: $8, -// 410| decl_params: $9, -// 411| params_loc: mk_loc($loc($9)), -// 412| return_type, -// 413| error_type, -// 414| vis: $2, -// 415| doc: DocString::empty(), -// 416| attrs: $1, -// 417| } -// 418| ($4, fn_decl) -// 419| } +// 408| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { +// 409| let (type_name, f) = $6 +// 410| let (return_type, error_type) = $10 +// 411| let fn_decl = FunDecl::{ +// 412| type_name, +// 413| name: f, +// 414| has_error : $7, +// 415| is_async : None, +// 416| quantifiers: $8, +// 417| decl_params: $9, +// 418| params_loc: mk_loc($loc($9)), +// 419| return_type, +// 420| error_type, +// 421| vis: $2, +// 422| doc: DocString::empty(), +// 423| attrs: $1, +// 424| loc : mk_loc($loc) +// 425| } +// 426| ($4, fn_decl) +// 427| } ///| fn yy_action_87( @@ -4835,6 +4966,12 @@ fn yy_action_87( let _end_pos_of_item8 = _args[9].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } guard _args[4].0 is YYObj_StringLiteral(_dollar4) YYObj__StringLiteral__FunDecl_( { @@ -4854,6 +4991,7 @@ fn yy_action_87( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } (_dollar4, fn_decl) }, @@ -4861,22 +4999,22 @@ fn yy_action_87( } // file:///./parser.mbty -// 477| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { -// 478| TopTypeDef( -// 479| TypeDecl::{ -// 480| tycon : $5, -// 481| tycon_loc : mk_loc($loc($5)), -// 482| params : $6, -// 483| components: Extern, -// 484| type_vis : $2, -// 485| doc : DocString::empty(), -// 486| deriving: $7, -// 487| loc : mk_loc($sloc), -// 488| attrs : $1, -// 489| is_declare : false -// 490| } -// 491| ) -// 492| } +// 485| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { +// 486| TopTypeDef( +// 487| TypeDecl::{ +// 488| tycon : $5, +// 489| tycon_loc : mk_loc($loc($5)), +// 490| params : $6, +// 491| components: Extern, +// 492| type_vis : $2, +// 493| doc : DocString::empty(), +// 494| deriving: $7, +// 495| loc : mk_loc($sloc), +// 496| attrs : $1, +// 497| is_declare : false +// 498| } +// 499| ) +// 500| } ///| fn yy_action_88( @@ -4918,7 +5056,7 @@ fn yy_action_88( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_89( @@ -4944,7 +5082,7 @@ fn yy_action_89( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_90( @@ -4970,7 +5108,7 @@ fn yy_action_90( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_91( @@ -5007,7 +5145,7 @@ fn yy_action_91( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_92( @@ -5044,19 +5182,19 @@ fn yy_action_92( } // file:///./parser.mbty -// 676| attributes visibility "fnalias" func_alias_targets { -// 677| let (pkg, type_name, is_list, targets) = $4 -// 678| TopFuncAlias( -// 679| pkg~, -// 680| type_name~, -// 681| targets~, -// 682| vis = $2, -// 683| attrs = $1, -// 684| is_list~, -// 685| doc = DocString::empty(), -// 686| loc = mk_loc($sloc) -// 687| ) -// 688| } +// 685| attributes visibility "fnalias" func_alias_targets { +// 686| let (pkg, type_name, is_list, targets) = $4 +// 687| TopFuncAlias( +// 688| pkg~, +// 689| type_name~, +// 690| targets~, +// 691| vis = $2, +// 692| attrs = $1, +// 693| is_list~, +// 694| doc = DocString::empty(), +// 695| loc = mk_loc($sloc) +// 696| ) +// 697| } ///| fn yy_action_93( @@ -5093,25 +5231,25 @@ fn yy_action_93( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_94( @@ -5161,18 +5299,18 @@ fn yy_action_94( } // file:///./parser.mbty -// 708| attributes visibility "typealias" batch_type_alias_targets { -// 709| let (is_list, pkg, targets) = $4 -// 710| TopBatchTypeAlias( -// 711| pkg~, -// 712| targets~, -// 713| vis = $2, -// 714| attrs = $1, -// 715| is_list~, -// 716| doc = DocString::empty(), -// 717| loc = mk_loc($sloc) -// 718| ) -// 719| } +// 717| attributes visibility "typealias" batch_type_alias_targets { +// 718| let (is_list, pkg, targets) = $4 +// 719| TopBatchTypeAlias( +// 720| pkg~, +// 721| targets~, +// 722| vis = $2, +// 723| attrs = $1, +// 724| is_list~, +// 725| doc = DocString::empty(), +// 726| loc = mk_loc($sloc) +// 727| ) +// 728| } ///| fn yy_action_95( @@ -5208,22 +5346,22 @@ fn yy_action_95( } // file:///./parser.mbty -// 720| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { -// 721| TopTypeDef( -// 722| TypeDecl::{ -// 723| tycon : $6, -// 724| tycon_loc : mk_loc($loc($6)), -// 725| params : $7, -// 726| components: Alias($4), -// 727| type_vis : $2, -// 728| doc : DocString::empty(), -// 729| deriving: @list.empty(), -// 730| loc : mk_loc($sloc), -// 731| attrs : $1, -// 732| is_declare : false -// 733| } -// 734| ) -// 735| } +// 729| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { +// 730| TopTypeDef( +// 731| TypeDecl::{ +// 732| tycon : $6, +// 733| tycon_loc : mk_loc($loc($6)), +// 734| params : $7, +// 735| components: Alias($4), +// 736| type_vis : $2, +// 737| doc : DocString::empty(), +// 738| deriving: @list.empty(), +// 739| loc : mk_loc($sloc), +// 740| attrs : $1, +// 741| is_declare : false +// 742| } +// 743| ) +// 744| } ///| fn yy_action_96( @@ -5265,18 +5403,18 @@ fn yy_action_96( } // file:///./parser.mbty -// 753| attributes visibility "traitalias" batch_type_alias_targets { -// 754| let (is_list, pkg, targets) = $4 -// 755| TopBatchTraitAlias( -// 756| pkg~, -// 757| targets~, -// 758| vis = $2, -// 759| attrs = $1, -// 760| is_list~, -// 761| doc = DocString::empty(), -// 762| loc = mk_loc($sloc) -// 763| ) -// 764| } +// 762| attributes visibility "traitalias" batch_type_alias_targets { +// 763| let (is_list, pkg, targets) = $4 +// 764| TopBatchTraitAlias( +// 765| pkg~, +// 766| targets~, +// 767| vis = $2, +// 768| attrs = $1, +// 769| is_list~, +// 770| doc = DocString::empty(), +// 771| loc = mk_loc($sloc) +// 772| ) +// 773| } ///| fn yy_action_97( @@ -5312,24 +5450,24 @@ fn yy_action_97( } // file:///./parser.mbty -// 778| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { -// 779| let (ret_ty, err_ty) = $12 -// 780| TopImpl( -// 781| self_ty = Some($7), -// 782| trait_ = $5, -// 783| method_name = $9, -// 784| has_error = $10, -// 785| quantifiers = $4, -// 786| params = $11, -// 787| ret_ty~, -// 788| err_ty~, -// 789| body = $13, -// 790| vis = $2, -// 791| loc = mk_loc($sloc), -// 792| attrs = $1, -// 793| doc = DocString::empty() -// 794| ) -// 795| } +// 787| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { +// 788| let (ret_ty, err_ty) = $12 +// 789| TopImpl( +// 790| self_ty = Some($7), +// 791| trait_ = $5, +// 792| method_name = $9, +// 793| has_error = $10, +// 794| quantifiers = $4, +// 795| params = $11, +// 796| ret_ty~, +// 797| err_ty~, +// 798| body = $13, +// 799| vis = $2, +// 800| loc = mk_loc($sloc), +// 801| attrs = $1, +// 802| doc = DocString::empty() +// 803| ) +// 804| } ///| fn yy_action_98( @@ -5379,18 +5517,18 @@ fn yy_action_98( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_99( @@ -5430,24 +5568,24 @@ fn yy_action_99( } // file:///./parser.mbty -// 796| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { -// 797| let (ret_ty, err_ty) = $10 -// 798| TopImpl( -// 799| self_ty = None, -// 800| trait_ = $5, -// 801| method_name = $7, -// 802| has_error = $8, -// 803| quantifiers = $4, -// 804| params = $9, -// 805| ret_ty~, -// 806| err_ty~, -// 807| body = $11, -// 808| vis = $2, -// 809| loc = mk_loc($sloc), -// 810| attrs = $1, -// 811| doc = DocString::empty() -// 812| ) -// 813| } +// 805| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { +// 806| let (ret_ty, err_ty) = $10 +// 807| TopImpl( +// 808| self_ty = None, +// 809| trait_ = $5, +// 810| method_name = $7, +// 811| has_error = $8, +// 812| quantifiers = $4, +// 813| params = $9, +// 814| ret_ty~, +// 815| err_ty~, +// 816| body = $11, +// 817| vis = $2, +// 818| loc = mk_loc($sloc), +// 819| attrs = $1, +// 820| doc = DocString::empty() +// 821| ) +// 822| } ///| fn yy_action_100( @@ -5496,23 +5634,23 @@ fn yy_action_100( } // file:///./parser.mbty -// 826| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { -// 827| TopView( -// 828| quantifiers = $4, -// 829| source_ty = $10, -// 830| view_type_name = $5, -// 831| view_type_loc = mk_loc($loc($5)), -// 832| view_func_name = $12, -// 833| parameters = $13, -// 834| params_loc = mk_loc($loc($13)), -// 835| view_constrs = $7, -// 836| body = $14, -// 837| vis = $2, -// 838| loc = mk_loc($sloc), -// 839| attrs = $1, -// 840| doc = DocString::empty() -// 841| ) -// 842| } +// 835| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { +// 836| TopView( +// 837| quantifiers = $4, +// 838| source_ty = $10, +// 839| view_type_name = $5, +// 840| view_type_loc = mk_loc($loc($5)), +// 841| view_func_name = $12, +// 842| parameters = $13, +// 843| params_loc = mk_loc($loc($13)), +// 844| view_constrs = $7, +// 845| body = $14, +// 846| vis = $2, +// 847| loc = mk_loc($sloc), +// 848| attrs = $1, +// 849| doc = DocString::empty() +// 850| ) +// 851| } ///| fn yy_action_101( @@ -5564,19 +5702,19 @@ fn yy_action_101( } // file:///./parser.mbty -// 843| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { -// 844| TopUsing( -// 845| pkg = { -// 846| name : $4, -// 847| loc : mk_loc($loc($4)) -// 848| }, -// 849| names = $6, -// 850| vis = $2, -// 851| attrs = $1, -// 852| loc = mk_loc($loc), -// 853| doc = DocString::empty() -// 854| ) -// 855| } +// 852| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { +// 853| TopUsing( +// 854| pkg = { +// 855| name : $4, +// 856| loc : mk_loc($loc($4)) +// 857| }, +// 858| names = $6, +// 859| vis = $2, +// 860| attrs = $1, +// 861| loc = mk_loc($loc), +// 862| doc = DocString::empty() +// 863| ) +// 864| } ///| fn yy_action_102( @@ -5616,9 +5754,9 @@ fn yy_action_102( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_103( @@ -5651,7 +5789,7 @@ fn yy_action_103( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_104( @@ -5682,9 +5820,9 @@ fn yy_action_104( } // file:///./parser.mbty -// 894| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { -// 895| ($1, $2, $4, mk_loc($loc($4)), $5) -// 896| } +// 903| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { +// 904| ($1, $2, $4, mk_loc($loc($4)), $5) +// 905| } ///| fn yy_action_105( @@ -5714,9 +5852,9 @@ fn yy_action_105( } // file:///./parser.mbty -// 900| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { -// 901| ($1, $2, $4, mk_loc($loc($4)), $5) -// 902| } +// 909| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { +// 910| ($1, $2, $4, mk_loc($loc($4)), $5) +// 911| } ///| fn yy_action_106( @@ -5746,24 +5884,25 @@ fn yy_action_106( } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_107( @@ -5782,6 +5921,12 @@ fn yy_action_107( let _end_pos_of_item5 = _args[4].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -5800,30 +5945,32 @@ fn yy_action_107( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_108( @@ -5842,6 +5989,12 @@ fn yy_action_108( let _end_pos_of_item5 = _args[3].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -5860,30 +6013,32 @@ fn yy_action_108( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_109( @@ -5902,6 +6057,12 @@ fn yy_action_109( let _end_pos_of_item5 = _args[5].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -5920,30 +6081,32 @@ fn yy_action_109( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_110( @@ -5962,6 +6125,12 @@ fn yy_action_110( let _end_pos_of_item5 = _args[4].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -5980,13 +6149,14 @@ fn yy_action_110( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_111( @@ -6012,7 +6182,7 @@ fn yy_action_111( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_113( @@ -6038,7 +6208,7 @@ fn yy_action_113( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_114( @@ -6075,7 +6245,7 @@ fn yy_action_114( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_115( @@ -6112,25 +6282,25 @@ fn yy_action_115( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_116( @@ -6180,18 +6350,18 @@ fn yy_action_116( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_117( @@ -6231,9 +6401,9 @@ fn yy_action_117( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_118( @@ -6266,7 +6436,7 @@ fn yy_action_118( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_119( @@ -6297,24 +6467,25 @@ fn yy_action_119( } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_120( @@ -6333,6 +6504,12 @@ fn yy_action_120( let _end_pos_of_item5 = _args[6].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -6351,30 +6528,32 @@ fn yy_action_120( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_121( @@ -6393,6 +6572,12 @@ fn yy_action_121( let _end_pos_of_item5 = _args[5].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -6411,13 +6596,14 @@ fn yy_action_121( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_122( @@ -6443,7 +6629,7 @@ fn yy_action_122( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_123( @@ -6469,7 +6655,7 @@ fn yy_action_123( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_124( @@ -6506,7 +6692,7 @@ fn yy_action_124( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_125( @@ -6543,25 +6729,25 @@ fn yy_action_125( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_126( @@ -6611,18 +6797,18 @@ fn yy_action_126( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_127( @@ -6662,9 +6848,9 @@ fn yy_action_127( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_128( @@ -6697,7 +6883,7 @@ fn yy_action_128( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_129( @@ -6728,7 +6914,7 @@ fn yy_action_129( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_130( @@ -6754,7 +6940,7 @@ fn yy_action_130( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_131( @@ -6780,7 +6966,7 @@ fn yy_action_131( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_132( @@ -6817,7 +7003,7 @@ fn yy_action_132( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_133( @@ -6854,25 +7040,25 @@ fn yy_action_133( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_134( @@ -6922,18 +7108,18 @@ fn yy_action_134( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_135( @@ -6973,9 +7159,9 @@ fn yy_action_135( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_136( @@ -7008,7 +7194,7 @@ fn yy_action_136( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_137( @@ -7039,25 +7225,26 @@ fn yy_action_137( } // file:///./parser.mbty -// 401| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { -// 402| let (type_name, f) = $6 -// 403| let (return_type, error_type) = $10 -// 404| let fn_decl = FunDecl::{ -// 405| type_name, -// 406| name: f, -// 407| has_error : $7, -// 408| is_async : None, -// 409| quantifiers: $8, -// 410| decl_params: $9, -// 411| params_loc: mk_loc($loc($9)), -// 412| return_type, -// 413| error_type, -// 414| vis: $2, -// 415| doc: DocString::empty(), -// 416| attrs: $1, -// 417| } -// 418| ($4, fn_decl) -// 419| } +// 408| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { +// 409| let (type_name, f) = $6 +// 410| let (return_type, error_type) = $10 +// 411| let fn_decl = FunDecl::{ +// 412| type_name, +// 413| name: f, +// 414| has_error : $7, +// 415| is_async : None, +// 416| quantifiers: $8, +// 417| decl_params: $9, +// 418| params_loc: mk_loc($loc($9)), +// 419| return_type, +// 420| error_type, +// 421| vis: $2, +// 422| doc: DocString::empty(), +// 423| attrs: $1, +// 424| loc : mk_loc($loc) +// 425| } +// 426| ($4, fn_decl) +// 427| } ///| fn yy_action_138( @@ -7075,6 +7262,12 @@ fn yy_action_138( let _end_pos_of_item8 = _args[7].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } guard _args[2].0 is YYObj_StringLiteral(_dollar4) YYObj__StringLiteral__FunDecl_( { @@ -7094,6 +7287,7 @@ fn yy_action_138( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } (_dollar4, fn_decl) }, @@ -7101,22 +7295,22 @@ fn yy_action_138( } // file:///./parser.mbty -// 477| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { -// 478| TopTypeDef( -// 479| TypeDecl::{ -// 480| tycon : $5, -// 481| tycon_loc : mk_loc($loc($5)), -// 482| params : $6, -// 483| components: Extern, -// 484| type_vis : $2, -// 485| doc : DocString::empty(), -// 486| deriving: $7, -// 487| loc : mk_loc($sloc), -// 488| attrs : $1, -// 489| is_declare : false -// 490| } -// 491| ) -// 492| } +// 485| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { +// 486| TopTypeDef( +// 487| TypeDecl::{ +// 488| tycon : $5, +// 489| tycon_loc : mk_loc($loc($5)), +// 490| params : $6, +// 491| components: Extern, +// 492| type_vis : $2, +// 493| doc : DocString::empty(), +// 494| deriving: $7, +// 495| loc : mk_loc($sloc), +// 496| attrs : $1, +// 497| is_declare : false +// 498| } +// 499| ) +// 500| } ///| fn yy_action_139( @@ -7158,7 +7352,7 @@ fn yy_action_139( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_140( @@ -7184,7 +7378,7 @@ fn yy_action_140( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_141( @@ -7210,7 +7404,7 @@ fn yy_action_141( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_142( @@ -7247,7 +7441,7 @@ fn yy_action_142( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_143( @@ -7284,19 +7478,19 @@ fn yy_action_143( } // file:///./parser.mbty -// 676| attributes visibility "fnalias" func_alias_targets { -// 677| let (pkg, type_name, is_list, targets) = $4 -// 678| TopFuncAlias( -// 679| pkg~, -// 680| type_name~, -// 681| targets~, -// 682| vis = $2, -// 683| attrs = $1, -// 684| is_list~, -// 685| doc = DocString::empty(), -// 686| loc = mk_loc($sloc) -// 687| ) -// 688| } +// 685| attributes visibility "fnalias" func_alias_targets { +// 686| let (pkg, type_name, is_list, targets) = $4 +// 687| TopFuncAlias( +// 688| pkg~, +// 689| type_name~, +// 690| targets~, +// 691| vis = $2, +// 692| attrs = $1, +// 693| is_list~, +// 694| doc = DocString::empty(), +// 695| loc = mk_loc($sloc) +// 696| ) +// 697| } ///| fn yy_action_144( @@ -7333,25 +7527,25 @@ fn yy_action_144( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_145( @@ -7401,18 +7595,18 @@ fn yy_action_145( } // file:///./parser.mbty -// 708| attributes visibility "typealias" batch_type_alias_targets { -// 709| let (is_list, pkg, targets) = $4 -// 710| TopBatchTypeAlias( -// 711| pkg~, -// 712| targets~, -// 713| vis = $2, -// 714| attrs = $1, -// 715| is_list~, -// 716| doc = DocString::empty(), -// 717| loc = mk_loc($sloc) -// 718| ) -// 719| } +// 717| attributes visibility "typealias" batch_type_alias_targets { +// 718| let (is_list, pkg, targets) = $4 +// 719| TopBatchTypeAlias( +// 720| pkg~, +// 721| targets~, +// 722| vis = $2, +// 723| attrs = $1, +// 724| is_list~, +// 725| doc = DocString::empty(), +// 726| loc = mk_loc($sloc) +// 727| ) +// 728| } ///| fn yy_action_146( @@ -7448,22 +7642,22 @@ fn yy_action_146( } // file:///./parser.mbty -// 720| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { -// 721| TopTypeDef( -// 722| TypeDecl::{ -// 723| tycon : $6, -// 724| tycon_loc : mk_loc($loc($6)), -// 725| params : $7, -// 726| components: Alias($4), -// 727| type_vis : $2, -// 728| doc : DocString::empty(), -// 729| deriving: @list.empty(), -// 730| loc : mk_loc($sloc), -// 731| attrs : $1, -// 732| is_declare : false -// 733| } -// 734| ) -// 735| } +// 729| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { +// 730| TopTypeDef( +// 731| TypeDecl::{ +// 732| tycon : $6, +// 733| tycon_loc : mk_loc($loc($6)), +// 734| params : $7, +// 735| components: Alias($4), +// 736| type_vis : $2, +// 737| doc : DocString::empty(), +// 738| deriving: @list.empty(), +// 739| loc : mk_loc($sloc), +// 740| attrs : $1, +// 741| is_declare : false +// 742| } +// 743| ) +// 744| } ///| fn yy_action_147( @@ -7505,18 +7699,18 @@ fn yy_action_147( } // file:///./parser.mbty -// 753| attributes visibility "traitalias" batch_type_alias_targets { -// 754| let (is_list, pkg, targets) = $4 -// 755| TopBatchTraitAlias( -// 756| pkg~, -// 757| targets~, -// 758| vis = $2, -// 759| attrs = $1, -// 760| is_list~, -// 761| doc = DocString::empty(), -// 762| loc = mk_loc($sloc) -// 763| ) -// 764| } +// 762| attributes visibility "traitalias" batch_type_alias_targets { +// 763| let (is_list, pkg, targets) = $4 +// 764| TopBatchTraitAlias( +// 765| pkg~, +// 766| targets~, +// 767| vis = $2, +// 768| attrs = $1, +// 769| is_list~, +// 770| doc = DocString::empty(), +// 771| loc = mk_loc($sloc) +// 772| ) +// 773| } ///| fn yy_action_148( @@ -7552,19 +7746,19 @@ fn yy_action_148( } // file:///./parser.mbty -// 765| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { -// 766| let (local_types, expr) = $6 -// 767| TopTest( -// 768| expr~, -// 769| name = $4, -// 770| params = $5, -// 771| local_types~, -// 772| is_async = $2, -// 773| loc = mk_loc($sloc), -// 774| attrs = $1, -// 775| doc = DocString::empty() -// 776| ) -// 777| } +// 774| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { +// 775| let (local_types, expr) = $6 +// 776| TopTest( +// 777| expr~, +// 778| name = $4, +// 779| params = $5, +// 780| local_types~, +// 781| is_async = $2, +// 782| loc = mk_loc($sloc), +// 783| attrs = $1, +// 784| doc = DocString::empty() +// 785| ) +// 786| } ///| fn yy_action_149( @@ -7603,24 +7797,24 @@ fn yy_action_149( } // file:///./parser.mbty -// 778| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { -// 779| let (ret_ty, err_ty) = $12 -// 780| TopImpl( -// 781| self_ty = Some($7), -// 782| trait_ = $5, -// 783| method_name = $9, -// 784| has_error = $10, -// 785| quantifiers = $4, -// 786| params = $11, -// 787| ret_ty~, -// 788| err_ty~, -// 789| body = $13, -// 790| vis = $2, -// 791| loc = mk_loc($sloc), -// 792| attrs = $1, -// 793| doc = DocString::empty() -// 794| ) -// 795| } +// 787| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { +// 788| let (ret_ty, err_ty) = $12 +// 789| TopImpl( +// 790| self_ty = Some($7), +// 791| trait_ = $5, +// 792| method_name = $9, +// 793| has_error = $10, +// 794| quantifiers = $4, +// 795| params = $11, +// 796| ret_ty~, +// 797| err_ty~, +// 798| body = $13, +// 799| vis = $2, +// 800| loc = mk_loc($sloc), +// 801| attrs = $1, +// 802| doc = DocString::empty() +// 803| ) +// 804| } ///| fn yy_action_150( @@ -7670,18 +7864,18 @@ fn yy_action_150( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_151( @@ -7721,24 +7915,24 @@ fn yy_action_151( } // file:///./parser.mbty -// 796| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { -// 797| let (ret_ty, err_ty) = $10 -// 798| TopImpl( -// 799| self_ty = None, -// 800| trait_ = $5, -// 801| method_name = $7, -// 802| has_error = $8, -// 803| quantifiers = $4, -// 804| params = $9, -// 805| ret_ty~, -// 806| err_ty~, -// 807| body = $11, -// 808| vis = $2, -// 809| loc = mk_loc($sloc), -// 810| attrs = $1, -// 811| doc = DocString::empty() -// 812| ) -// 813| } +// 805| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { +// 806| let (ret_ty, err_ty) = $10 +// 807| TopImpl( +// 808| self_ty = None, +// 809| trait_ = $5, +// 810| method_name = $7, +// 811| has_error = $8, +// 812| quantifiers = $4, +// 813| params = $9, +// 814| ret_ty~, +// 815| err_ty~, +// 816| body = $11, +// 817| vis = $2, +// 818| loc = mk_loc($sloc), +// 819| attrs = $1, +// 820| doc = DocString::empty() +// 821| ) +// 822| } ///| fn yy_action_152( @@ -7787,23 +7981,23 @@ fn yy_action_152( } // file:///./parser.mbty -// 826| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { -// 827| TopView( -// 828| quantifiers = $4, -// 829| source_ty = $10, -// 830| view_type_name = $5, -// 831| view_type_loc = mk_loc($loc($5)), -// 832| view_func_name = $12, -// 833| parameters = $13, -// 834| params_loc = mk_loc($loc($13)), -// 835| view_constrs = $7, -// 836| body = $14, -// 837| vis = $2, -// 838| loc = mk_loc($sloc), -// 839| attrs = $1, -// 840| doc = DocString::empty() -// 841| ) -// 842| } +// 835| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { +// 836| TopView( +// 837| quantifiers = $4, +// 838| source_ty = $10, +// 839| view_type_name = $5, +// 840| view_type_loc = mk_loc($loc($5)), +// 841| view_func_name = $12, +// 842| parameters = $13, +// 843| params_loc = mk_loc($loc($13)), +// 844| view_constrs = $7, +// 845| body = $14, +// 846| vis = $2, +// 847| loc = mk_loc($sloc), +// 848| attrs = $1, +// 849| doc = DocString::empty() +// 850| ) +// 851| } ///| fn yy_action_153( @@ -7855,19 +8049,19 @@ fn yy_action_153( } // file:///./parser.mbty -// 843| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { -// 844| TopUsing( -// 845| pkg = { -// 846| name : $4, -// 847| loc : mk_loc($loc($4)) -// 848| }, -// 849| names = $6, -// 850| vis = $2, -// 851| attrs = $1, -// 852| loc = mk_loc($loc), -// 853| doc = DocString::empty() -// 854| ) -// 855| } +// 852| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { +// 853| TopUsing( +// 854| pkg = { +// 855| name : $4, +// 856| loc : mk_loc($loc($4)) +// 857| }, +// 858| names = $6, +// 859| vis = $2, +// 860| attrs = $1, +// 861| loc = mk_loc($loc), +// 862| doc = DocString::empty() +// 863| ) +// 864| } ///| fn yy_action_154( @@ -7907,9 +8101,9 @@ fn yy_action_154( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_155( @@ -7942,7 +8136,7 @@ fn yy_action_155( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_156( @@ -7973,9 +8167,9 @@ fn yy_action_156( } // file:///./parser.mbty -// 894| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { -// 895| ($1, $2, $4, mk_loc($loc($4)), $5) -// 896| } +// 903| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { +// 904| ($1, $2, $4, mk_loc($loc($4)), $5) +// 905| } ///| fn yy_action_157( @@ -8005,9 +8199,9 @@ fn yy_action_157( } // file:///./parser.mbty -// 900| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { -// 901| ($1, $2, $4, mk_loc($loc($4)), $5) -// 902| } +// 909| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { +// 910| ($1, $2, $4, mk_loc($loc($4)), $5) +// 911| } ///| fn yy_action_158( @@ -8037,24 +8231,25 @@ fn yy_action_158( } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_159( @@ -8073,6 +8268,12 @@ fn yy_action_159( let _end_pos_of_item5 = _args[3].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -8091,30 +8292,32 @@ fn yy_action_159( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_160( @@ -8133,6 +8336,12 @@ fn yy_action_160( let _end_pos_of_item5 = _args[2].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -8151,30 +8360,32 @@ fn yy_action_160( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_161( @@ -8193,6 +8404,12 @@ fn yy_action_161( let _end_pos_of_item5 = _args[4].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -8211,30 +8428,32 @@ fn yy_action_161( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_162( @@ -8253,6 +8472,12 @@ fn yy_action_162( let _end_pos_of_item5 = _args[3].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -8271,13 +8496,14 @@ fn yy_action_162( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_163( @@ -8303,7 +8529,7 @@ fn yy_action_163( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_164( @@ -8329,7 +8555,7 @@ fn yy_action_164( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_165( @@ -8366,7 +8592,7 @@ fn yy_action_165( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_166( @@ -8403,25 +8629,25 @@ fn yy_action_166( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_167( @@ -8471,18 +8697,18 @@ fn yy_action_167( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_168( @@ -8522,9 +8748,9 @@ fn yy_action_168( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_169( @@ -8557,7 +8783,7 @@ fn yy_action_169( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_170( @@ -8588,24 +8814,25 @@ fn yy_action_170( } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_171( @@ -8624,6 +8851,12 @@ fn yy_action_171( let _end_pos_of_item5 = _args[5].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -8642,30 +8875,32 @@ fn yy_action_171( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 341| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { -// 342| let ((type_name, f), has_error, quants) = $5 -// 343| let (return_type, error_type) = $7 -// 344| FunDecl::{ -// 345| type_name, -// 346| name: f, -// 347| has_error, -// 348| is_async : $4, -// 349| quantifiers: quants, -// 350| decl_params: $6, -// 351| params_loc: mk_loc($loc($6)), -// 352| return_type, -// 353| error_type, -// 354| vis: $3, -// 355| doc: DocString::empty(), -// 356| attrs: $1, -// 357| } -// 358| } +// 347| attributes "declare" visibility is_async fun_header_generic option(parameters) func_return_type { +// 348| let ((type_name, f), has_error, quants) = $5 +// 349| let (return_type, error_type) = $7 +// 350| FunDecl::{ +// 351| type_name, +// 352| name: f, +// 353| has_error, +// 354| is_async : $4, +// 355| quantifiers: quants, +// 356| decl_params: $6, +// 357| params_loc: mk_loc($loc($6)), +// 358| return_type, +// 359| error_type, +// 360| vis: $3, +// 361| doc: DocString::empty(), +// 362| attrs: $1, +// 363| loc : mk_loc($loc) +// 364| } +// 365| } ///| fn yy_action_172( @@ -8684,6 +8919,12 @@ fn yy_action_172( let _end_pos_of_item5 = _args[4].2 guard _sub_action_1_result is YYObj_Visibility(_dollar3) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } YYObj_FunDecl( { () @@ -8702,13 +8943,14 @@ fn yy_action_172( vis: _dollar3, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } }, ) } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_173( @@ -8734,7 +8976,7 @@ fn yy_action_173( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_174( @@ -8760,7 +9002,7 @@ fn yy_action_174( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_175( @@ -8797,7 +9039,7 @@ fn yy_action_175( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_176( @@ -8834,25 +9076,25 @@ fn yy_action_176( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_177( @@ -8902,18 +9144,18 @@ fn yy_action_177( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_178( @@ -8953,9 +9195,9 @@ fn yy_action_178( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_179( @@ -8988,7 +9230,7 @@ fn yy_action_179( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_180( @@ -9019,7 +9261,7 @@ fn yy_action_180( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_181( @@ -9045,7 +9287,7 @@ fn yy_action_181( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_182( @@ -9071,7 +9313,7 @@ fn yy_action_182( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_183( @@ -9108,7 +9350,7 @@ fn yy_action_183( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_184( @@ -9145,25 +9387,25 @@ fn yy_action_184( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| fn yy_action_185( @@ -9213,18 +9455,18 @@ fn yy_action_185( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| fn yy_action_186( @@ -9264,9 +9506,9 @@ fn yy_action_186( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| fn yy_action_187( @@ -9299,7 +9541,7 @@ fn yy_action_187( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| fn yy_action_188( @@ -9330,7 +9572,7 @@ fn yy_action_188( } // file:///./parser.mbty -// 880| "declare" { true } +// 889| "declare" { true } ///| fn yy_action_112( @@ -9346,7 +9588,7 @@ fn yy_action_112( } // file:///./parser.mbty -// 361| "fn" type_parameters fun_binder optional_bang { ($3, $4, $2) } +// 368| "fn" type_parameters fun_binder optional_bang { ($3, $4, $2) } ///| fn yy_action_189( @@ -9365,7 +9607,7 @@ fn yy_action_189( } // file:///./parser.mbty -// 362| "fn" fun_binder optional_bang optional_type_parameters { ($2, $3, $4) } +// 369| "fn" fun_binder optional_bang optional_type_parameters { ($2, $3, $4) } ///| fn yy_action_190( @@ -9384,10 +9626,10 @@ fn yy_action_190( } // file:///./parser.mbty -// 312| type_name "::" LIDENT { -// 313| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } -// 314| (Some($1), binder) -// 315| } +// 317| type_name "::" LIDENT { +// 318| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } +// 319| (Some($1), binder) +// 320| } ///| fn yy_action_191( @@ -9411,7 +9653,7 @@ fn yy_action_191( } // file:///./parser.mbty -// 316| binder { (None, $1) } +// 321| binder { (None, $1) } ///| fn yy_action_192( @@ -9429,25 +9671,26 @@ fn yy_action_192( } // file:///./parser.mbty -// 401| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { -// 402| let (type_name, f) = $6 -// 403| let (return_type, error_type) = $10 -// 404| let fn_decl = FunDecl::{ -// 405| type_name, -// 406| name: f, -// 407| has_error : $7, -// 408| is_async : None, -// 409| quantifiers: $8, -// 410| decl_params: $9, -// 411| params_loc: mk_loc($loc($9)), -// 412| return_type, -// 413| error_type, -// 414| vis: $2, -// 415| doc: DocString::empty(), -// 416| attrs: $1, -// 417| } -// 418| ($4, fn_decl) -// 419| } +// 408| attributes visibility "extern" STRING "fn" fun_binder optional_bang optional_type_parameters option(parameters) func_return_type { +// 409| let (type_name, f) = $6 +// 410| let (return_type, error_type) = $10 +// 411| let fn_decl = FunDecl::{ +// 412| type_name, +// 413| name: f, +// 414| has_error : $7, +// 415| is_async : None, +// 416| quantifiers: $8, +// 417| decl_params: $9, +// 418| params_loc: mk_loc($loc($9)), +// 419| return_type, +// 420| error_type, +// 421| vis: $2, +// 422| doc: DocString::empty(), +// 423| attrs: $1, +// 424| loc : mk_loc($loc) +// 425| } +// 426| ($4, fn_decl) +// 427| } ///| fn yy_action_193( @@ -9465,6 +9708,12 @@ fn yy_action_193( let _end_pos_of_item8 = _args[6].2 guard _sub_action_1_result is YYObj_Visibility(_dollar2) guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } guard _args[1].0 is YYObj_StringLiteral(_dollar4) YYObj__StringLiteral__FunDecl_( { @@ -9484,6 +9733,7 @@ fn yy_action_193( vis: _dollar2, doc: DocString::empty(), attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), } (_dollar4, fn_decl) }, @@ -9491,22 +9741,22 @@ fn yy_action_193( } // file:///./parser.mbty -// 477| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { -// 478| TopTypeDef( -// 479| TypeDecl::{ -// 480| tycon : $5, -// 481| tycon_loc : mk_loc($loc($5)), -// 482| params : $6, -// 483| components: Extern, -// 484| type_vis : $2, -// 485| doc : DocString::empty(), -// 486| deriving: $7, -// 487| loc : mk_loc($sloc), -// 488| attrs : $1, -// 489| is_declare : false -// 490| } -// 491| ) -// 492| } +// 485| attributes visibility "extern" "type" UIDENT optional_type_parameters_no_constraints deriving_directive_list { +// 486| TopTypeDef( +// 487| TypeDecl::{ +// 488| tycon : $5, +// 489| tycon_loc : mk_loc($loc($5)), +// 490| params : $6, +// 491| components: Extern, +// 492| type_vis : $2, +// 493| doc : DocString::empty(), +// 494| deriving: $7, +// 495| loc : mk_loc($sloc), +// 496| attrs : $1, +// 497| is_declare : false +// 498| } +// 499| ) +// 500| } ///| fn yy_action_194( @@ -9548,7 +9798,7 @@ fn yy_action_194( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_195( @@ -9574,7 +9824,7 @@ fn yy_action_195( } // file:///./parser.mbty -// 451| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } +// 459| attributes is_declare visibility "let" binder opt_annot { ($1, false, $2, $3, $5, $6) } ///| fn yy_action_196( @@ -9600,7 +9850,7 @@ fn yy_action_196( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_197( @@ -9637,7 +9887,7 @@ fn yy_action_197( } // file:///./parser.mbty -// 452| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } +// 460| attributes is_declare visibility "const" UIDENT opt_annot { ($1, true, $2, $3, Binder::{ name : $5, loc : mk_loc($loc($5)) }, $6) } ///| fn yy_action_198( @@ -9674,23 +9924,23 @@ fn yy_action_198( } // file:///./parser.mbty -// 460| type_header deriving_directive_list { -// 461| let (attrs, type_vis, is_declare, tycon, tycon_loc, params) = $1 -// 462| TopTypeDef( -// 463| TypeDecl::{ -// 464| tycon, -// 465| tycon_loc, -// 466| params, -// 467| components: Abstract, -// 468| type_vis, -// 469| doc : DocString::empty(), -// 470| deriving: $2, -// 471| loc : mk_loc($sloc), -// 472| attrs, -// 473| is_declare -// 474| } -// 475| ) -// 476| } +// 468| type_header deriving_directive_list { +// 469| let (attrs, type_vis, is_declare, tycon, tycon_loc, params) = $1 +// 470| TopTypeDef( +// 471| TypeDecl::{ +// 472| tycon, +// 473| tycon_loc, +// 474| params, +// 475| components: Abstract, +// 476| type_vis, +// 477| doc : DocString::empty(), +// 478| deriving: $2, +// 479| loc : mk_loc($sloc), +// 480| attrs, +// 481| is_declare +// 482| } +// 483| ) +// 484| } ///| fn yy_action_199( @@ -9729,23 +9979,23 @@ fn yy_action_199( } // file:///./parser.mbty -// 493| type_header type_ deriving_directive_list { -// 494| let (attrs, type_vis, is_declare, tycon, tycon_loc, params) = $1 -// 495| TopTypeDef( -// 496| TypeDecl::{ -// 497| tycon, -// 498| tycon_loc, -// 499| params, -// 500| components: Newtype($2), -// 501| type_vis, -// 502| doc : DocString::empty(), -// 503| deriving: $3, -// 504| loc : mk_loc($sloc), -// 505| attrs, -// 506| is_declare -// 507| } -// 508| ) -// 509| } +// 501| type_header type_ deriving_directive_list { +// 502| let (attrs, type_vis, is_declare, tycon, tycon_loc, params) = $1 +// 503| TopTypeDef( +// 504| TypeDecl::{ +// 505| tycon, +// 506| tycon_loc, +// 507| params, +// 508| components: Newtype($2), +// 509| type_vis, +// 510| doc : DocString::empty(), +// 511| deriving: $3, +// 512| loc : mk_loc($sloc), +// 513| attrs, +// 514| is_declare +// 515| } +// 516| ) +// 517| } ///| fn yy_action_200( @@ -9785,23 +10035,23 @@ fn yy_action_200( } // file:///./parser.mbty -// 736| type_header "=" type_ deriving_directive_list { -// 737| let (attrs, type_vis, is_declare, tycon, tycon_loc, params) = $1 -// 738| TopTypeDef( -// 739| TypeDecl::{ -// 740| tycon, -// 741| tycon_loc, -// 742| params, -// 743| components: Alias($3), -// 744| type_vis, -// 745| doc : DocString::empty(), -// 746| deriving: $4, -// 747| loc : mk_loc($sloc), -// 748| attrs, -// 749| is_declare -// 750| } -// 751| ) -// 752| } +// 745| type_header "=" type_ deriving_directive_list { +// 746| let (attrs, type_vis, is_declare, tycon, tycon_loc, params) = $1 +// 747| TopTypeDef( +// 748| TypeDecl::{ +// 749| tycon, +// 750| tycon_loc, +// 751| params, +// 752| components: Alias($3), +// 753| type_vis, +// 754| doc : DocString::empty(), +// 755| deriving: $4, +// 756| loc : mk_loc($sloc), +// 757| attrs, +// 758| is_declare +// 759| } +// 760| ) +// 761| } ///| fn yy_action_201( @@ -9841,28 +10091,28 @@ fn yy_action_201( } // file:///./parser.mbty -// 510| suberror_header option(type_) deriving_directive_list { -// 511| let (attrs, type_vis, is_declare, tycon, tycon_loc) = $1 -// 512| let exception_decl : ExceptionDecl = match $2 { -// 513| None => NoPayload -// 514| Some(ty) => SinglePayload(ty) -// 515| } -// 516| TopTypeDef( -// 517| TypeDecl::{ -// 518| tycon, -// 519| tycon_loc, -// 520| params: @list.empty(), -// 521| components: Error(exception_decl), -// 522| type_vis, -// 523| doc : DocString::empty(), -// 524| deriving: $3, -// 525| loc : mk_loc($sloc), -// 526| attrs, -// 527| is_declare -// 528| } -// 529| ) -// 530| -// 531| } +// 518| suberror_header option(type_) deriving_directive_list { +// 519| let (attrs, type_vis, is_declare, tycon, tycon_loc) = $1 +// 520| let exception_decl : ExceptionDecl = match $2 { +// 521| None => NoPayload +// 522| Some(ty) => SinglePayload(ty) +// 523| } +// 524| TopTypeDef( +// 525| TypeDecl::{ +// 526| tycon, +// 527| tycon_loc, +// 528| params: @list.empty(), +// 529| components: Error(exception_decl), +// 530| type_vis, +// 531| doc : DocString::empty(), +// 532| deriving: $3, +// 533| loc : mk_loc($sloc), +// 534| attrs, +// 535| is_declare +// 536| } +// 537| ) +// 538| +// 539| } ///| fn yy_action_202( @@ -9904,24 +10154,24 @@ fn yy_action_202( } // file:///./parser.mbty -// 532| suberror_header "{" list_semis(enum_constructor) "}" deriving_directive_list { -// 533| let (attrs, type_vis, is_declare, tycon, tycon_loc) = $1 -// 534| let exception_decl : ExceptionDecl = EnumPayload($3) -// 535| TopTypeDef( -// 536| TypeDecl::{ -// 537| tycon, -// 538| tycon_loc, -// 539| params: @list.empty(), -// 540| components: Error(exception_decl), -// 541| type_vis, -// 542| doc : DocString::empty(), -// 543| deriving: $5, -// 544| loc : mk_loc($sloc), -// 545| attrs, -// 546| is_declare -// 547| } -// 548| ) -// 549| } +// 540| suberror_header "{" list_semis(enum_constructor) "}" deriving_directive_list { +// 541| let (attrs, type_vis, is_declare, tycon, tycon_loc) = $1 +// 542| let exception_decl : ExceptionDecl = EnumPayload($3) +// 543| TopTypeDef( +// 544| TypeDecl::{ +// 545| tycon, +// 546| tycon_loc, +// 547| params: @list.empty(), +// 548| components: Error(exception_decl), +// 549| type_vis, +// 550| doc : DocString::empty(), +// 551| deriving: $5, +// 552| loc : mk_loc($sloc), +// 553| attrs, +// 554| is_declare +// 555| } +// 556| ) +// 557| } ///| fn yy_action_203( @@ -9993,23 +10243,24 @@ fn yy_action_205( } // file:///./parser.mbty -// 550| struct_header "{" list_semis(record_decl_field) "}" deriving_directive_list { -// 551| let (attrs, type_vis, tycon, tycon_loc, params) = $1 -// 552| TopTypeDef( -// 553| TypeDecl::{ -// 554| tycon, -// 555| tycon_loc, -// 556| params, -// 557| components: Record($3), -// 558| type_vis, -// 559| doc : DocString::empty(), -// 560| deriving: $5, -// 561| loc : mk_loc($sloc), -// 562| attrs, -// 563| is_declare : false -// 564| } -// 565| ) -// 566| } +// 558| struct_header "{" record_decl_body "}" deriving_directive_list { +// 559| let (attrs, type_vis, tycon, tycon_loc, params) = $1 +// 560| let (fields, constr_decl) = $3 +// 561| TopTypeDef( +// 562| TypeDecl::{ +// 563| tycon, +// 564| tycon_loc, +// 565| params, +// 566| components: Record(fields~, constr_decl~), +// 567| type_vis, +// 568| doc : DocString::empty(), +// 569| deriving: $5, +// 570| loc : mk_loc($sloc), +// 571| attrs, +// 572| is_declare : false +// 573| } +// 574| ) +// 575| } ///| fn yy_action_206( @@ -10020,7 +10271,7 @@ fn yy_action_206( is YYObj__List_Attribute___Visibility__String__Location__List_TypeDeclBinder__( _dollar1 ) - guard _args[2].0 is YYObj_List_FieldDecl_(_dollar3) + guard _args[2].0 is YYObj__List_FieldDecl___FunDecl__(_dollar3) guard _args[4].0 is YYObj_List_DerivingDirective_(_dollar5) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { @@ -10032,11 +10283,12 @@ fn yy_action_206( { () let (attrs, type_vis, tycon, tycon_loc, params) = _dollar1 + let (fields, constr_decl) = _dollar3 TopTypeDef(TypeDecl::{ tycon, tycon_loc, params, - components: Record(_dollar3), + components: Record(fields~, constr_decl~), type_vis, doc: DocString::empty(), deriving: _dollar5, @@ -10049,28 +10301,399 @@ fn yy_action_206( } // file:///./parser.mbty -// 567| struct_header "(" non_empty_list_commas(type_) ")" deriving_directive_list { -// 568| let (attrs, type_vis, tycon, tycon_loc, params) = $1 -// 569| TopTypeDef( -// 570| TypeDecl::{ -// 571| tycon, -// 572| tycon_loc, -// 573| params, -// 574| components: TupleStruct($3), -// 575| type_vis, -// 576| doc : DocString::empty(), -// 577| deriving: $5, -// 578| loc : mk_loc($sloc), -// 579| attrs, -// 580| is_declare : false -// 581| } -// 582| ) -// 583| } +// 2198| record_constr_decl option(SEMI) { +// 2199| (@list.empty(), Some($1)) +// 2200| } ///| fn yy_action_207( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + guard _args[0].0 is YYObj_FunDecl(_dollar1) + YYObj__List_FieldDecl___FunDecl__( + { + () + (@list.empty(), Some(_dollar1)) + }, + ) +} + +// file:///./parser.mbty +// 2178| attributes is_async "fn" optional_type_parameters binder "(" list_commas(trait_method_param) ")" func_return_type { +// 2179| let (return_type, error_type) = $9 +// 2180| FunDecl::{ +// 2181| type_name : None, +// 2182| name : $5, +// 2183| has_error : None, +// 2184| is_async : $2, +// 2185| quantifiers: $4, +// 2186| decl_params: Some($7), +// 2187| params_loc: mk_loc($loc($7)), +// 2188| return_type, +// 2189| error_type, +// 2190| vis: Default, +// 2191| doc: DocString::empty(), +// 2192| attrs: $1, +// 2193| loc : mk_loc($loc) +// 2194| } +// 2195| } + +///| +fn yy_action_208( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_60(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_5(_args[0].2, _args[1:2]) + let _sub_action_2_result = yy_action_16(_args[3].2, _args[4:5]) + guard _args[8].0 is YYObj__Type___ErrorType_(_dollar9) + guard _sub_action_2_result is YYObj_Binder(_dollar5) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[3].0 is YYObj_List_TypeVarBinder_(_dollar4) + guard _args[6].0 is YYObj_List_Parameter_(_dollar7) + let _start_pos_of_item6 = _args[6].1 + let _end_pos_of_item6 = _args[6].2 + guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_FunDecl( + { + () + let (return_type, error_type) = _dollar9 + FunDecl::{ + type_name: None, + name: _dollar5, + has_error: None, + is_async: _dollar2, + quantifiers: _dollar4, + decl_params: Some(_dollar7), + params_loc: mk_loc((_start_pos_of_item6, _end_pos_of_item6)), + return_type, + error_type, + vis: Default, + doc: DocString::empty(), + attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./parser.mbty +// 2178| attributes is_async "fn" optional_type_parameters binder "(" list_commas(trait_method_param) ")" func_return_type { +// 2179| let (return_type, error_type) = $9 +// 2180| FunDecl::{ +// 2181| type_name : None, +// 2182| name : $5, +// 2183| has_error : None, +// 2184| is_async : $2, +// 2185| quantifiers: $4, +// 2186| decl_params: Some($7), +// 2187| params_loc: mk_loc($loc($7)), +// 2188| return_type, +// 2189| error_type, +// 2190| vis: Default, +// 2191| doc: DocString::empty(), +// 2192| attrs: $1, +// 2193| loc : mk_loc($loc) +// 2194| } +// 2195| } + +///| +fn yy_action_209( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_60(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_8(_args[0].2, _args[1:1]) + let _sub_action_2_result = yy_action_16(_args[2].2, _args[3:4]) + guard _args[7].0 is YYObj__Type___ErrorType_(_dollar9) + guard _sub_action_2_result is YYObj_Binder(_dollar5) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[2].0 is YYObj_List_TypeVarBinder_(_dollar4) + guard _args[5].0 is YYObj_List_Parameter_(_dollar7) + let _start_pos_of_item6 = _args[5].1 + let _end_pos_of_item6 = _args[5].2 + guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_FunDecl( + { + () + let (return_type, error_type) = _dollar9 + FunDecl::{ + type_name: None, + name: _dollar5, + has_error: None, + is_async: _dollar2, + quantifiers: _dollar4, + decl_params: Some(_dollar7), + params_loc: mk_loc((_start_pos_of_item6, _end_pos_of_item6)), + return_type, + error_type, + vis: Default, + doc: DocString::empty(), + attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./parser.mbty +// 2178| attributes is_async "fn" optional_type_parameters binder "(" list_commas(trait_method_param) ")" func_return_type { +// 2179| let (return_type, error_type) = $9 +// 2180| FunDecl::{ +// 2181| type_name : None, +// 2182| name : $5, +// 2183| has_error : None, +// 2184| is_async : $2, +// 2185| quantifiers: $4, +// 2186| decl_params: Some($7), +// 2187| params_loc: mk_loc($loc($7)), +// 2188| return_type, +// 2189| error_type, +// 2190| vis: Default, +// 2191| doc: DocString::empty(), +// 2192| attrs: $1, +// 2193| loc : mk_loc($loc) +// 2194| } +// 2195| } + +///| +fn yy_action_210( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_3(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_5(_last_pos, _args[0:1]) + let _sub_action_2_result = yy_action_16(_args[2].2, _args[3:4]) + guard _args[7].0 is YYObj__Type___ErrorType_(_dollar9) + guard _sub_action_2_result is YYObj_Binder(_dollar5) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[2].0 is YYObj_List_TypeVarBinder_(_dollar4) + guard _args[5].0 is YYObj_List_Parameter_(_dollar7) + let _start_pos_of_item6 = _args[5].1 + let _end_pos_of_item6 = _args[5].2 + guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_FunDecl( + { + () + let (return_type, error_type) = _dollar9 + FunDecl::{ + type_name: None, + name: _dollar5, + has_error: None, + is_async: _dollar2, + quantifiers: _dollar4, + decl_params: Some(_dollar7), + params_loc: mk_loc((_start_pos_of_item6, _end_pos_of_item6)), + return_type, + error_type, + vis: Default, + doc: DocString::empty(), + attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./parser.mbty +// 2178| attributes is_async "fn" optional_type_parameters binder "(" list_commas(trait_method_param) ")" func_return_type { +// 2179| let (return_type, error_type) = $9 +// 2180| FunDecl::{ +// 2181| type_name : None, +// 2182| name : $5, +// 2183| has_error : None, +// 2184| is_async : $2, +// 2185| quantifiers: $4, +// 2186| decl_params: Some($7), +// 2187| params_loc: mk_loc($loc($7)), +// 2188| return_type, +// 2189| error_type, +// 2190| vis: Default, +// 2191| doc: DocString::empty(), +// 2192| attrs: $1, +// 2193| loc : mk_loc($loc) +// 2194| } +// 2195| } + +///| +fn yy_action_211( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_3(_last_pos, _args[0:0]) + let _sub_action_1_result = yy_action_8(_last_pos, _args[0:0]) + let _sub_action_2_result = yy_action_16(_args[1].2, _args[2:3]) + guard _args[6].0 is YYObj__Type___ErrorType_(_dollar9) + guard _sub_action_2_result is YYObj_Binder(_dollar5) + guard _sub_action_1_result is YYObj_Location_(_dollar2) + guard _args[1].0 is YYObj_List_TypeVarBinder_(_dollar4) + guard _args[4].0 is YYObj_List_Parameter_(_dollar7) + let _start_pos_of_item6 = _args[4].1 + let _end_pos_of_item6 = _args[4].2 + guard _sub_action_0_result is YYObj_List_Attribute_(_dollar1) + let _start_pos = if _args.length() == 0 { _last_pos } else { _args[0].1 } + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_FunDecl( + { + () + let (return_type, error_type) = _dollar9 + FunDecl::{ + type_name: None, + name: _dollar5, + has_error: None, + is_async: _dollar2, + quantifiers: _dollar4, + decl_params: Some(_dollar7), + params_loc: mk_loc((_start_pos_of_item6, _end_pos_of_item6)), + return_type, + error_type, + vis: Default, + doc: DocString::empty(), + attrs: _dollar1, + loc: mk_loc((_start_pos, _end_pos)), + } + }, + ) +} + +// file:///./parser.mbty +// 2204| non_empty_list_semi_rev_aux(record_decl_field) SEMI record_constr_decl option(SEMI) { +// 2205| ($1.rev(), Some($3)) +// 2206| } + +///| +fn yy_action_212( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + guard _args[0].0 is YYObj_List_FieldDecl_(_dollar1) + guard _args[2].0 is YYObj_FunDecl(_dollar3) + YYObj__List_FieldDecl___FunDecl__( + { + () + (_dollar1.rev(), Some(_dollar3)) + }, + ) +} + +// file:///./parser.mbty +// 217| non_empty_list_semi_rev_aux(X) SEMI X { $1.add($3) } + +///| +fn yy_action_213( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + guard _args[0].0 is YYObj_List_FieldDecl_(_dollar1) + guard _args[2].0 is YYObj_FieldDecl(_dollar3) + YYObj_List_FieldDecl_( + { + () + _dollar1.add(_dollar3) + }, + ) +} + +// file:///./parser.mbty +// 2207| non_empty_list_semi_rev_aux(record_decl_field) option(SEMI) { +// 2208| ($1.rev(), None) +// 2209| } + +///| +fn yy_action_214( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + guard _args[0].0 is YYObj_List_FieldDecl_(_dollar1) + YYObj__List_FieldDecl___FunDecl__( + { + () + (_dollar1.rev(), None) + }, + ) +} + +// file:///./parser.mbty +// 216| X { @list.singleton($1) } + +///| +fn yy_action_215( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + guard _args[0].0 is YYObj_FieldDecl(_dollar1) + YYObj_List_FieldDecl_( + { + () + @list.singleton(_dollar1) + }, + ) +} + +// file:///./parser.mbty +// 2201| { +// 2202| (@list.empty(), None) +// 2203| } + +///| +fn yy_action_216( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + YYObj__List_FieldDecl___FunDecl__( + { + () + (@list.empty(), None) + }, + ) +} + +// file:///./parser.mbty +// 576| struct_header "(" non_empty_list_commas(type_) ")" deriving_directive_list { +// 577| let (attrs, type_vis, tycon, tycon_loc, params) = $1 +// 578| TopTypeDef( +// 579| TypeDecl::{ +// 580| tycon, +// 581| tycon_loc, +// 582| params, +// 583| components: TupleStruct($3), +// 584| type_vis, +// 585| doc : DocString::empty(), +// 586| deriving: $5, +// 587| loc : mk_loc($sloc), +// 588| attrs, +// 589| is_declare : false +// 590| } +// 591| ) +// 592| } + +///| +fn yy_action_217( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { guard _args[0].0 is YYObj__List_Attribute___Visibility__String__Location__List_TypeDeclBinder__( @@ -10105,26 +10728,26 @@ fn yy_action_207( } // file:///./parser.mbty -// 584| enum_header "{" list_semis(enum_constructor) "}" deriving_directive_list { -// 585| let (attrs, type_vis, tycon, tycon_loc, params) = $1 -// 586| TopTypeDef( -// 587| TypeDecl::{ -// 588| tycon, -// 589| tycon_loc, -// 590| params, -// 591| components: Variant($3), -// 592| type_vis, -// 593| doc : DocString::empty(), -// 594| deriving: $5, -// 595| loc : mk_loc($sloc), -// 596| attrs, -// 597| is_declare : false -// 598| } -// 599| ) -// 600| } +// 593| enum_header "{" list_semis(enum_constructor) "}" deriving_directive_list { +// 594| let (attrs, type_vis, tycon, tycon_loc, params) = $1 +// 595| TopTypeDef( +// 596| TypeDecl::{ +// 597| tycon, +// 598| tycon_loc, +// 599| params, +// 600| components: Variant($3), +// 601| type_vis, +// 602| doc : DocString::empty(), +// 603| deriving: $5, +// 604| loc : mk_loc($sloc), +// 605| attrs, +// 606| is_declare : false +// 607| } +// 608| ) +// 609| } ///| -fn yy_action_208( +fn yy_action_218( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10161,23 +10784,23 @@ fn yy_action_208( } // file:///./parser.mbty -// 601| val_header "=" expr { -// 602| let (attrs, is_constant, is_declare, vis, binder, ty) = $1 -// 603| TopLetDef( -// 604| binder~, -// 605| ty~, -// 606| expr = $3, -// 607| vis~, -// 608| is_constant~, -// 609| loc = mk_loc($sloc), -// 610| attrs~, -// 611| doc = DocString::empty(), -// 612| is_declare~ -// 613| ) -// 614| } +// 610| val_header "=" expr { +// 611| let (attrs, is_constant, is_declare, vis, binder, ty) = $1 +// 612| TopLetDef( +// 613| binder~, +// 614| ty~, +// 615| expr = $3, +// 616| vis~, +// 617| is_constant~, +// 618| loc = mk_loc($sloc), +// 619| attrs~, +// 620| doc = DocString::empty(), +// 621| is_declare~ +// 622| ) +// 623| } ///| -fn yy_action_209( +fn yy_action_219( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10210,17 +10833,17 @@ fn yy_action_209( } // file:///./parser.mbty -// 615| extern_fun_header "=" STRING STRING { -// 616| let (language, fun_decl) = $1 -// 617| TopFuncDef( -// 618| loc = mk_loc($sloc), -// 619| fun_decl~, -// 620| decl_body = DeclStubs(Import(module_name = $3, func_name = $4, language = Some(language))) -// 621| ) -// 622| } +// 624| extern_fun_header "=" STRING STRING { +// 625| let (language, fun_decl) = $1 +// 626| TopFuncDef( +// 627| loc = mk_loc($sloc), +// 628| fun_decl~, +// 629| decl_body = DeclStubs(Import(module_name = $3, func_name = $4, language = Some(language))) +// 630| ) +// 631| } ///| -fn yy_action_210( +fn yy_action_220( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10253,17 +10876,17 @@ fn yy_action_210( } // file:///./parser.mbty -// 645| extern_fun_header "=" STRING { -// 646| let (language, decl) = $1 -// 647| TopFuncDef( -// 648| loc = mk_loc($sloc), -// 649| fun_decl = decl, -// 650| decl_body = DeclStubs(Embedded(language = Some(language), code = CodeString($3))) -// 651| ) -// 652| } +// 654| extern_fun_header "=" STRING { +// 655| let (language, decl) = $1 +// 656| TopFuncDef( +// 657| loc = mk_loc($sloc), +// 658| fun_decl = decl, +// 659| decl_body = DeclStubs(Embedded(language = Some(language), code = CodeString($3))) +// 660| ) +// 661| } ///| -fn yy_action_211( +fn yy_action_221( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10291,17 +10914,17 @@ fn yy_action_211( } // file:///./parser.mbty -// 653| extern_fun_header "=" non_empty_list(MULTILINE_STRING) { -// 654| let (language, decl) = $1 -// 655| TopFuncDef( -// 656| loc = mk_loc($sloc), -// 657| fun_decl = decl, -// 658| decl_body = DeclStubs(Embedded(language = Some(language), code = CodeMultilineString($3))) -// 659| ) -// 660| } +// 662| extern_fun_header "=" non_empty_list(MULTILINE_STRING) { +// 663| let (language, decl) = $1 +// 664| TopFuncDef( +// 665| loc = mk_loc($sloc), +// 666| fun_decl = decl, +// 667| decl_body = DeclStubs(Embedded(language = Some(language), code = CodeMultilineString($3))) +// 668| ) +// 669| } ///| -fn yy_action_212( +fn yy_action_222( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10329,16 +10952,16 @@ fn yy_action_212( } // file:///./parser.mbty -// 624| fun_header "=" STRING STRING { -// 625| TopFuncDef( -// 626| loc = mk_loc($sloc), -// 627| fun_decl = $1, -// 628| decl_body = DeclStubs(Import(module_name = $3, func_name = $4, language = None)) -// 629| ) -// 630| } +// 633| fun_header "=" STRING STRING { +// 634| TopFuncDef( +// 635| loc = mk_loc($sloc), +// 636| fun_decl = $1, +// 637| decl_body = DeclStubs(Import(module_name = $3, func_name = $4, language = None)) +// 638| ) +// 639| } ///| -fn yy_action_213( +fn yy_action_223( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10366,16 +10989,16 @@ fn yy_action_213( } // file:///./parser.mbty -// 631| fun_header "=" STRING { -// 632| TopFuncDef( -// 633| loc = mk_loc($sloc), -// 634| fun_decl = $1, -// 635| decl_body = DeclStubs(Embedded(language = None, code = CodeString($3))) -// 636| ) -// 637| } +// 640| fun_header "=" STRING { +// 641| TopFuncDef( +// 642| loc = mk_loc($sloc), +// 643| fun_decl = $1, +// 644| decl_body = DeclStubs(Embedded(language = None, code = CodeString($3))) +// 645| ) +// 646| } ///| -fn yy_action_214( +fn yy_action_224( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10400,16 +11023,16 @@ fn yy_action_214( } // file:///./parser.mbty -// 638| fun_header "=" non_empty_list(MULTILINE_STRING) { -// 639| TopFuncDef( -// 640| loc = mk_loc($sloc), -// 641| fun_decl = $1, -// 642| decl_body = DeclStubs(Embedded(language = None, code = CodeMultilineString($3))) -// 643| ) -// 644| } +// 647| fun_header "=" non_empty_list(MULTILINE_STRING) { +// 648| TopFuncDef( +// 649| loc = mk_loc($sloc), +// 650| fun_decl = $1, +// 651| decl_body = DeclStubs(Embedded(language = None, code = CodeMultilineString($3))) +// 652| ) +// 653| } ///| -fn yy_action_215( +fn yy_action_225( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10436,10 +11059,10 @@ fn yy_action_215( } // file:///./parser.mbty -// 169| X non_empty_list(X) { $2.add($1) } +// 174| X non_empty_list(X) { $2.add($1) } ///| -fn yy_action_216( +fn yy_action_226( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10454,10 +11077,10 @@ fn yy_action_216( } // file:///./parser.mbty -// 168| X { @list.singleton($1) } +// 173| X { @list.singleton($1) } ///| -fn yy_action_217( +fn yy_action_227( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10471,17 +11094,17 @@ fn yy_action_217( } // file:///./parser.mbty -// 661| fun_header block_expr_with_local_types { -// 662| let (local_types, expr) = $2 -// 663| TopFuncDef( -// 664| loc = mk_loc($sloc), -// 665| fun_decl = $1, -// 666| decl_body = DeclBody(local_types~, expr~) -// 667| ) -// 668| } +// 670| fun_header block_expr_with_local_types { +// 671| let (local_types, expr) = $2 +// 672| TopFuncDef( +// 673| loc = mk_loc($sloc), +// 674| fun_decl = $1, +// 675| decl_body = DeclBody(local_types~, expr~) +// 676| ) +// 677| } ///| -fn yy_action_218( +fn yy_action_228( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10507,16 +11130,16 @@ fn yy_action_218( } // file:///./parser.mbty -// 669| declare_fun_header { -// 670| TopFuncDef( -// 671| loc = mk_loc($sloc), -// 672| fun_decl = $1, -// 673| decl_body = DeclNone -// 674| ) -// 675| } +// 678| declare_fun_header { +// 679| TopFuncDef( +// 680| loc = mk_loc($sloc), +// 681| fun_decl = $1, +// 682| decl_body = DeclNone +// 683| ) +// 684| } ///| -fn yy_action_219( +fn yy_action_229( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10540,22 +11163,22 @@ fn yy_action_219( } // file:///./parser.mbty -// 676| attributes visibility "fnalias" func_alias_targets { -// 677| let (pkg, type_name, is_list, targets) = $4 -// 678| TopFuncAlias( -// 679| pkg~, -// 680| type_name~, -// 681| targets~, -// 682| vis = $2, -// 683| attrs = $1, -// 684| is_list~, -// 685| doc = DocString::empty(), -// 686| loc = mk_loc($sloc) -// 687| ) -// 688| } +// 685| attributes visibility "fnalias" func_alias_targets { +// 686| let (pkg, type_name, is_list, targets) = $4 +// 687| TopFuncAlias( +// 688| pkg~, +// 689| type_name~, +// 690| targets~, +// 691| vis = $2, +// 692| attrs = $1, +// 693| is_list~, +// 694| doc = DocString::empty(), +// 695| loc = mk_loc($sloc) +// 696| ) +// 697| } ///| -fn yy_action_220( +fn yy_action_230( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10589,16 +11212,16 @@ fn yy_action_220( } // file:///./parser.mbty -// 930| ioption(func_alias_type_name(LIDENT, UIDENT)) func_alias_target(LIDENT) { -// 931| (None, $1, false, @list.singleton($2)) -// 932| } +// 939| ioption(func_alias_type_name(LIDENT, UIDENT)) func_alias_target(LIDENT) { +// 940| (None, $1, false, @list.singleton($2)) +// 941| } ///| -fn yy_action_221( +fn yy_action_231( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_222(_last_pos, _args[0:0]) + let _sub_action_0_result = yy_action_232(_last_pos, _args[0:0]) guard _sub_action_0_result is YYObj_Option_Label_(_dollar1) guard _args[0].0 is YYObj_AliasTarget(_dollar2) YYObj__Label___Label___Bool__List_AliasTarget__( @@ -10613,7 +11236,7 @@ fn yy_action_221( // 9| { None } ///| -fn yy_action_222( +fn yy_action_232( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10626,16 +11249,16 @@ fn yy_action_222( } // file:///./parser.mbty -// 930| ioption(func_alias_type_name(LIDENT, UIDENT)) func_alias_target(LIDENT) { -// 931| (None, $1, false, @list.singleton($2)) -// 932| } +// 939| ioption(func_alias_type_name(LIDENT, UIDENT)) func_alias_target(LIDENT) { +// 940| (None, $1, false, @list.singleton($2)) +// 941| } ///| -fn yy_action_223( +fn yy_action_233( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_224(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_234(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_Option_Label_(_dollar1) guard _args[1].0 is YYObj_AliasTarget(_dollar2) YYObj__Label___Label___Bool__List_AliasTarget__( @@ -10650,7 +11273,7 @@ fn yy_action_223( // 10| X { Some($1) } ///| -fn yy_action_224( +fn yy_action_234( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10667,7 +11290,7 @@ fn yy_action_224( // 5| X { Some($1) } ///| -fn yy_action_225( +fn yy_action_235( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10681,13 +11304,13 @@ fn yy_action_225( } // file:///./parser.mbty -// 933| PACKAGE_NAME func_alias_target(DOT_LIDENT) { -// 934| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 935| (Some(pkg), None, false, @list.singleton($2)) -// 936| } +// 942| PACKAGE_NAME func_alias_target(DOT_LIDENT) { +// 943| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 944| (Some(pkg), None, false, @list.singleton($2)) +// 945| } ///| -fn yy_action_226( +fn yy_action_236( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10708,13 +11331,13 @@ fn yy_action_226( } // file:///./parser.mbty -// 937| PACKAGE_NAME func_alias_type_name(DOT_LIDENT, DOT_UIDENT) func_alias_target(LIDENT) { -// 938| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 939| (Some(pkg), Some($2), false, @list.singleton($3)) -// 940| } +// 946| PACKAGE_NAME func_alias_type_name(DOT_LIDENT, DOT_UIDENT) func_alias_target(LIDENT) { +// 947| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 948| (Some(pkg), Some($2), false, @list.singleton($3)) +// 949| } ///| -fn yy_action_227( +fn yy_action_237( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10736,13 +11359,13 @@ fn yy_action_227( } // file:///./parser.mbty -// 948| PACKAGE_NAME func_alias_type_name(DOT_LIDENT, DOT_UIDENT) "(" non_empty_list_commas(func_alias_target(LIDENT)) ")" { -// 949| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 950| (Some(pkg), Some($2), true, $4) -// 951| } +// 957| PACKAGE_NAME func_alias_type_name(DOT_LIDENT, DOT_UIDENT) "(" non_empty_list_commas(func_alias_target(LIDENT)) ")" { +// 958| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 959| (Some(pkg), Some($2), true, $4) +// 960| } ///| -fn yy_action_228( +fn yy_action_238( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10764,13 +11387,13 @@ fn yy_action_228( } // file:///./parser.mbty -// 944| PACKAGE_NAME ".(" non_empty_list_commas(func_alias_target(LIDENT)) ")" { -// 945| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 946| (Some(pkg), None, true, $3) -// 947| } +// 953| PACKAGE_NAME ".(" non_empty_list_commas(func_alias_target(LIDENT)) ")" { +// 954| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 955| (Some(pkg), None, true, $3) +// 956| } ///| -fn yy_action_229( +fn yy_action_239( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10791,21 +11414,21 @@ fn yy_action_229( } // file:///./parser.mbty -// 960| LIDENT_MAYBE_DOT option(preceded("as", binder)) { -// 961| match $2 { -// 962| None => { -// 963| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 964| AliasTarget::{ binder, target: None } -// 965| } -// 966| Some(binder) => { -// 967| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 968| AliasTarget::{ binder, target: Some(target) } -// 969| } -// 970| } -// 971| } +// 969| LIDENT_MAYBE_DOT option(preceded("as", binder)) { +// 970| match $2 { +// 971| None => { +// 972| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 973| AliasTarget::{ binder, target: None } +// 974| } +// 975| Some(binder) => { +// 976| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 977| AliasTarget::{ binder, target: Some(target) } +// 978| } +// 979| } +// 980| } ///| -fn yy_action_230( +fn yy_action_240( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10837,10 +11460,10 @@ fn yy_action_230( } // file:///./parser.mbty -// 955| LIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } +// 964| LIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } ///| -fn yy_action_231( +fn yy_action_241( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10859,10 +11482,10 @@ fn yy_action_231( } // file:///./parser.mbty -// 956| UIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } +// 965| UIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } ///| -fn yy_action_232( +fn yy_action_242( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10881,12 +11504,12 @@ fn yy_action_232( } // file:///./parser.mbty -// 941| option(func_alias_type_name(LIDENT, UIDENT)) "(" non_empty_list_commas(func_alias_target(LIDENT)) ")" { -// 942| (None, $1, true, $3) -// 943| } +// 950| option(func_alias_type_name(LIDENT, UIDENT)) "(" non_empty_list_commas(func_alias_target(LIDENT)) ")" { +// 951| (None, $1, true, $3) +// 952| } ///| -fn yy_action_233( +fn yy_action_243( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10901,10 +11524,10 @@ fn yy_action_233( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_234( +fn yy_action_244( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10918,10 +11541,10 @@ fn yy_action_234( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_235( +fn yy_action_245( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10936,10 +11559,10 @@ fn yy_action_235( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_236( +fn yy_action_246( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10953,10 +11576,10 @@ fn yy_action_236( } // file:///./parser.mbty -// 955| LIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } +// 964| LIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } ///| -fn yy_action_237( +fn yy_action_247( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -10975,21 +11598,21 @@ fn yy_action_237( } // file:///./parser.mbty -// 960| LIDENT_MAYBE_DOT option(preceded("as", binder)) { -// 961| match $2 { -// 962| None => { -// 963| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 964| AliasTarget::{ binder, target: None } -// 965| } -// 966| Some(binder) => { -// 967| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 968| AliasTarget::{ binder, target: Some(target) } -// 969| } -// 970| } -// 971| } +// 969| LIDENT_MAYBE_DOT option(preceded("as", binder)) { +// 970| match $2 { +// 971| None => { +// 972| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 973| AliasTarget::{ binder, target: None } +// 974| } +// 975| Some(binder) => { +// 976| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 977| AliasTarget::{ binder, target: Some(target) } +// 978| } +// 979| } +// 980| } ///| -fn yy_action_238( +fn yy_action_248( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11024,11 +11647,11 @@ fn yy_action_238( // 5| X { Some($1) } ///| -fn yy_action_239( +fn yy_action_249( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_240(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_250(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_Binder(_dollar1) YYObj_Option_Binder_( { @@ -11042,7 +11665,7 @@ fn yy_action_239( // 32| L X { $2 } ///| -fn yy_action_240( +fn yy_action_250( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11060,7 +11683,7 @@ fn yy_action_240( // 4| { None } ///| -fn yy_action_241( +fn yy_action_251( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11073,10 +11696,10 @@ fn yy_action_241( } // file:///./parser.mbty -// 956| UIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } +// 965| UIDENT_MAYBE_DOT "::" { Label::{ name: $1, loc: mk_loc($loc($1)) } } ///| -fn yy_action_242( +fn yy_action_252( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11098,7 +11721,7 @@ fn yy_action_242( // 4| { None } ///| -fn yy_action_243( +fn yy_action_253( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11111,28 +11734,28 @@ fn yy_action_243( } // file:///./parser.mbty -// 689| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { -// 690| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } -// 691| let supers = match $6 { -// 692| None => @list.empty() -// 693| Some(supers) => supers -// 694| } -// 695| TopTrait( -// 696| TraitDecl::{ -// 697| name, -// 698| supers, -// 699| methods: $8, -// 700| vis: $3, -// 701| loc: mk_loc($sloc), -// 702| attrs: $1, -// 703| doc : DocString::empty(), -// 704| is_declare : $2 -// 705| } -// 706| ) -// 707| } +// 698| attributes is_declare visibility "trait" UIDENT option(preceded(COLON, separated_nonempty_list(PLUS, tvar_constraint))) "{" list_semis(trait_method_decl) "}" { +// 699| let name = Binder::{ name: $5, loc: mk_loc($loc($4)) } +// 700| let supers = match $6 { +// 701| None => @list.empty() +// 702| Some(supers) => supers +// 703| } +// 704| TopTrait( +// 705| TraitDecl::{ +// 706| name, +// 707| supers, +// 708| methods: $8, +// 709| vis: $3, +// 710| loc: mk_loc($sloc), +// 711| attrs: $1, +// 712| doc : DocString::empty(), +// 713| is_declare : $2 +// 714| } +// 715| ) +// 716| } ///| -fn yy_action_244( +fn yy_action_254( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11179,10 +11802,10 @@ fn yy_action_244( } // file:///./parser.mbty -// 235| non_empty_list_semis(X) { $1 } +// 240| non_empty_list_semis(X) { $1 } ///| -fn yy_action_245( +fn yy_action_255( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11196,24 +11819,24 @@ fn yy_action_245( } // file:///./parser.mbty -// 1043| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { -// 1044| let (return_type, error_type) = $9 -// 1045| TraitMethodDecl::{ -// 1046| name: $3, -// 1047| has_error: $4, -// 1048| is_async: $2, -// 1049| quantifiers: $5, -// 1050| params: $7, -// 1051| return_type, -// 1052| error_type, -// 1053| has_default: $10, -// 1054| attrs: $1, -// 1055| loc: mk_loc($sloc) -// 1056| } -// 1057| } +// 1052| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { +// 1053| let (return_type, error_type) = $9 +// 1054| TraitMethodDecl::{ +// 1055| name: $3, +// 1056| has_error: $4, +// 1057| is_async: $2, +// 1058| quantifiers: $5, +// 1059| params: $7, +// 1060| return_type, +// 1061| error_type, +// 1062| has_default: $10, +// 1063| attrs: $1, +// 1064| loc: mk_loc($sloc) +// 1065| } +// 1066| } ///| -fn yy_action_246( +fn yy_action_256( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11255,24 +11878,24 @@ fn yy_action_246( } // file:///./parser.mbty -// 1043| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { -// 1044| let (return_type, error_type) = $9 -// 1045| TraitMethodDecl::{ -// 1046| name: $3, -// 1047| has_error: $4, -// 1048| is_async: $2, -// 1049| quantifiers: $5, -// 1050| params: $7, -// 1051| return_type, -// 1052| error_type, -// 1053| has_default: $10, -// 1054| attrs: $1, -// 1055| loc: mk_loc($sloc) -// 1056| } -// 1057| } +// 1052| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { +// 1053| let (return_type, error_type) = $9 +// 1054| TraitMethodDecl::{ +// 1055| name: $3, +// 1056| has_error: $4, +// 1057| is_async: $2, +// 1058| quantifiers: $5, +// 1059| params: $7, +// 1060| return_type, +// 1061| error_type, +// 1062| has_default: $10, +// 1063| attrs: $1, +// 1064| loc: mk_loc($sloc) +// 1065| } +// 1066| } ///| -fn yy_action_247( +fn yy_action_257( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11314,24 +11937,24 @@ fn yy_action_247( } // file:///./parser.mbty -// 1043| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { -// 1044| let (return_type, error_type) = $9 -// 1045| TraitMethodDecl::{ -// 1046| name: $3, -// 1047| has_error: $4, -// 1048| is_async: $2, -// 1049| quantifiers: $5, -// 1050| params: $7, -// 1051| return_type, -// 1052| error_type, -// 1053| has_default: $10, -// 1054| attrs: $1, -// 1055| loc: mk_loc($sloc) -// 1056| } -// 1057| } +// 1052| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { +// 1053| let (return_type, error_type) = $9 +// 1054| TraitMethodDecl::{ +// 1055| name: $3, +// 1056| has_error: $4, +// 1057| is_async: $2, +// 1058| quantifiers: $5, +// 1059| params: $7, +// 1060| return_type, +// 1061| error_type, +// 1062| has_default: $10, +// 1063| attrs: $1, +// 1064| loc: mk_loc($sloc) +// 1065| } +// 1066| } ///| -fn yy_action_248( +fn yy_action_258( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11373,24 +11996,24 @@ fn yy_action_248( } // file:///./parser.mbty -// 1043| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { -// 1044| let (return_type, error_type) = $9 -// 1045| TraitMethodDecl::{ -// 1046| name: $3, -// 1047| has_error: $4, -// 1048| is_async: $2, -// 1049| quantifiers: $5, -// 1050| params: $7, -// 1051| return_type, -// 1052| error_type, -// 1053| has_default: $10, -// 1054| attrs: $1, -// 1055| loc: mk_loc($sloc) -// 1056| } -// 1057| } +// 1052| attributes is_async binder optional_bang optional_type_parameters "(" list_commas(trait_method_param) ")" func_return_type option(preceded("=", wildcard)) { +// 1053| let (return_type, error_type) = $9 +// 1054| TraitMethodDecl::{ +// 1055| name: $3, +// 1056| has_error: $4, +// 1057| is_async: $2, +// 1058| quantifiers: $5, +// 1059| params: $7, +// 1060| return_type, +// 1061| error_type, +// 1062| has_default: $10, +// 1063| attrs: $1, +// 1064| loc: mk_loc($sloc) +// 1065| } +// 1066| } ///| -fn yy_action_249( +fn yy_action_259( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11432,10 +12055,10 @@ fn yy_action_249( } // file:///./parser.mbty -// 1061| "_" { mk_loc($sloc) } +// 1070| "_" { mk_loc($sloc) } ///| -fn yy_action_250( +fn yy_action_260( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11457,11 +12080,11 @@ fn yy_action_250( // 5| X { Some($1) } ///| -fn yy_action_251( +fn yy_action_261( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_252(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_262(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_Location(_dollar1) YYObj_Option_Location_( { @@ -11475,7 +12098,7 @@ fn yy_action_251( // 32| L X { $2 } ///| -fn yy_action_252( +fn yy_action_262( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11492,7 +12115,7 @@ fn yy_action_252( // 4| { None } ///| -fn yy_action_253( +fn yy_action_263( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11505,10 +12128,10 @@ fn yy_action_253( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_254( +fn yy_action_264( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11522,10 +12145,10 @@ fn yy_action_254( } // file:///./parser.mbty -// 1065| type_ { DiscardPositional(ty = Some($1), loc = mk_loc($sloc)) } +// 1074| type_ { DiscardPositional(ty = Some($1), loc = mk_loc($sloc)) } ///| -fn yy_action_255( +fn yy_action_265( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11548,10 +12171,10 @@ fn yy_action_255( } // file:///./parser.mbty -// 1066| binder ":" type_ { Positional(binder = $1, ty = Some($3)) } +// 1075| binder ":" type_ { Positional(binder = $1, ty = Some($3)) } ///| -fn yy_action_256( +fn yy_action_266( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11567,10 +12190,10 @@ fn yy_action_256( } // file:///./parser.mbty -// 1067| binder "?" ":" type_ { QuestionOptional(binder = $1, ty = Some($4)) } +// 1076| binder "?" ":" type_ { QuestionOptional(binder = $1, ty = Some($4)) } ///| -fn yy_action_257( +fn yy_action_267( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11586,13 +12209,13 @@ fn yy_action_257( } // file:///./parser.mbty -// 1068| POST_LABEL ":" type_ { -// 1069| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } -// 1070| Labelled(binder~, ty = Some($3)) -// 1071| } +// 1077| POST_LABEL ":" type_ { +// 1078| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } +// 1079| Labelled(binder~, ty = Some($3)) +// 1080| } ///| -fn yy_action_258( +fn yy_action_268( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11613,10 +12236,10 @@ fn yy_action_258( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_259( +fn yy_action_269( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11631,10 +12254,10 @@ fn yy_action_259( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_260( +fn yy_action_270( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11648,10 +12271,10 @@ fn yy_action_260( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_261( +fn yy_action_271( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11665,10 +12288,10 @@ fn yy_action_261( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_262( +fn yy_action_272( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11681,10 +12304,10 @@ fn yy_action_262( } // file:///./parser.mbty -// 225| X SEMI non_empty_list_semis(X) { $3.add($1) } +// 230| X SEMI non_empty_list_semis(X) { $3.add($1) } ///| -fn yy_action_263( +fn yy_action_273( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11699,10 +12322,10 @@ fn yy_action_263( } // file:///./parser.mbty -// 224| X option(SEMI) { @list.singleton($1) } +// 229| X option(SEMI) { @list.singleton($1) } ///| -fn yy_action_264( +fn yy_action_274( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11716,10 +12339,10 @@ fn yy_action_264( } // file:///./parser.mbty -// 234| { @list.empty() } +// 239| { @list.empty() } ///| -fn yy_action_265( +fn yy_action_275( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11735,11 +12358,11 @@ fn yy_action_265( // 5| X { Some($1) } ///| -fn yy_action_266( +fn yy_action_276( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_267(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_277(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj__list_List_TypeVarConstraint_(_dollar1) YYObj_Option__list_List_TypeVarConstraint__( { @@ -11753,7 +12376,7 @@ fn yy_action_266( // 32| L X { $2 } ///| -fn yy_action_267( +fn yy_action_277( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11770,7 +12393,7 @@ fn yy_action_267( // 4| { None } ///| -fn yy_action_268( +fn yy_action_278( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11783,21 +12406,21 @@ fn yy_action_268( } // file:///./parser.mbty -// 708| attributes visibility "typealias" batch_type_alias_targets { -// 709| let (is_list, pkg, targets) = $4 -// 710| TopBatchTypeAlias( -// 711| pkg~, -// 712| targets~, -// 713| vis = $2, -// 714| attrs = $1, -// 715| is_list~, -// 716| doc = DocString::empty(), -// 717| loc = mk_loc($sloc) -// 718| ) -// 719| } +// 717| attributes visibility "typealias" batch_type_alias_targets { +// 718| let (is_list, pkg, targets) = $4 +// 719| TopBatchTypeAlias( +// 720| pkg~, +// 721| targets~, +// 722| vis = $2, +// 723| attrs = $1, +// 724| is_list~, +// 725| doc = DocString::empty(), +// 726| loc = mk_loc($sloc) +// 727| ) +// 728| } ///| -fn yy_action_269( +fn yy_action_279( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11830,25 +12453,25 @@ fn yy_action_269( } // file:///./parser.mbty -// 720| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { -// 721| TopTypeDef( -// 722| TypeDecl::{ -// 723| tycon : $6, -// 724| tycon_loc : mk_loc($loc($6)), -// 725| params : $7, -// 726| components: Alias($4), -// 727| type_vis : $2, -// 728| doc : DocString::empty(), -// 729| deriving: @list.empty(), -// 730| loc : mk_loc($sloc), -// 731| attrs : $1, -// 732| is_declare : false -// 733| } -// 734| ) -// 735| } +// 729| attributes visibility "typealias" type_ "as" UIDENT optional_type_parameters_no_constraints { +// 730| TopTypeDef( +// 731| TypeDecl::{ +// 732| tycon : $6, +// 733| tycon_loc : mk_loc($loc($6)), +// 734| params : $7, +// 735| components: Alias($4), +// 736| type_vis : $2, +// 737| doc : DocString::empty(), +// 738| deriving: @list.empty(), +// 739| loc : mk_loc($sloc), +// 740| attrs : $1, +// 741| is_declare : false +// 742| } +// 743| ) +// 744| } ///| -fn yy_action_270( +fn yy_action_280( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11887,21 +12510,21 @@ fn yy_action_270( } // file:///./parser.mbty -// 753| attributes visibility "traitalias" batch_type_alias_targets { -// 754| let (is_list, pkg, targets) = $4 -// 755| TopBatchTraitAlias( -// 756| pkg~, -// 757| targets~, -// 758| vis = $2, -// 759| attrs = $1, -// 760| is_list~, -// 761| doc = DocString::empty(), -// 762| loc = mk_loc($sloc) -// 763| ) -// 764| } +// 762| attributes visibility "traitalias" batch_type_alias_targets { +// 763| let (is_list, pkg, targets) = $4 +// 764| TopBatchTraitAlias( +// 765| pkg~, +// 766| targets~, +// 767| vis = $2, +// 768| attrs = $1, +// 769| is_list~, +// 770| doc = DocString::empty(), +// 771| loc = mk_loc($sloc) +// 772| ) +// 773| } ///| -fn yy_action_271( +fn yy_action_281( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11934,13 +12557,13 @@ fn yy_action_271( } // file:///./parser.mbty -// 906| PACKAGE_NAME batch_type_alias_target(DOT_UIDENT) { -// 907| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 908| (false, Some(pkg), @list.singleton($2)) -// 909| } +// 915| PACKAGE_NAME batch_type_alias_target(DOT_UIDENT) { +// 916| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 917| (false, Some(pkg), @list.singleton($2)) +// 918| } ///| -fn yy_action_272( +fn yy_action_282( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11961,13 +12584,13 @@ fn yy_action_272( } // file:///./parser.mbty -// 910| PACKAGE_NAME ".(" non_empty_list_commas(batch_type_alias_target(UIDENT)) ")" { -// 911| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 912| (true, Some(pkg), $3) -// 913| } +// 919| PACKAGE_NAME ".(" non_empty_list_commas(batch_type_alias_target(UIDENT)) ")" { +// 920| let pkg = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 921| (true, Some(pkg), $3) +// 922| } ///| -fn yy_action_273( +fn yy_action_283( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -11988,10 +12611,10 @@ fn yy_action_273( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_274( +fn yy_action_284( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12005,10 +12628,10 @@ fn yy_action_274( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_275( +fn yy_action_285( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12023,10 +12646,10 @@ fn yy_action_275( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_276( +fn yy_action_286( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12040,14 +12663,14 @@ fn yy_action_276( } // file:///./parser.mbty -// 922| UIDENT_MAYBE_DOT "as" UIDENT { -// 923| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 924| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } -// 925| AliasTarget::{ binder, target: Some(target) } -// 926| } +// 931| UIDENT_MAYBE_DOT "as" UIDENT { +// 932| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 933| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } +// 934| AliasTarget::{ binder, target: Some(target) } +// 935| } ///| -fn yy_action_277( +fn yy_action_287( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12074,13 +12697,13 @@ fn yy_action_277( } // file:///./parser.mbty -// 918| UIDENT_MAYBE_DOT { -// 919| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 920| AliasTarget::{ binder, target: None } -// 921| } +// 927| UIDENT_MAYBE_DOT { +// 928| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 929| AliasTarget::{ binder, target: None } +// 930| } ///| -fn yy_action_278( +fn yy_action_288( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12100,10 +12723,10 @@ fn yy_action_278( } // file:///./parser.mbty -// 914| batch_type_alias_target(UIDENT) { (false, None, @list.singleton($1)) } +// 923| batch_type_alias_target(UIDENT) { (false, None, @list.singleton($1)) } ///| -fn yy_action_279( +fn yy_action_289( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12117,14 +12740,14 @@ fn yy_action_279( } // file:///./parser.mbty -// 922| UIDENT_MAYBE_DOT "as" UIDENT { -// 923| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 924| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } -// 925| AliasTarget::{ binder, target: Some(target) } -// 926| } +// 931| UIDENT_MAYBE_DOT "as" UIDENT { +// 932| let target = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 933| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } +// 934| AliasTarget::{ binder, target: Some(target) } +// 935| } ///| -fn yy_action_280( +fn yy_action_290( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12151,13 +12774,13 @@ fn yy_action_280( } // file:///./parser.mbty -// 918| UIDENT_MAYBE_DOT { -// 919| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 920| AliasTarget::{ binder, target: None } -// 921| } +// 927| UIDENT_MAYBE_DOT { +// 928| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 929| AliasTarget::{ binder, target: None } +// 930| } ///| -fn yy_action_281( +fn yy_action_291( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12177,22 +12800,22 @@ fn yy_action_281( } // file:///./parser.mbty -// 765| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { -// 766| let (local_types, expr) = $6 -// 767| TopTest( -// 768| expr~, -// 769| name = $4, -// 770| params = $5, -// 771| local_types~, -// 772| is_async = $2, -// 773| loc = mk_loc($sloc), -// 774| attrs = $1, -// 775| doc = DocString::empty() -// 776| ) -// 777| } +// 774| attributes is_async "test" option(loced_string) option(parameters) block_expr_with_local_types { +// 775| let (local_types, expr) = $6 +// 776| TopTest( +// 777| expr~, +// 778| name = $4, +// 779| params = $5, +// 780| local_types~, +// 781| is_async = $2, +// 782| loc = mk_loc($sloc), +// 783| attrs = $1, +// 784| doc = DocString::empty() +// 785| ) +// 786| } ///| -fn yy_action_282( +fn yy_action_292( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12231,7 +12854,7 @@ fn yy_action_282( // 5| X { Some($1) } ///| -fn yy_action_283( +fn yy_action_293( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12248,7 +12871,7 @@ fn yy_action_283( // 4| { None } ///| -fn yy_action_284( +fn yy_action_294( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12264,11 +12887,11 @@ fn yy_action_284( // 5| X { Some($1) } ///| -fn yy_action_285( +fn yy_action_295( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_286(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_296(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj__StringLiteral__Location_(_dollar1) YYObj_Option__StringLiteral__Location__( { @@ -12279,10 +12902,10 @@ fn yy_action_285( } // file:///./parser.mbty -// 1889| STRING { ($1, mk_loc($sloc)) } +// 1923| STRING { ($1, mk_loc($sloc)) } ///| -fn yy_action_286( +fn yy_action_296( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12305,7 +12928,7 @@ fn yy_action_286( // 4| { None } ///| -fn yy_action_287( +fn yy_action_297( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12318,27 +12941,27 @@ fn yy_action_287( } // file:///./parser.mbty -// 778| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { -// 779| let (ret_ty, err_ty) = $12 -// 780| TopImpl( -// 781| self_ty = Some($7), -// 782| trait_ = $5, -// 783| method_name = $9, -// 784| has_error = $10, -// 785| quantifiers = $4, -// 786| params = $11, -// 787| ret_ty~, -// 788| err_ty~, -// 789| body = $13, -// 790| vis = $2, -// 791| loc = mk_loc($sloc), -// 792| attrs = $1, -// 793| doc = DocString::empty() -// 794| ) -// 795| } +// 787| attributes visibility "impl" optional_type_parameters type_name "for" type_ "with" binder optional_bang parameters func_return_type impl_body { +// 788| let (ret_ty, err_ty) = $12 +// 789| TopImpl( +// 790| self_ty = Some($7), +// 791| trait_ = $5, +// 792| method_name = $9, +// 793| has_error = $10, +// 794| quantifiers = $4, +// 795| params = $11, +// 796| ret_ty~, +// 797| err_ty~, +// 798| body = $13, +// 799| vis = $2, +// 800| loc = mk_loc($sloc), +// 801| attrs = $1, +// 802| doc = DocString::empty() +// 803| ) +// 804| } ///| -fn yy_action_288( +fn yy_action_298( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12385,21 +13008,21 @@ fn yy_action_288( } // file:///./parser.mbty -// 814| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { -// 815| TopImplRelation( -// 816| self_ty = $8, -// 817| trait_ = $6, -// 818| quantifiers = $5, -// 819| vis = $3, -// 820| attrs = $1, -// 821| loc = mk_loc($sloc), -// 822| doc = DocString::empty(), -// 823| is_declare = $2 -// 824| ) -// 825| } +// 823| attributes is_declare visibility "impl" optional_type_parameters type_name "for" type_ { +// 824| TopImplRelation( +// 825| self_ty = $8, +// 826| trait_ = $6, +// 827| quantifiers = $5, +// 828| vis = $3, +// 829| attrs = $1, +// 830| loc = mk_loc($sloc), +// 831| doc = DocString::empty(), +// 832| is_declare = $2 +// 833| ) +// 834| } ///| -fn yy_action_289( +fn yy_action_299( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12436,17 +13059,17 @@ fn yy_action_289( } // file:///./parser.mbty -// 366| "struct" UIDENT "{" list_semis(record_decl_field) "}" deriving_directive_list { -// 367| LocalTypeDecl::{ -// 368| tycon : $2, -// 369| tycon_loc : mk_loc($loc($2)), -// 370| components: Record($4), -// 371| deriving: $6 -// 372| } -// 373| } +// 373| "struct" UIDENT "{" list_semis(record_decl_field) "}" deriving_directive_list { +// 374| LocalTypeDecl::{ +// 375| tycon : $2, +// 376| tycon_loc : mk_loc($loc($2)), +// 377| components: Record(fields = $4, constr_decl = None), +// 378| deriving: $6 +// 379| } +// 380| } ///| -fn yy_action_290( +fn yy_action_300( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12461,7 +13084,7 @@ fn yy_action_290( LocalTypeDecl::{ tycon: _dollar2, tycon_loc: mk_loc((_start_pos_of_item1, _end_pos_of_item1)), - components: Record(_dollar4), + components: Record(fields=_dollar4, constr_decl=None), deriving: _dollar6, } }, @@ -12469,10 +13092,10 @@ fn yy_action_290( } // file:///./parser.mbty -// 235| non_empty_list_semis(X) { $1 } +// 240| non_empty_list_semis(X) { $1 } ///| -fn yy_action_291( +fn yy_action_301( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12486,20 +13109,20 @@ fn yy_action_291( } // file:///./parser.mbty -// 2130| attributes visibility option("mut") LIDENT ":" type_ { -// 2131| FieldDecl::{ -// 2132| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, -// 2133| ty: $6, -// 2134| mut_: $3 is Some(_), -// 2135| vis: $2, -// 2136| loc: mk_loc($sloc), -// 2137| attrs: $1, -// 2138| doc: DocString::empty() -// 2139| } -// 2140| } +// 2164| attributes visibility option("mut") LIDENT ":" type_ { +// 2165| FieldDecl::{ +// 2166| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, +// 2167| ty: $6, +// 2168| mut_: $3 is Some(_), +// 2169| vis: $2, +// 2170| loc: mk_loc($sloc), +// 2171| attrs: $1, +// 2172| doc: DocString::empty() +// 2173| } +// 2174| } ///| -fn yy_action_292( +fn yy_action_302( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12538,20 +13161,20 @@ fn yy_action_292( } // file:///./parser.mbty -// 2130| attributes visibility option("mut") LIDENT ":" type_ { -// 2131| FieldDecl::{ -// 2132| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, -// 2133| ty: $6, -// 2134| mut_: $3 is Some(_), -// 2135| vis: $2, -// 2136| loc: mk_loc($sloc), -// 2137| attrs: $1, -// 2138| doc: DocString::empty() -// 2139| } -// 2140| } +// 2164| attributes visibility option("mut") LIDENT ":" type_ { +// 2165| FieldDecl::{ +// 2166| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, +// 2167| ty: $6, +// 2168| mut_: $3 is Some(_), +// 2169| vis: $2, +// 2170| loc: mk_loc($sloc), +// 2171| attrs: $1, +// 2172| doc: DocString::empty() +// 2173| } +// 2174| } ///| -fn yy_action_293( +fn yy_action_303( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12590,20 +13213,20 @@ fn yy_action_293( } // file:///./parser.mbty -// 2130| attributes visibility option("mut") LIDENT ":" type_ { -// 2131| FieldDecl::{ -// 2132| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, -// 2133| ty: $6, -// 2134| mut_: $3 is Some(_), -// 2135| vis: $2, -// 2136| loc: mk_loc($sloc), -// 2137| attrs: $1, -// 2138| doc: DocString::empty() -// 2139| } -// 2140| } +// 2164| attributes visibility option("mut") LIDENT ":" type_ { +// 2165| FieldDecl::{ +// 2166| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, +// 2167| ty: $6, +// 2168| mut_: $3 is Some(_), +// 2169| vis: $2, +// 2170| loc: mk_loc($sloc), +// 2171| attrs: $1, +// 2172| doc: DocString::empty() +// 2173| } +// 2174| } ///| -fn yy_action_294( +fn yy_action_304( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12642,20 +13265,20 @@ fn yy_action_294( } // file:///./parser.mbty -// 2130| attributes visibility option("mut") LIDENT ":" type_ { -// 2131| FieldDecl::{ -// 2132| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, -// 2133| ty: $6, -// 2134| mut_: $3 is Some(_), -// 2135| vis: $2, -// 2136| loc: mk_loc($sloc), -// 2137| attrs: $1, -// 2138| doc: DocString::empty() -// 2139| } -// 2140| } +// 2164| attributes visibility option("mut") LIDENT ":" type_ { +// 2165| FieldDecl::{ +// 2166| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, +// 2167| ty: $6, +// 2168| mut_: $3 is Some(_), +// 2169| vis: $2, +// 2170| loc: mk_loc($sloc), +// 2171| attrs: $1, +// 2172| doc: DocString::empty() +// 2173| } +// 2174| } ///| -fn yy_action_295( +fn yy_action_305( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12694,20 +13317,20 @@ fn yy_action_295( } // file:///./parser.mbty -// 2130| attributes visibility option("mut") LIDENT ":" type_ { -// 2131| FieldDecl::{ -// 2132| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, -// 2133| ty: $6, -// 2134| mut_: $3 is Some(_), -// 2135| vis: $2, -// 2136| loc: mk_loc($sloc), -// 2137| attrs: $1, -// 2138| doc: DocString::empty() -// 2139| } -// 2140| } +// 2164| attributes visibility option("mut") LIDENT ":" type_ { +// 2165| FieldDecl::{ +// 2166| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, +// 2167| ty: $6, +// 2168| mut_: $3 is Some(_), +// 2169| vis: $2, +// 2170| loc: mk_loc($sloc), +// 2171| attrs: $1, +// 2172| doc: DocString::empty() +// 2173| } +// 2174| } ///| -fn yy_action_296( +fn yy_action_306( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12746,7 +13369,7 @@ fn yy_action_296( } // file:///./parser.mbty -// 869| "priv" { Priv(loc = mk_loc($sloc)) } +// 878| "priv" { Priv(loc = mk_loc($sloc)) } ///| fn yy_action_10( @@ -12768,10 +13391,10 @@ fn yy_action_10( } // file:///./parser.mbty -// 875| "(" "readonly" ")" { Some("readonly") } +// 884| "(" "readonly" ")" { Some("readonly") } ///| -fn yy_action_297( +fn yy_action_307( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12784,10 +13407,10 @@ fn yy_action_297( } // file:///./parser.mbty -// 876| "(" LIDENT ")" { Some($2) } +// 885| "(" LIDENT ")" { Some($2) } ///| -fn yy_action_298( +fn yy_action_308( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12801,20 +13424,20 @@ fn yy_action_298( } // file:///./parser.mbty -// 2130| attributes visibility option("mut") LIDENT ":" type_ { -// 2131| FieldDecl::{ -// 2132| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, -// 2133| ty: $6, -// 2134| mut_: $3 is Some(_), -// 2135| vis: $2, -// 2136| loc: mk_loc($sloc), -// 2137| attrs: $1, -// 2138| doc: DocString::empty() -// 2139| } -// 2140| } +// 2164| attributes visibility option("mut") LIDENT ":" type_ { +// 2165| FieldDecl::{ +// 2166| name: FieldName::{ label: $4, loc: mk_loc($loc($4)) }, +// 2167| ty: $6, +// 2168| mut_: $3 is Some(_), +// 2169| vis: $2, +// 2170| loc: mk_loc($sloc), +// 2171| attrs: $1, +// 2172| doc: DocString::empty() +// 2173| } +// 2174| } ///| -fn yy_action_299( +fn yy_action_309( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12853,7 +13476,7 @@ fn yy_action_299( } // file:///./parser.mbty -// 870| "pub" pub_attr { Pub(loc = mk_loc($sloc), attr = $2) } +// 879| "pub" pub_attr { Pub(loc = mk_loc($sloc), attr = $2) } ///| fn yy_action_37( @@ -12876,10 +13499,10 @@ fn yy_action_37( } // file:///./parser.mbty -// 874| { None } +// 883| { None } ///| -fn yy_action_300( +fn yy_action_310( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12892,10 +13515,10 @@ fn yy_action_300( } // file:///./parser.mbty -// 225| X SEMI non_empty_list_semis(X) { $3.add($1) } +// 230| X SEMI non_empty_list_semis(X) { $3.add($1) } ///| -fn yy_action_301( +fn yy_action_311( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12910,10 +13533,10 @@ fn yy_action_301( } // file:///./parser.mbty -// 224| X option(SEMI) { @list.singleton($1) } +// 229| X option(SEMI) { @list.singleton($1) } ///| -fn yy_action_302( +fn yy_action_312( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12927,10 +13550,10 @@ fn yy_action_302( } // file:///./parser.mbty -// 234| { @list.empty() } +// 239| { @list.empty() } ///| -fn yy_action_303( +fn yy_action_313( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12943,17 +13566,17 @@ fn yy_action_303( } // file:///./parser.mbty -// 374| "struct" UIDENT "(" non_empty_list_commas(type_) ")" deriving_directive_list { -// 375| LocalTypeDecl::{ -// 376| tycon : $2, -// 377| tycon_loc : mk_loc($loc($2)), -// 378| components: TupleStruct($4), -// 379| deriving: $6 -// 380| } -// 381| } +// 381| "struct" UIDENT "(" non_empty_list_commas(type_) ")" deriving_directive_list { +// 382| LocalTypeDecl::{ +// 383| tycon : $2, +// 384| tycon_loc : mk_loc($loc($2)), +// 385| components: TupleStruct($4), +// 386| deriving: $6 +// 387| } +// 388| } ///| -fn yy_action_304( +fn yy_action_314( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -12976,17 +13599,17 @@ fn yy_action_304( } // file:///./parser.mbty -// 382| "enum" UIDENT "{" list_semis(enum_constructor) "}" deriving_directive_list { -// 383| LocalTypeDecl::{ -// 384| tycon : $2, -// 385| tycon_loc : mk_loc($loc($2)), -// 386| components: Variant($4), -// 387| deriving: $6 -// 388| } -// 389| } +// 389| "enum" UIDENT "{" list_semis(enum_constructor) "}" deriving_directive_list { +// 390| LocalTypeDecl::{ +// 391| tycon : $2, +// 392| tycon_loc : mk_loc($loc($2)), +// 393| components: Variant($4), +// 394| deriving: $6 +// 395| } +// 396| } ///| -fn yy_action_305( +fn yy_action_315( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13009,17 +13632,17 @@ fn yy_action_305( } // file:///./parser.mbty -// 390| "type" UIDENT type_ deriving_directive_list { -// 391| LocalTypeDecl::{ -// 392| tycon : $2, -// 393| tycon_loc : mk_loc($loc($2)), -// 394| components: Newtype($3), -// 395| deriving: $4 -// 396| } -// 397| } +// 397| "type" UIDENT type_ deriving_directive_list { +// 398| LocalTypeDecl::{ +// 399| tycon : $2, +// 400| tycon_loc : mk_loc($loc($2)), +// 401| components: Newtype($3), +// 402| deriving: $4 +// 403| } +// 404| } ///| -fn yy_action_306( +fn yy_action_316( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13042,10 +13665,10 @@ fn yy_action_306( } // file:///./parser.mbty -// 1039| "derive" "(" list_commas(deriving_directive) ")" { $3 } +// 1048| "derive" "(" list_commas(deriving_directive) ")" { $3 } ///| -fn yy_action_307( +fn yy_action_317( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13059,10 +13682,10 @@ fn yy_action_307( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_308( +fn yy_action_318( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13076,10 +13699,10 @@ fn yy_action_308( } // file:///./parser.mbty -// 1034| type_name "(" list_commas(argument) ")" { DerivingDirective::{ type_name: $1, args: $3, loc: mk_loc($sloc) } } +// 1043| type_name "(" list_commas(argument) ")" { DerivingDirective::{ type_name: $1, args: $3, loc: mk_loc($sloc) } } ///| -fn yy_action_309( +fn yy_action_319( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13104,10 +13727,10 @@ fn yy_action_309( } // file:///./parser.mbty -// 1033| type_name { DerivingDirective::{ type_name: $1, args: @list.empty(), loc: mk_loc($sloc) } } +// 1042| type_name { DerivingDirective::{ type_name: $1, args: @list.empty(), loc: mk_loc($sloc) } } ///| -fn yy_action_310( +fn yy_action_320( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13131,10 +13754,10 @@ fn yy_action_310( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_311( +fn yy_action_321( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13149,10 +13772,10 @@ fn yy_action_311( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_312( +fn yy_action_322( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13166,10 +13789,10 @@ fn yy_action_312( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_313( +fn yy_action_323( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13183,10 +13806,10 @@ fn yy_action_313( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_314( +fn yy_action_324( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13199,10 +13822,10 @@ fn yy_action_314( } // file:///./parser.mbty -// 1038| { @list.empty() } +// 1047| { @list.empty() } ///| -fn yy_action_315( +fn yy_action_325( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13215,10 +13838,10 @@ fn yy_action_315( } // file:///./parser.mbty -// 431| local_type_decl SEMI local_types_and_stmts { ($3.0.add($1), $3.1) } +// 439| local_type_decl SEMI local_types_and_stmts { ($3.0.add($1), $3.1) } ///| -fn yy_action_316( +fn yy_action_326( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13233,10 +13856,10 @@ fn yy_action_316( } // file:///./parser.mbty -// 429| local_type_decl { (@list.singleton($1), Expr::Unit(loc = mk_loc($sloc), faked = true)) } +// 437| local_type_decl { (@list.singleton($1), Expr::Unit(loc = mk_loc($sloc), faked = true)) } ///| -fn yy_action_317( +fn yy_action_327( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13259,10 +13882,10 @@ fn yy_action_317( } // file:///./parser.mbty -// 430| list_semis_rev(statement) { (@list.empty(), Statement::compact_rev($1, loc = mk_loc($sloc))) } +// 438| list_semis_rev(statement) { (@list.empty(), Statement::compact_rev($1, loc = mk_loc($sloc))) } ///| -fn yy_action_318( +fn yy_action_328( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13288,10 +13911,10 @@ fn yy_action_318( } // file:///./parser.mbty -// 435| "{" local_types_and_stmts "}" { $2 } +// 443| "{" local_types_and_stmts "}" { $2 } ///| -fn yy_action_319( +fn yy_action_329( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13305,13 +13928,13 @@ fn yy_action_319( } // file:///./parser.mbty -// 439| block_expr_with_local_types { -// 440| let (local_types, expr) = $1 -// 441| DeclBody(local_types~, expr~) -// 442| } +// 447| block_expr_with_local_types { +// 448| let (local_types, expr) = $1 +// 449| DeclBody(local_types~, expr~) +// 450| } ///| -fn yy_action_320( +fn yy_action_330( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13326,10 +13949,10 @@ fn yy_action_320( } // file:///./parser.mbty -// 443| "=" STRING { DeclStubs(Embedded(language = None, code = CodeString($2))) } +// 451| "=" STRING { DeclStubs(Embedded(language = None, code = CodeString($2))) } ///| -fn yy_action_321( +fn yy_action_331( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13343,27 +13966,27 @@ fn yy_action_321( } // file:///./parser.mbty -// 796| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { -// 797| let (ret_ty, err_ty) = $10 -// 798| TopImpl( -// 799| self_ty = None, -// 800| trait_ = $5, -// 801| method_name = $7, -// 802| has_error = $8, -// 803| quantifiers = $4, -// 804| params = $9, -// 805| ret_ty~, -// 806| err_ty~, -// 807| body = $11, -// 808| vis = $2, -// 809| loc = mk_loc($sloc), -// 810| attrs = $1, -// 811| doc = DocString::empty() -// 812| ) -// 813| } +// 805| attributes visibility "impl" optional_type_parameters type_name "with" binder optional_bang parameters func_return_type impl_body { +// 806| let (ret_ty, err_ty) = $10 +// 807| TopImpl( +// 808| self_ty = None, +// 809| trait_ = $5, +// 810| method_name = $7, +// 811| has_error = $8, +// 812| quantifiers = $4, +// 813| params = $9, +// 814| ret_ty~, +// 815| err_ty~, +// 816| body = $11, +// 817| vis = $2, +// 818| loc = mk_loc($sloc), +// 819| attrs = $1, +// 820| doc = DocString::empty() +// 821| ) +// 822| } ///| -fn yy_action_322( +fn yy_action_332( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13409,14 +14032,14 @@ fn yy_action_322( } // file:///./parser.mbty -// 276| delimited("[", non_empty_list_commas(id(tvar_binder)), "]") { $1 } +// 281| delimited("[", non_empty_list_commas(id(tvar_binder)), "]") { $1 } ///| -fn yy_action_323( +fn yy_action_333( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_324(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_334(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_List_TypeVarBinder_(_dollar1) YYObj_List_TypeVarBinder_( { @@ -13430,7 +14053,7 @@ fn yy_action_323( // 40| L X R { $2 } ///| -fn yy_action_324( +fn yy_action_334( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13444,10 +14067,10 @@ fn yy_action_324( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_325( +fn yy_action_335( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13461,12 +14084,12 @@ fn yy_action_325( } // file:///./parser.mbty -// 1831| UIDENT COLON separated_nonempty_list(PLUS, tvar_constraint) { -// 1832| TypeVarBinder::{ name: $1, constraints: $3, name_loc: mk_loc($loc($1)) } -// 1833| } +// 1865| UIDENT COLON separated_nonempty_list(PLUS, tvar_constraint) { +// 1866| TypeVarBinder::{ name: $1, constraints: $3, name_loc: mk_loc($loc($1)) } +// 1867| } ///| -fn yy_action_326( +fn yy_action_336( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13487,10 +14110,10 @@ fn yy_action_326( } // file:///./parser.mbty -// 1842| qual_ident_ty { TypeVarConstraint::{ trait_: $1, loc: mk_loc($sloc) } } +// 1876| qual_ident_ty { TypeVarConstraint::{ trait_: $1, loc: mk_loc($sloc) } } ///| -fn yy_action_327( +fn yy_action_337( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13516,7 +14139,7 @@ fn yy_action_327( // 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } ///| -fn yy_action_328( +fn yy_action_338( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13534,7 +14157,7 @@ fn yy_action_328( // 59| X { @list.singleton($1) } ///| -fn yy_action_329( +fn yy_action_339( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13548,12 +14171,12 @@ fn yy_action_329( } // file:///./parser.mbty -// 1828| UIDENT { -// 1829| TypeVarBinder::{ name: $1, constraints: @list.empty(), name_loc: mk_loc($loc($1)) } -// 1830| } +// 1862| UIDENT { +// 1863| TypeVarBinder::{ name: $1, constraints: @list.empty(), name_loc: mk_loc($loc($1)) } +// 1864| } ///| -fn yy_action_330( +fn yy_action_340( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13573,14 +14196,14 @@ fn yy_action_330( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_331( +fn yy_action_341( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_332(_args[1].2, _args[2:3]) + let _sub_action_0_result = yy_action_342(_args[1].2, _args[2:3]) guard _args[0].0 is YYObj_List_TypeVarBinder_(_dollar1) guard _sub_action_0_result is YYObj_TypeVarBinder(_dollar3) YYObj_List_TypeVarBinder_( @@ -13592,14 +14215,14 @@ fn yy_action_331( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_333( +fn yy_action_343( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_332(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_342(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_TypeVarBinder(_dollar1) YYObj_List_TypeVarBinder_( { @@ -13610,10 +14233,10 @@ fn yy_action_333( } // file:///./parser.mbty -// 239| X { $1 } +// 244| X { $1 } ///| -fn yy_action_332( +fn yy_action_342( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13627,15 +14250,15 @@ fn yy_action_332( } // file:///./parser.mbty -// 285| option(type_parameters) { -// 286| match $1 { -// 287| None => @list.empty() -// 288| Some(params) => params -// 289| } -// 290| } +// 290| option(type_parameters) { +// 291| match $1 { +// 292| None => @list.empty() +// 293| Some(params) => params +// 294| } +// 295| } ///| -fn yy_action_334( +fn yy_action_344( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13652,26 +14275,26 @@ fn yy_action_334( } // file:///./parser.mbty -// 826| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { -// 827| TopView( -// 828| quantifiers = $4, -// 829| source_ty = $10, -// 830| view_type_name = $5, -// 831| view_type_loc = mk_loc($loc($5)), -// 832| view_func_name = $12, -// 833| parameters = $13, -// 834| params_loc = mk_loc($loc($13)), -// 835| view_constrs = $7, -// 836| body = $14, -// 837| vis = $2, -// 838| loc = mk_loc($sloc), -// 839| attrs = $1, -// 840| doc = DocString::empty() -// 841| ) -// 842| } +// 835| attributes visibility "enumview" optional_type_parameters UIDENT "{" list_semis(enum_constructor) "}" "for" type_ "with" binder parameters block_expr { +// 836| TopView( +// 837| quantifiers = $4, +// 838| source_ty = $10, +// 839| view_type_name = $5, +// 840| view_type_loc = mk_loc($loc($5)), +// 841| view_func_name = $12, +// 842| parameters = $13, +// 843| params_loc = mk_loc($loc($13)), +// 844| view_constrs = $7, +// 845| body = $14, +// 846| vis = $2, +// 847| loc = mk_loc($sloc), +// 848| attrs = $1, +// 849| doc = DocString::empty() +// 850| ) +// 851| } ///| -fn yy_action_335( +fn yy_action_345( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13720,10 +14343,10 @@ fn yy_action_335( } // file:///./parser.mbty -// 235| non_empty_list_semis(X) { $1 } +// 240| non_empty_list_semis(X) { $1 } ///| -fn yy_action_336( +fn yy_action_346( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13737,19 +14360,19 @@ fn yy_action_336( } // file:///./parser.mbty -// 2162| attributes UIDENT option(delimited("(", non_empty_list_commas(constructor_param), ")")) option(eq_int_tag) { -// 2163| ConstrDecl::{ -// 2164| name: ConstrName::{ name: $2, loc: mk_loc($loc($2)) }, -// 2165| args: $3, -// 2166| tag: $4, -// 2167| loc: mk_loc($sloc), -// 2168| attrs: $1, -// 2169| doc: DocString::empty() -// 2170| } -// 2171| } +// 2230| attributes UIDENT option(delimited("(", non_empty_list_commas(constructor_param), ")")) option(eq_int_tag) { +// 2231| ConstrDecl::{ +// 2232| name: ConstrName::{ name: $2, loc: mk_loc($loc($2)) }, +// 2233| args: $3, +// 2234| tag: $4, +// 2235| loc: mk_loc($sloc), +// 2236| attrs: $1, +// 2237| doc: DocString::empty() +// 2238| } +// 2239| } ///| -fn yy_action_337( +fn yy_action_347( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13785,19 +14408,19 @@ fn yy_action_337( } // file:///./parser.mbty -// 2162| attributes UIDENT option(delimited("(", non_empty_list_commas(constructor_param), ")")) option(eq_int_tag) { -// 2163| ConstrDecl::{ -// 2164| name: ConstrName::{ name: $2, loc: mk_loc($loc($2)) }, -// 2165| args: $3, -// 2166| tag: $4, -// 2167| loc: mk_loc($sloc), -// 2168| attrs: $1, -// 2169| doc: DocString::empty() -// 2170| } -// 2171| } +// 2230| attributes UIDENT option(delimited("(", non_empty_list_commas(constructor_param), ")")) option(eq_int_tag) { +// 2231| ConstrDecl::{ +// 2232| name: ConstrName::{ name: $2, loc: mk_loc($loc($2)) }, +// 2233| args: $3, +// 2234| tag: $4, +// 2235| loc: mk_loc($sloc), +// 2236| attrs: $1, +// 2237| doc: DocString::empty() +// 2238| } +// 2239| } ///| -fn yy_action_338( +fn yy_action_348( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13833,7 +14456,7 @@ fn yy_action_338( } // file:///./parser.mbty -// 860| non_empty_list(attribute) { $1 } +// 869| non_empty_list(attribute) { $1 } ///| fn yy_action_60( @@ -13853,11 +14476,11 @@ fn yy_action_60( // 5| X { Some($1) } ///| -fn yy_action_339( +fn yy_action_349( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_340(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_350(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj__String__Location_(_dollar1) YYObj_Option__String__Location__( { @@ -13868,10 +14491,10 @@ fn yy_action_339( } // file:///./parser.mbty -// 2175| "=" INT { ($2, mk_loc($loc($2))) } +// 2243| "=" INT { ($2, mk_loc($loc($2))) } ///| -fn yy_action_340( +fn yy_action_350( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13890,7 +14513,7 @@ fn yy_action_340( // 4| { None } ///| -fn yy_action_341( +fn yy_action_351( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13903,16 +14526,16 @@ fn yy_action_341( } // file:///./parser.mbty -// 2144| option("mut") type_ { -// 2145| ConstrParam::{ -// 2146| ty: $2, -// 2147| mut_: $1 is Some(_), -// 2148| label: None -// 2149| } -// 2150| } +// 2212| option("mut") type_ { +// 2213| ConstrParam::{ +// 2214| ty: $2, +// 2215| mut_: $1 is Some(_), +// 2216| label: None +// 2217| } +// 2218| } ///| -fn yy_action_342( +fn yy_action_352( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13927,17 +14550,17 @@ fn yy_action_342( } // file:///./parser.mbty -// 2151| option("mut") POST_LABEL ":" type_ { -// 2152| let label = Label::{ name: $2, loc: mk_loc($loc($2)).trim_last_char() } -// 2153| ConstrParam::{ -// 2154| ty: $4, -// 2155| mut_: $1 is Some(_), -// 2156| label: Some(label) -// 2157| } -// 2158| } +// 2219| option("mut") POST_LABEL ":" type_ { +// 2220| let label = Label::{ name: $2, loc: mk_loc($loc($2)).trim_last_char() } +// 2221| ConstrParam::{ +// 2222| ty: $4, +// 2223| mut_: $1 is Some(_), +// 2224| label: Some(label) +// 2225| } +// 2226| } ///| -fn yy_action_343( +fn yy_action_353( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13966,7 +14589,7 @@ fn yy_action_343( // 5| X { Some($1) } ///| -fn yy_action_344( +fn yy_action_354( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13980,10 +14603,10 @@ fn yy_action_344( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_345( +fn yy_action_355( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -13998,10 +14621,10 @@ fn yy_action_345( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_346( +fn yy_action_356( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14018,11 +14641,11 @@ fn yy_action_346( // 5| X { Some($1) } ///| -fn yy_action_347( +fn yy_action_357( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_348(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_358(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_List_ConstrParam_(_dollar1) YYObj_Option_List_ConstrParam__( { @@ -14036,7 +14659,7 @@ fn yy_action_347( // 40| L X R { $2 } ///| -fn yy_action_348( +fn yy_action_358( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14050,10 +14673,10 @@ fn yy_action_348( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_349( +fn yy_action_359( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14070,7 +14693,7 @@ fn yy_action_349( // 4| { None } ///| -fn yy_action_350( +fn yy_action_360( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14086,7 +14709,7 @@ fn yy_action_350( // 4| { None } ///| -fn yy_action_351( +fn yy_action_361( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14099,10 +14722,10 @@ fn yy_action_351( } // file:///./parser.mbty -// 225| X SEMI non_empty_list_semis(X) { $3.add($1) } +// 230| X SEMI non_empty_list_semis(X) { $3.add($1) } ///| -fn yy_action_352( +fn yy_action_362( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14117,10 +14740,10 @@ fn yy_action_352( } // file:///./parser.mbty -// 224| X option(SEMI) { @list.singleton($1) } +// 229| X option(SEMI) { @list.singleton($1) } ///| -fn yy_action_353( +fn yy_action_363( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14134,10 +14757,10 @@ fn yy_action_353( } // file:///./parser.mbty -// 234| { @list.empty() } +// 239| { @list.empty() } ///| -fn yy_action_354( +fn yy_action_364( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14153,7 +14776,7 @@ fn yy_action_354( // 5| X { Some($1) } ///| -fn yy_action_355( +fn yy_action_365( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14170,7 +14793,7 @@ fn yy_action_355( // 4| { None } ///| -fn yy_action_356( +fn yy_action_366( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14183,22 +14806,22 @@ fn yy_action_356( } // file:///./parser.mbty -// 843| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { -// 844| TopUsing( -// 845| pkg = { -// 846| name : $4, -// 847| loc : mk_loc($loc($4)) -// 848| }, -// 849| names = $6, -// 850| vis = $2, -// 851| attrs = $1, -// 852| loc = mk_loc($loc), -// 853| doc = DocString::empty() -// 854| ) -// 855| } +// 852| attributes visibility "using" PACKAGE_NAME "{" list_commas(using_binder) "}" { +// 853| TopUsing( +// 854| pkg = { +// 855| name : $4, +// 856| loc : mk_loc($loc($4)) +// 857| }, +// 858| names = $6, +// 859| vis = $2, +// 860| attrs = $1, +// 861| loc = mk_loc($loc), +// 862| doc = DocString::empty() +// 863| ) +// 864| } ///| -fn yy_action_357( +fn yy_action_367( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14235,10 +14858,10 @@ fn yy_action_357( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_358( +fn yy_action_368( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14252,21 +14875,21 @@ fn yy_action_358( } // file:///./parser.mbty -// 983| LIDENT "as" LIDENT -// 984| | UIDENT "as" UIDENT { -// 985| let binder = Binder::{ -// 986| name : $3, -// 987| loc : mk_loc($loc($3)) -// 988| } -// 989| let target = Label::{ -// 990| name : $1, -// 991| loc : mk_loc($loc($1)) -// 992| } -// 993| ({ binder, target : Some(target) }, UsingKind::Value) -// 994| } +// 992| LIDENT "as" LIDENT +// 993| | UIDENT "as" UIDENT { +// 994| let binder = Binder::{ +// 995| name : $3, +// 996| loc : mk_loc($loc($3)) +// 997| } +// 998| let target = Label::{ +// 999| name : $1, +// 1000| loc : mk_loc($loc($1)) +// 1001| } +// 1002| ({ binder, target : Some(target) }, UsingKind::Value) +// 1003| } ///| -fn yy_action_359( +fn yy_action_369( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14293,17 +14916,17 @@ fn yy_action_359( } // file:///./parser.mbty -// 975| LIDENT -// 976| | UIDENT { -// 977| let binder = Binder::{ -// 978| name : $1, -// 979| loc : mk_loc($loc) -// 980| } -// 981| ({ binder, target : None }, UsingKind::Value) -// 982| } +// 984| LIDENT +// 985| | UIDENT { +// 986| let binder = Binder::{ +// 987| name : $1, +// 988| loc : mk_loc($loc) +// 989| } +// 990| ({ binder, target : None }, UsingKind::Value) +// 991| } ///| -fn yy_action_360( +fn yy_action_370( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14327,20 +14950,20 @@ fn yy_action_360( } // file:///./parser.mbty -// 984| UIDENT "as" UIDENT { -// 985| let binder = Binder::{ -// 986| name : $3, -// 987| loc : mk_loc($loc($3)) -// 988| } -// 989| let target = Label::{ -// 990| name : $1, -// 991| loc : mk_loc($loc($1)) -// 992| } -// 993| ({ binder, target : Some(target) }, UsingKind::Value) -// 994| } +// 993| UIDENT "as" UIDENT { +// 994| let binder = Binder::{ +// 995| name : $3, +// 996| loc : mk_loc($loc($3)) +// 997| } +// 998| let target = Label::{ +// 999| name : $1, +// 1000| loc : mk_loc($loc($1)) +// 1001| } +// 1002| ({ binder, target : Some(target) }, UsingKind::Value) +// 1003| } ///| -fn yy_action_361( +fn yy_action_371( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14367,16 +14990,16 @@ fn yy_action_361( } // file:///./parser.mbty -// 976| UIDENT { -// 977| let binder = Binder::{ -// 978| name : $1, -// 979| loc : mk_loc($loc) -// 980| } -// 981| ({ binder, target : None }, UsingKind::Value) -// 982| } +// 985| UIDENT { +// 986| let binder = Binder::{ +// 987| name : $1, +// 988| loc : mk_loc($loc) +// 989| } +// 990| ({ binder, target : None }, UsingKind::Value) +// 991| } ///| -fn yy_action_362( +fn yy_action_372( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14400,20 +15023,20 @@ fn yy_action_362( } // file:///./parser.mbty -// 1002| "type" UIDENT "as" UIDENT { -// 1003| let binder = Binder::{ -// 1004| name : $4, -// 1005| loc : mk_loc($loc($4)) -// 1006| } -// 1007| let target = Label::{ -// 1008| name : $2, -// 1009| loc : mk_loc($loc($2)) -// 1010| } -// 1011| ({ binder, target : Some(target) }, UsingKind::Type) -// 1012| } +// 1011| "type" UIDENT "as" UIDENT { +// 1012| let binder = Binder::{ +// 1013| name : $4, +// 1014| loc : mk_loc($loc($4)) +// 1015| } +// 1016| let target = Label::{ +// 1017| name : $2, +// 1018| loc : mk_loc($loc($2)) +// 1019| } +// 1020| ({ binder, target : Some(target) }, UsingKind::Type) +// 1021| } ///| -fn yy_action_363( +fn yy_action_373( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14440,16 +15063,16 @@ fn yy_action_363( } // file:///./parser.mbty -// 995| "type" UIDENT { -// 996| let binder = Binder::{ -// 997| name : $2, -// 998| loc : mk_loc($loc($2)) -// 999| } -// 1000| ({ binder, target : None }, UsingKind::Type) -// 1001| } +// 1004| "type" UIDENT { +// 1005| let binder = Binder::{ +// 1006| name : $2, +// 1007| loc : mk_loc($loc($2)) +// 1008| } +// 1009| ({ binder, target : None }, UsingKind::Type) +// 1010| } ///| -fn yy_action_364( +fn yy_action_374( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14469,20 +15092,20 @@ fn yy_action_364( } // file:///./parser.mbty -// 1020| "trait" UIDENT "as" UIDENT { -// 1021| let binder = Binder::{ -// 1022| name : $4, -// 1023| loc : mk_loc($loc($4)) -// 1024| } -// 1025| let target = Label::{ -// 1026| name : $2, -// 1027| loc : mk_loc($loc($2)) -// 1028| } -// 1029| ({ binder, target : Some(target) }, UsingKind::Trait) -// 1030| } +// 1029| "trait" UIDENT "as" UIDENT { +// 1030| let binder = Binder::{ +// 1031| name : $4, +// 1032| loc : mk_loc($loc($4)) +// 1033| } +// 1034| let target = Label::{ +// 1035| name : $2, +// 1036| loc : mk_loc($loc($2)) +// 1037| } +// 1038| ({ binder, target : Some(target) }, UsingKind::Trait) +// 1039| } ///| -fn yy_action_365( +fn yy_action_375( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14509,16 +15132,16 @@ fn yy_action_365( } // file:///./parser.mbty -// 1013| "trait" UIDENT { -// 1014| let binder = Binder::{ -// 1015| name : $2, -// 1016| loc : mk_loc($loc($2)) -// 1017| } -// 1018| ({ binder, target : None }, UsingKind::Trait) -// 1019| } +// 1022| "trait" UIDENT { +// 1023| let binder = Binder::{ +// 1024| name : $2, +// 1025| loc : mk_loc($loc($2)) +// 1026| } +// 1027| ({ binder, target : None }, UsingKind::Trait) +// 1028| } ///| -fn yy_action_366( +fn yy_action_376( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14538,10 +15161,10 @@ fn yy_action_366( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_367( +fn yy_action_377( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14556,10 +15179,10 @@ fn yy_action_367( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_368( +fn yy_action_378( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14573,10 +15196,10 @@ fn yy_action_368( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_369( +fn yy_action_379( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14590,10 +15213,10 @@ fn yy_action_369( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_370( +fn yy_action_380( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14606,12 +15229,12 @@ fn yy_action_370( } // file:///./parser.mbty -// 884| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { -// 885| ($1, $3, $2, $5, mk_loc($loc($5)), $6) -// 886| } +// 893| attributes is_declare visibility "type" UIDENT optional_type_parameters_no_constraints { +// 894| ($1, $3, $2, $5, mk_loc($loc($5)), $6) +// 895| } ///| -fn yy_action_371( +fn yy_action_381( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14641,10 +15264,10 @@ fn yy_action_371( } // file:///./parser.mbty -// 890| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } +// 899| attributes is_declare visibility "suberror" UIDENT { ($1, $3, $2, $5, mk_loc($loc($5))) } ///| -fn yy_action_372( +fn yy_action_382( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14672,7 +15295,7 @@ fn yy_action_372( } // file:///./parser.mbty -// 881| { false } +// 890| { false } ///| fn yy_action_15( @@ -14688,12 +15311,12 @@ fn yy_action_15( } // file:///./parser.mbty -// 894| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { -// 895| ($1, $2, $4, mk_loc($loc($4)), $5) -// 896| } +// 903| attributes visibility "struct" UIDENT optional_type_parameters_no_constraints { +// 904| ($1, $2, $4, mk_loc($loc($4)), $5) +// 905| } ///| -fn yy_action_373( +fn yy_action_383( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14720,15 +15343,15 @@ fn yy_action_373( } // file:///./parser.mbty -// 294| option(delimited("[", non_empty_list_commas(id(type_decl_binder)), "]")) { -// 295| match $1 { -// 296| None => @list.empty() -// 297| Some(params) => params -// 298| } -// 299| } +// 299| option(delimited("[", non_empty_list_commas(id(type_decl_binder)), "]")) { +// 300| match $1 { +// 301| None => @list.empty() +// 302| Some(params) => params +// 303| } +// 304| } ///| -fn yy_action_374( +fn yy_action_384( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14745,12 +15368,12 @@ fn yy_action_374( } // file:///./parser.mbty -// 900| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { -// 901| ($1, $2, $4, mk_loc($loc($4)), $5) -// 902| } +// 909| attributes visibility "enum" UIDENT optional_type_parameters_no_constraints { +// 910| ($1, $2, $4, mk_loc($loc($4)), $5) +// 911| } ///| -fn yy_action_375( +fn yy_action_385( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14777,7 +15400,7 @@ fn yy_action_375( } // file:///./parser.mbty -// 868| { Default } +// 877| { Default } ///| fn yy_action_4( @@ -14793,7 +15416,7 @@ fn yy_action_4( } // file:///./parser.mbty -// 859| { @list.empty() } +// 868| { @list.empty() } ///| fn yy_action_3( @@ -14809,10 +15432,10 @@ fn yy_action_3( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_376( +fn yy_action_386( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14826,10 +15449,10 @@ fn yy_action_376( } // file:///./parser.mbty -// 1837| UIDENT { TypeDeclBinder::{ name: Some($1), loc: mk_loc($sloc) } } +// 1871| UIDENT { TypeDeclBinder::{ name: Some($1), loc: mk_loc($sloc) } } ///| -fn yy_action_377( +fn yy_action_387( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14852,10 +15475,10 @@ fn yy_action_377( } // file:///./parser.mbty -// 1838| "_" { TypeDeclBinder::{ name: None, loc: mk_loc($sloc) } } +// 1872| "_" { TypeDeclBinder::{ name: None, loc: mk_loc($sloc) } } ///| -fn yy_action_378( +fn yy_action_388( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14874,14 +15497,14 @@ fn yy_action_378( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_379( +fn yy_action_389( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_380(_args[1].2, _args[2:3]) + let _sub_action_0_result = yy_action_390(_args[1].2, _args[2:3]) guard _args[0].0 is YYObj_List_TypeDeclBinder_(_dollar1) guard _sub_action_0_result is YYObj_TypeDeclBinder(_dollar3) YYObj_List_TypeDeclBinder_( @@ -14896,11 +15519,11 @@ fn yy_action_379( // 5| X { Some($1) } ///| -fn yy_action_381( +fn yy_action_391( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_382(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_392(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_List_TypeDeclBinder_(_dollar1) YYObj_Option_List_TypeDeclBinder__( { @@ -14914,7 +15537,7 @@ fn yy_action_381( // 40| L X R { $2 } ///| -fn yy_action_382( +fn yy_action_392( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14928,14 +15551,14 @@ fn yy_action_382( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_383( +fn yy_action_393( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_380(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_390(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_TypeDeclBinder(_dollar1) YYObj_List_TypeDeclBinder_( { @@ -14946,10 +15569,10 @@ fn yy_action_383( } // file:///./parser.mbty -// 239| X { $1 } +// 244| X { $1 } ///| -fn yy_action_380( +fn yy_action_390( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14966,7 +15589,7 @@ fn yy_action_380( // 4| { None } ///| -fn yy_action_384( +fn yy_action_394( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -14979,14 +15602,14 @@ fn yy_action_384( } // file:///./parser.mbty -// 169| X non_empty_list(X) { $2.add($1) } +// 174| X non_empty_list(X) { $2.add($1) } ///| -fn yy_action_385( +fn yy_action_395( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_386(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_396(_last_pos, _args[0:1]) guard _args[1].0 is YYObj_List_Attribute_(_dollar2) guard _sub_action_0_result is YYObj_Attribute(_dollar1) YYObj_List_Attribute_( @@ -14998,14 +15621,14 @@ fn yy_action_385( } // file:///./parser.mbty -// 168| X { @list.singleton($1) } +// 173| X { @list.singleton($1) } ///| -fn yy_action_387( +fn yy_action_397( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_386(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_396(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_Attribute(_dollar1) YYObj_List_Attribute_( { @@ -15016,10 +15639,10 @@ fn yy_action_387( } // file:///./parser.mbty -// 864| ATTRIBUTE { Attribute::new(loc=mk_loc($sloc), $1) } +// 873| ATTRIBUTE { Attribute::new(loc=mk_loc($sloc), $1) } ///| -fn yy_action_386( +fn yy_action_396( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15039,10 +15662,10 @@ fn yy_action_386( } // file:///./parser.mbty -// 225| X SEMI non_empty_list_semis(X) { $3.add($1) } +// 230| X SEMI non_empty_list_semis(X) { $3.add($1) } ///| -fn yy_action_388( +fn yy_action_398( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15057,10 +15680,10 @@ fn yy_action_388( } // file:///./parser.mbty -// 224| X option(SEMI) { @list.singleton($1) } +// 229| X option(SEMI) { @list.singleton($1) } ///| -fn yy_action_389( +fn yy_action_399( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15074,10 +15697,10 @@ fn yy_action_389( } // file:///./parser.mbty -// 234| { @list.empty() } +// 239| { @list.empty() } ///| -fn yy_action_390( +fn yy_action_400( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15090,10 +15713,10 @@ fn yy_action_390( } // file:///./parser.mbty -// 447| expr EOF { $1 } +// 455| expr EOF { $1 } ///| -fn yy_action_391( +fn yy_action_401( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15107,10 +15730,10 @@ fn yy_action_391( } // file:///./parser.mbty -// 1804| "[" list_commas(spreadable_elem) "]" { @syntax.make_array_expr(loc = mk_loc($sloc), $2) } +// 1838| "[" list_commas(spreadable_elem) "]" { @syntax.make_array_expr(loc = mk_loc($sloc), $2) } ///| -fn yy_action_392( +fn yy_action_402( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15133,10 +15756,10 @@ fn yy_action_392( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_393( +fn yy_action_403( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15150,10 +15773,10 @@ fn yy_action_393( } // file:///./parser.mbty -// 1943| expr { Regular($1) } +// 1977| expr { Regular($1) } ///| -fn yy_action_394( +fn yy_action_404( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15167,18 +15790,18 @@ fn yy_action_394( } // file:///./parser.mbty -// 2179| label_pun "," list_commas_with_trailing_info(record_defn_single) { -// 2180| let (fs, trailing) = $3 -// 2181| let trailing_mark = if fs.is_empty() || trailing { TrailingMark::Comma } else { TrailingMark::None } -// 2182| (fs.add($1), trailing_mark) -// 2183| } +// 2247| label_pun "," list_commas_with_trailing_info(record_defn_single) { +// 2248| let (fs, trailing) = $3 +// 2249| let trailing_mark = if fs.is_empty() || trailing { TrailingMark::Comma } else { TrailingMark::None } +// 2250| (fs.add($1), trailing_mark) +// 2251| } ///| -fn yy_action_395( +fn yy_action_405( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_396(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_406(_last_pos, _args[0:1]) guard _args[2].0 is YYObj__List_FieldDef___Bool_(_dollar3) guard _sub_action_0_result is YYObj_FieldDef(_dollar1) YYObj__List_FieldDef___TrailingMark_( @@ -15196,17 +15819,17 @@ fn yy_action_395( } // file:///./parser.mbty -// 2184| labeled_expr option(",") { -// 2185| let trailing_mark = if $2 is Some(_) { TrailingMark::Comma } else { TrailingMark::None } -// 2186| (@list.singleton($1), trailing_mark) -// 2187| } +// 2252| labeled_expr option(",") { +// 2253| let trailing_mark = if $2 is Some(_) { TrailingMark::Comma } else { TrailingMark::None } +// 2254| (@list.singleton($1), trailing_mark) +// 2255| } ///| -fn yy_action_397( +fn yy_action_407( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_398(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_408(_last_pos, _args[0:3]) guard _args[3].0 is YYObj_Option_Unit_(_dollar2) guard _sub_action_0_result is YYObj_FieldDef(_dollar1) YYObj__List_FieldDef___TrailingMark_( @@ -15223,18 +15846,18 @@ fn yy_action_397( } // file:///./parser.mbty -// 2188| labeled_expr "," non_empty_list_commas_with_trailing_info(record_defn_single) { -// 2189| let (fs, trailing) = $3 -// 2190| let trailing_mark = if trailing { TrailingMark::Comma } else { TrailingMark::None } -// 2191| (fs.add($1), trailing_mark) -// 2192| } +// 2256| labeled_expr "," non_empty_list_commas_with_trailing_info(record_defn_single) { +// 2257| let (fs, trailing) = $3 +// 2258| let trailing_mark = if trailing { TrailingMark::Comma } else { TrailingMark::None } +// 2259| (fs.add($1), trailing_mark) +// 2260| } ///| -fn yy_action_399( +fn yy_action_409( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_398(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_408(_last_pos, _args[0:3]) guard _args[4].0 is YYObj__List_FieldDef___Bool_(_dollar3) guard _sub_action_0_result is YYObj_FieldDef(_dollar1) YYObj__List_FieldDef___TrailingMark_( @@ -15252,13 +15875,13 @@ fn yy_action_399( } // file:///./parser.mbty -// 1718| "{" record_defn "}" { -// 1719| let (fs, trailing) = $2 -// 1720| @syntax.make_record_expr(loc = mk_loc($sloc), trailing~, None, fs) -// 1721| } +// 1752| "{" record_defn "}" { +// 1753| let (fs, trailing) = $2 +// 1754| @syntax.make_record_expr(loc = mk_loc($sloc), trailing~, None, fs) +// 1755| } ///| -fn yy_action_400( +fn yy_action_410( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15284,16 +15907,16 @@ fn yy_action_400( } // file:///./parser.mbty -// 1727| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "}" { -// 1728| RecordUpdate(type_name = $1, record = $4, fields = @list.empty(), loc = mk_loc($sloc)) -// 1729| } +// 1761| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "}" { +// 1762| RecordUpdate(type_name = $1, record = $4, fields = @list.empty(), loc = mk_loc($sloc)) +// 1763| } ///| -fn yy_action_401( +fn yy_action_411( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_402(_last_pos, _args[0:0]) + let _sub_action_0_result = yy_action_412(_last_pos, _args[0:0]) guard _sub_action_0_result is YYObj_Option_TypeName_(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar4) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) @@ -15316,16 +15939,16 @@ fn yy_action_401( } // file:///./parser.mbty -// 1730| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "," list_commas(record_defn_single) "}" { -// 1731| RecordUpdate(type_name = $1, record = $4, fields = $6, loc = mk_loc($sloc)) -// 1732| } +// 1764| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "," list_commas(record_defn_single) "}" { +// 1765| RecordUpdate(type_name = $1, record = $4, fields = $6, loc = mk_loc($sloc)) +// 1766| } ///| -fn yy_action_403( +fn yy_action_413( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_402(_last_pos, _args[0:0]) + let _sub_action_0_result = yy_action_412(_last_pos, _args[0:0]) guard _sub_action_0_result is YYObj_Option_TypeName_(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar4) guard _args[4].0 is YYObj_List_FieldDef_(_dollar6) @@ -15352,7 +15975,7 @@ fn yy_action_403( // 9| { None } ///| -fn yy_action_402( +fn yy_action_412( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15365,25 +15988,25 @@ fn yy_action_402( } // file:///./parser.mbty -// 1733| "{" semi_expr_semi_opt "}" { -// 1734| let (expr, trailing) = $2 -// 1735| match expr { -// 1736| Ident(id = { name: Ident(name~), loc }, ..) => { -// 1737| let label = Label::{ name, loc } -// 1738| let field = @syntax.make_field_def(loc = mk_loc($sloc), label, expr, true) -// 1739| let trailing_mark = if trailing { TrailingMark::Semi } else { TrailingMark::None } -// 1740| @syntax.make_record_expr(loc = mk_loc($sloc), trailing = trailing_mark, None, @list.singleton(field)) -// 1741| } -// 1742| _ => Group(expr~, group = Brace, loc = mk_loc($sloc)) -// 1743| } -// 1744| } +// 1767| "{" semi_expr_semi_opt "}" { +// 1768| let (expr, trailing) = $2 +// 1769| match expr { +// 1770| Ident(id = { name: Ident(name~), loc }, ..) => { +// 1771| let label = Label::{ name, loc } +// 1772| let field = @syntax.make_field_def(loc = mk_loc($sloc), label, expr, true) +// 1773| let trailing_mark = if trailing { TrailingMark::Semi } else { TrailingMark::None } +// 1774| @syntax.make_record_expr(loc = mk_loc($sloc), trailing = trailing_mark, None, @list.singleton(field)) +// 1775| } +// 1776| _ => Group(expr~, group = Brace, loc = mk_loc($sloc)) +// 1777| } +// 1778| } ///| -fn yy_action_404( +fn yy_action_414( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_405(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_415(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj__Expr__Bool_(_dollar2) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { @@ -15424,13 +16047,13 @@ fn yy_action_404( } // file:///./parser.mbty -// 1095| none_empty_list_semis_rev_with_trailing_info(statement) { -// 1096| let (ls, trailing) = $1 -// 1097| (Statement::compact_rev(ls, loc = mk_loc($sloc)), trailing) -// 1098| } +// 1104| none_empty_list_semis_rev_with_trailing_info(statement) { +// 1105| let (ls, trailing) = $1 +// 1106| (Statement::compact_rev(ls, loc = mk_loc($sloc)), trailing) +// 1107| } ///| -fn yy_action_405( +fn yy_action_415( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15454,12 +16077,12 @@ fn yy_action_405( } // file:///./parser.mbty -// 1745| "{" list_commas(map_expr_elem) "}" { -// 1746| Map(elems = $2, loc = mk_loc($sloc)) -// 1747| } +// 1779| "{" list_commas(map_expr_elem) "}" { +// 1780| Map(elems = $2, loc = mk_loc($sloc)) +// 1781| } ///| -fn yy_action_406( +fn yy_action_416( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15479,10 +16102,10 @@ fn yy_action_406( } // file:///./parser.mbty -// 220| non_empty_list_semi_rev_aux(X) option(SEMI) { ($1, $2 is Some(_)) } +// 225| non_empty_list_semi_rev_aux(X) option(SEMI) { ($1, $2 is Some(_)) } ///| -fn yy_action_407( +fn yy_action_417( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15497,10 +16120,10 @@ fn yy_action_407( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_408( +fn yy_action_418( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15514,12 +16137,12 @@ fn yy_action_408( } // file:///./parser.mbty -// 423| "{" list_semis_rev(statement) "}" { -// 424| Statement::compact_rev($2, loc = mk_loc($sloc)) -// 425| } +// 431| "{" list_semis_rev(statement) "}" { +// 432| Statement::compact_rev($2, loc = mk_loc($sloc)) +// 433| } ///| -fn yy_action_409( +fn yy_action_419( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15542,10 +16165,10 @@ fn yy_action_409( } // file:///./parser.mbty -// 230| non_empty_list_semis_rev(X) { $1 } +// 235| non_empty_list_semis_rev(X) { $1 } ///| -fn yy_action_410( +fn yy_action_420( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15559,16 +16182,16 @@ fn yy_action_410( } // file:///./parser.mbty -// 1116| "let" pattern opt_annot "=" expr { -// 1117| let pat = match $3 { -// 1118| None => $2 -// 1119| Some(ty) => Pattern::Constraint(pat = $2, ty~, loc = mk_loc($sloc)) -// 1120| } -// 1121| StmtLet(pat~, expr = $5, loc = mk_loc($sloc)) -// 1122| } +// 1125| "let" pattern opt_annot "=" expr { +// 1126| let pat = match $3 { +// 1127| None => $2 +// 1128| Some(ty) => Pattern::Constraint(pat = $2, ty~, loc = mk_loc($sloc)) +// 1129| } +// 1130| StmtLet(pat~, expr = $5, loc = mk_loc($sloc)) +// 1131| } ///| -fn yy_action_411( +fn yy_action_421( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15600,16 +16223,16 @@ fn yy_action_411( } // file:///./parser.mbty -// 1116| "let" pattern opt_annot "=" expr { -// 1117| let pat = match $3 { -// 1118| None => $2 -// 1119| Some(ty) => Pattern::Constraint(pat = $2, ty~, loc = mk_loc($sloc)) -// 1120| } -// 1121| StmtLet(pat~, expr = $5, loc = mk_loc($sloc)) -// 1122| } +// 1125| "let" pattern opt_annot "=" expr { +// 1126| let pat = match $3 { +// 1127| None => $2 +// 1128| Some(ty) => Pattern::Constraint(pat = $2, ty~, loc = mk_loc($sloc)) +// 1129| } +// 1130| StmtLet(pat~, expr = $5, loc = mk_loc($sloc)) +// 1131| } ///| -fn yy_action_412( +fn yy_action_422( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15641,12 +16264,12 @@ fn yy_action_412( } // file:///./parser.mbty -// 1127| "let" "mut" binder opt_annot "=" expr { -// 1128| StmtLetmut(binder = $3, ty_opt = $4, expr = $6, loc = mk_loc($sloc)) -// 1129| } +// 1136| "let" "mut" binder opt_annot "=" expr { +// 1137| StmtLetmut(binder = $3, ty_opt = $4, expr = $6, loc = mk_loc($sloc)) +// 1138| } ///| -fn yy_action_413( +fn yy_action_423( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15675,12 +16298,12 @@ fn yy_action_413( } // file:///./parser.mbty -// 1127| "let" "mut" binder opt_annot "=" expr { -// 1128| StmtLetmut(binder = $3, ty_opt = $4, expr = $6, loc = mk_loc($sloc)) -// 1129| } +// 1136| "let" "mut" binder opt_annot "=" expr { +// 1137| StmtLetmut(binder = $3, ty_opt = $4, expr = $6, loc = mk_loc($sloc)) +// 1138| } ///| -fn yy_action_414( +fn yy_action_424( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15709,13 +16332,13 @@ fn yy_action_414( } // file:///./parser.mbty -// 1123| "letrec" binder opt_annot "=" letand_func list(and_func) { -// 1124| let bindings = $6.add(($2, $3, $5)) -// 1125| StmtLetand(bindings~, loc = mk_loc($sloc)) -// 1126| } +// 1132| "letrec" binder opt_annot "=" letand_func list(and_func) { +// 1133| let bindings = $6.add(($2, $3, $5)) +// 1134| StmtLetand(bindings~, loc = mk_loc($sloc)) +// 1135| } ///| -fn yy_action_415( +fn yy_action_425( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15741,13 +16364,13 @@ fn yy_action_415( } // file:///./parser.mbty -// 1123| "letrec" binder opt_annot "=" letand_func list(and_func) { -// 1124| let bindings = $6.add(($2, $3, $5)) -// 1125| StmtLetand(bindings~, loc = mk_loc($sloc)) -// 1126| } +// 1132| "letrec" binder opt_annot "=" letand_func list(and_func) { +// 1133| let bindings = $6.add(($2, $3, $5)) +// 1134| StmtLetand(bindings~, loc = mk_loc($sloc)) +// 1135| } ///| -fn yy_action_416( +fn yy_action_426( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15773,10 +16396,10 @@ fn yy_action_416( } // file:///./parser.mbty -// 1112| "and" binder opt_annot "=" letand_func { ($2, $3, $5) } +// 1121| "and" binder opt_annot "=" letand_func { ($2, $3, $5) } ///| -fn yy_action_417( +fn yy_action_427( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15794,10 +16417,10 @@ fn yy_action_417( } // file:///./parser.mbty -// 1107| arrow_fn_expr { $1 } +// 1116| arrow_fn_expr { $1 } ///| -fn yy_action_418( +fn yy_action_428( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15811,10 +16434,10 @@ fn yy_action_418( } // file:///./parser.mbty -// 1108| anony_fn { $1 } +// 1117| anony_fn { $1 } ///| -fn yy_action_419( +fn yy_action_429( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15828,10 +16451,10 @@ fn yy_action_419( } // file:///./parser.mbty -// 1112| "and" binder opt_annot "=" letand_func { ($2, $3, $5) } +// 1121| "and" binder opt_annot "=" letand_func { ($2, $3, $5) } ///| -fn yy_action_420( +fn yy_action_430( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15852,7 +16475,7 @@ fn yy_action_420( // 45| X list(X) { $2.add($1) } ///| -fn yy_action_421( +fn yy_action_431( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15870,7 +16493,7 @@ fn yy_action_421( // 44| { @list.empty() } ///| -fn yy_action_422( +fn yy_action_432( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15883,24 +16506,24 @@ fn yy_action_422( } // file:///./parser.mbty -// 1130| is_async "fn" binder optional_bang parameters func_return_type block_expr { -// 1131| let (return_type, error_type) = $6 -// 1132| let func = Func::{ -// 1133| parameters : $5, -// 1134| params_loc : mk_loc($loc($5)), -// 1135| body : $7, -// 1136| return_type, -// 1137| error_type, -// 1138| kind : Lambda, -// 1139| has_error : $4, -// 1140| is_async : $1, -// 1141| loc : mk_loc($sloc) -// 1142| } -// 1143| StmtFunc(binder = $3, func~, loc = mk_loc($sloc)) -// 1144| } +// 1139| is_async "fn" binder optional_bang parameters func_return_type block_expr { +// 1140| let (return_type, error_type) = $6 +// 1141| let func = Func::{ +// 1142| parameters : $5, +// 1143| params_loc : mk_loc($loc($5)), +// 1144| body : $7, +// 1145| return_type, +// 1146| error_type, +// 1147| kind : Lambda, +// 1148| has_error : $4, +// 1149| is_async : $1, +// 1150| loc : mk_loc($sloc) +// 1151| } +// 1152| StmtFunc(binder = $3, func~, loc = mk_loc($sloc)) +// 1153| } ///| -fn yy_action_423( +fn yy_action_433( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -15945,24 +16568,24 @@ fn yy_action_423( } // file:///./parser.mbty -// 1130| is_async "fn" binder optional_bang parameters func_return_type block_expr { -// 1131| let (return_type, error_type) = $6 -// 1132| let func = Func::{ -// 1133| parameters : $5, -// 1134| params_loc : mk_loc($loc($5)), -// 1135| body : $7, -// 1136| return_type, -// 1137| error_type, -// 1138| kind : Lambda, -// 1139| has_error : $4, -// 1140| is_async : $1, -// 1141| loc : mk_loc($sloc) -// 1142| } -// 1143| StmtFunc(binder = $3, func~, loc = mk_loc($sloc)) -// 1144| } +// 1139| is_async "fn" binder optional_bang parameters func_return_type block_expr { +// 1140| let (return_type, error_type) = $6 +// 1141| let func = Func::{ +// 1142| parameters : $5, +// 1143| params_loc : mk_loc($loc($5)), +// 1144| body : $7, +// 1145| return_type, +// 1146| error_type, +// 1147| kind : Lambda, +// 1148| has_error : $4, +// 1149| is_async : $1, +// 1150| loc : mk_loc($sloc) +// 1151| } +// 1152| StmtFunc(binder = $3, func~, loc = mk_loc($sloc)) +// 1153| } ///| -fn yy_action_424( +fn yy_action_434( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16007,10 +16630,10 @@ fn yy_action_424( } // file:///./parser.mbty -// 1145| guard_statement { $1 } +// 1154| guard_statement { $1 } ///| -fn yy_action_425( +fn yy_action_435( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16024,10 +16647,10 @@ fn yy_action_425( } // file:///./parser.mbty -// 1146| "defer" pipe_expr { StmtDefer(expr = $2, loc = mk_loc($sloc)) } +// 1155| "defer" pipe_expr { StmtDefer(expr = $2, loc = mk_loc($sloc)) } ///| -fn yy_action_426( +fn yy_action_436( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16047,10 +16670,10 @@ fn yy_action_426( } // file:///./parser.mbty -// 1147| expr_statement { StmtExpr($1) } +// 1156| expr_statement { StmtExpr($1) } ///| -fn yy_action_427( +fn yy_action_437( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16064,10 +16687,10 @@ fn yy_action_427( } // file:///./parser.mbty -// 1152| "guard" infix_expr "else" block_expr { StmtGuard(cond = $2, otherwise = Some($4), loc = mk_loc($sloc)) } +// 1161| "guard" infix_expr "else" block_expr { StmtGuard(cond = $2, otherwise = Some($4), loc = mk_loc($sloc)) } ///| -fn yy_action_428( +fn yy_action_438( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16092,10 +16715,10 @@ fn yy_action_428( } // file:///./parser.mbty -// 1151| "guard" infix_expr { StmtGuard(cond = $2, otherwise = None, loc = mk_loc($sloc)) } +// 1160| "guard" infix_expr { StmtGuard(cond = $2, otherwise = None, loc = mk_loc($sloc)) } ///| -fn yy_action_429( +fn yy_action_439( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16119,14 +16742,14 @@ fn yy_action_429( } // file:///./parser.mbty -// 1722| type_name COLONCOLON "{" list_commas_with_trailing_info(record_defn_single) "}" { -// 1723| let (fs, trailing) = $4 -// 1724| let trailing_mark = if trailing { TrailingMark::Comma } else { TrailingMark::None } -// 1725| @syntax.make_record_expr(loc = mk_loc($sloc), trailing = trailing_mark, Some($1), fs) -// 1726| } +// 1756| type_name COLONCOLON "{" list_commas_with_trailing_info(record_defn_single) "}" { +// 1757| let (fs, trailing) = $4 +// 1758| let trailing_mark = if trailing { TrailingMark::Comma } else { TrailingMark::None } +// 1759| @syntax.make_record_expr(loc = mk_loc($sloc), trailing = trailing_mark, Some($1), fs) +// 1760| } ///| -fn yy_action_430( +fn yy_action_440( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16158,16 +16781,16 @@ fn yy_action_430( } // file:///./parser.mbty -// 1727| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "}" { -// 1728| RecordUpdate(type_name = $1, record = $4, fields = @list.empty(), loc = mk_loc($sloc)) -// 1729| } +// 1761| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "}" { +// 1762| RecordUpdate(type_name = $1, record = $4, fields = @list.empty(), loc = mk_loc($sloc)) +// 1763| } ///| -fn yy_action_431( +fn yy_action_441( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_432(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_442(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_Option_TypeName_(_dollar1) guard _args[4].0 is YYObj_Expr(_dollar4) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) @@ -16190,16 +16813,16 @@ fn yy_action_431( } // file:///./parser.mbty -// 1730| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "," list_commas(record_defn_single) "}" { -// 1731| RecordUpdate(type_name = $1, record = $4, fields = $6, loc = mk_loc($sloc)) -// 1732| } +// 1764| ioption(terminated(type_name, COLONCOLON)) "{" ".." expr "," list_commas(record_defn_single) "}" { +// 1765| RecordUpdate(type_name = $1, record = $4, fields = $6, loc = mk_loc($sloc)) +// 1766| } ///| -fn yy_action_433( +fn yy_action_443( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_432(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_442(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_Option_TypeName_(_dollar1) guard _args[4].0 is YYObj_Expr(_dollar4) guard _args[6].0 is YYObj_List_FieldDef_(_dollar6) @@ -16226,11 +16849,11 @@ fn yy_action_433( // 10| X { Some($1) } ///| -fn yy_action_432( +fn yy_action_442( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_434(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_444(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_TypeName(_dollar1) YYObj_Option_TypeName_( { @@ -16244,7 +16867,7 @@ fn yy_action_432( // 36| X R { $1 } ///| -fn yy_action_434( +fn yy_action_444( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16258,10 +16881,10 @@ fn yy_action_434( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_435( +fn yy_action_445( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16275,10 +16898,10 @@ fn yy_action_435( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_436( +fn yy_action_446( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16292,10 +16915,10 @@ fn yy_action_436( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_437( +fn yy_action_447( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16308,10 +16931,10 @@ fn yy_action_437( } // file:///./parser.mbty -// 207| non_empty_list_commas_with_trailing_info(X) { $1 } +// 212| non_empty_list_commas_with_trailing_info(X) { $1 } ///| -fn yy_action_438( +fn yy_action_448( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16325,10 +16948,10 @@ fn yy_action_438( } // file:///./parser.mbty -// 1102| "!" { Some(mk_loc($sloc)) } +// 1111| "!" { Some(mk_loc($sloc)) } ///| -fn yy_action_439( +fn yy_action_449( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16347,14 +16970,14 @@ fn yy_action_439( } // file:///./parser.mbty -// 272| delimited("(", list_commas(parameter), ")") { $1 } +// 277| delimited("(", list_commas(parameter), ")") { $1 } ///| -fn yy_action_440( +fn yy_action_450( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_441(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_451(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_List_Parameter_(_dollar1) YYObj_List_Parameter_( { @@ -16368,7 +16991,7 @@ fn yy_action_440( // 40| L X R { $2 } ///| -fn yy_action_441( +fn yy_action_451( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16382,10 +17005,10 @@ fn yy_action_441( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_442( +fn yy_action_452( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16399,10 +17022,10 @@ fn yy_action_442( } // file:///./parser.mbty -// 251| "_" opt_annot { DiscardPositional(ty = $2, loc = mk_loc($loc($1))) } +// 256| "_" opt_annot { DiscardPositional(ty = $2, loc = mk_loc($loc($1))) } ///| -fn yy_action_443( +fn yy_action_453( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16422,10 +17045,10 @@ fn yy_action_443( } // file:///./parser.mbty -// 251| "_" opt_annot { DiscardPositional(ty = $2, loc = mk_loc($loc($1))) } +// 256| "_" opt_annot { DiscardPositional(ty = $2, loc = mk_loc($loc($1))) } ///| -fn yy_action_444( +fn yy_action_454( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16445,10 +17068,10 @@ fn yy_action_444( } // file:///./parser.mbty -// 252| binder opt_annot { Positional(binder = $1, ty = $2) } +// 257| binder opt_annot { Positional(binder = $1, ty = $2) } ///| -fn yy_action_445( +fn yy_action_455( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16465,13 +17088,13 @@ fn yy_action_445( } // file:///./parser.mbty -// 261| LIDENT "?" opt_annot "=" expr { -// 262| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 263| Optional(binder~, ty = $3, default = $5) -// 264| } +// 266| LIDENT "?" opt_annot "=" expr { +// 267| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 268| Optional(binder~, ty = $3, default = $5) +// 269| } ///| -fn yy_action_446( +fn yy_action_456( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16494,13 +17117,13 @@ fn yy_action_446( } // file:///./parser.mbty -// 261| LIDENT "?" opt_annot "=" expr { -// 262| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 263| Optional(binder~, ty = $3, default = $5) -// 264| } +// 266| LIDENT "?" opt_annot "=" expr { +// 267| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 268| Optional(binder~, ty = $3, default = $5) +// 269| } ///| -fn yy_action_447( +fn yy_action_457( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16523,13 +17146,13 @@ fn yy_action_447( } // file:///./parser.mbty -// 265| LIDENT "?" opt_annot { -// 266| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 267| QuestionOptional(binder~, ty = $3) -// 268| } +// 270| LIDENT "?" opt_annot { +// 271| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 272| QuestionOptional(binder~, ty = $3) +// 273| } ///| -fn yy_action_448( +fn yy_action_458( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16551,13 +17174,13 @@ fn yy_action_448( } // file:///./parser.mbty -// 265| LIDENT "?" opt_annot { -// 266| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } -// 267| QuestionOptional(binder~, ty = $3) -// 268| } +// 270| LIDENT "?" opt_annot { +// 271| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)) } +// 272| QuestionOptional(binder~, ty = $3) +// 273| } ///| -fn yy_action_449( +fn yy_action_459( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16579,10 +17202,10 @@ fn yy_action_449( } // file:///./parser.mbty -// 252| binder opt_annot { Positional(binder = $1, ty = $2) } +// 257| binder opt_annot { Positional(binder = $1, ty = $2) } ///| -fn yy_action_450( +fn yy_action_460( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16599,13 +17222,13 @@ fn yy_action_450( } // file:///./parser.mbty -// 257| POST_LABEL opt_annot "=" expr { -// 258| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } -// 259| Optional(binder~, ty = $2, default = $4) -// 260| } +// 262| POST_LABEL opt_annot "=" expr { +// 263| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } +// 264| Optional(binder~, ty = $2, default = $4) +// 265| } ///| -fn yy_action_451( +fn yy_action_461( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16628,13 +17251,13 @@ fn yy_action_451( } // file:///./parser.mbty -// 253| POST_LABEL opt_annot { -// 254| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } -// 255| Labelled(binder~, ty = $2) -// 256| } +// 258| POST_LABEL opt_annot { +// 259| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } +// 260| Labelled(binder~, ty = $2) +// 261| } ///| -fn yy_action_452( +fn yy_action_462( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16656,14 +17279,14 @@ fn yy_action_452( } // file:///./parser.mbty -// 247| ioption(annot) { $1 } +// 252| ioption(annot) { $1 } ///| fn yy_action_17( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_453(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_463(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_Option_Type_(_dollar1) YYObj_Type_( { @@ -16677,11 +17300,11 @@ fn yy_action_17( // 10| X { Some($1) } ///| -fn yy_action_453( +fn yy_action_463( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_454(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_464(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_Type(_dollar1) YYObj_Option_Type_( { @@ -16692,13 +17315,13 @@ fn yy_action_453( } // file:///./parser.mbty -// 257| POST_LABEL opt_annot "=" expr { -// 258| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } -// 259| Optional(binder~, ty = $2, default = $4) -// 260| } +// 262| POST_LABEL opt_annot "=" expr { +// 263| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } +// 264| Optional(binder~, ty = $2, default = $4) +// 265| } ///| -fn yy_action_455( +fn yy_action_465( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16721,24 +17344,24 @@ fn yy_action_455( } // file:///./parser.mbty -// 1786| simple_expr ".." LIDENT apply_attr "(" list_commas(argument) ")" { -// 1787| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } -// 1788| DotApply( -// 1789| self = $1, -// 1790| method_name~, -// 1791| args = $6, -// 1792| return_self = true, -// 1793| attr = $4, -// 1794| loc = mk_loc($sloc) -// 1795| ) -// 1796| } +// 1820| simple_expr ".." LIDENT apply_attr "(" list_commas(argument) ")" { +// 1821| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } +// 1822| DotApply( +// 1823| self = $1, +// 1824| method_name~, +// 1825| args = $6, +// 1826| return_self = true, +// 1827| attr = $4, +// 1828| loc = mk_loc($sloc) +// 1829| ) +// 1830| } ///| -fn yy_action_456( +fn yy_action_466( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_457(_args[2].2, _args[3:3]) + let _sub_action_0_result = yy_action_467(_args[2].2, _args[3:3]) guard _args[2].0 is YYObj_String(_dollar3) let _start_pos_of_item2 = _args[2].1 let _end_pos_of_item2 = _args[2].2 @@ -16771,24 +17394,24 @@ fn yy_action_456( } // file:///./parser.mbty -// 1786| simple_expr ".." LIDENT apply_attr "(" list_commas(argument) ")" { -// 1787| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } -// 1788| DotApply( -// 1789| self = $1, -// 1790| method_name~, -// 1791| args = $6, -// 1792| return_self = true, -// 1793| attr = $4, -// 1794| loc = mk_loc($sloc) -// 1795| ) -// 1796| } +// 1820| simple_expr ".." LIDENT apply_attr "(" list_commas(argument) ")" { +// 1821| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } +// 1822| DotApply( +// 1823| self = $1, +// 1824| method_name~, +// 1825| args = $6, +// 1826| return_self = true, +// 1827| attr = $4, +// 1828| loc = mk_loc($sloc) +// 1829| ) +// 1830| } ///| -fn yy_action_458( +fn yy_action_468( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_459(_args[2].2, _args[3:4]) + let _sub_action_0_result = yy_action_469(_args[2].2, _args[3:4]) guard _args[2].0 is YYObj_String(_dollar3) let _start_pos_of_item2 = _args[2].1 let _end_pos_of_item2 = _args[2].2 @@ -16821,24 +17444,24 @@ fn yy_action_458( } // file:///./parser.mbty -// 1786| simple_expr ".." LIDENT apply_attr "(" list_commas(argument) ")" { -// 1787| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } -// 1788| DotApply( -// 1789| self = $1, -// 1790| method_name~, -// 1791| args = $6, -// 1792| return_self = true, -// 1793| attr = $4, -// 1794| loc = mk_loc($sloc) -// 1795| ) -// 1796| } +// 1820| simple_expr ".." LIDENT apply_attr "(" list_commas(argument) ")" { +// 1821| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } +// 1822| DotApply( +// 1823| self = $1, +// 1824| method_name~, +// 1825| args = $6, +// 1826| return_self = true, +// 1827| attr = $4, +// 1828| loc = mk_loc($sloc) +// 1829| ) +// 1830| } ///| -fn yy_action_460( +fn yy_action_470( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_461(_args[2].2, _args[3:4]) + let _sub_action_0_result = yy_action_471(_args[2].2, _args[3:4]) guard _args[2].0 is YYObj_String(_dollar3) let _start_pos_of_item2 = _args[2].1 let _end_pos_of_item2 = _args[2].2 @@ -16871,10 +17494,10 @@ fn yy_action_460( } // file:///./parser.mbty -// 1616| "!" prefix_expr { make_unot(loc = mk_loc($sloc), $2) } +// 1650| "!" prefix_expr { make_unot(loc = mk_loc($sloc), $2) } ///| -fn yy_action_462( +fn yy_action_472( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16894,12 +17517,12 @@ fn yy_action_462( } // file:///./parser.mbty -// 1509| "_" "=>" expr_statement_no_break_continue_return { -// 1510| make_arrow_fn(@list.singleton((Unnamed(mk_loc($loc($1))), None)), $3, params_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) -// 1511| } +// 1543| "_" "=>" expr_statement_no_break_continue_return { +// 1544| make_arrow_fn(@list.singleton((Unnamed(mk_loc($loc($1))), None)), $3, params_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) +// 1545| } ///| -fn yy_action_463( +fn yy_action_473( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -16928,24 +17551,24 @@ fn yy_action_463( } // file:///./parser.mbty -// 1775| simple_expr DOT_LIDENT apply_attr "(" list_commas(argument) ")" { -// 1776| let method_name = Label::{ name: $2, loc: mk_loc($loc($2)) } -// 1777| DotApply( -// 1778| self = $1, -// 1779| method_name~, -// 1780| args = $5, -// 1781| return_self = false, -// 1782| attr = $3, -// 1783| loc = mk_loc($sloc) -// 1784| ) -// 1785| } +// 1809| simple_expr DOT_LIDENT apply_attr "(" list_commas(argument) ")" { +// 1810| let method_name = Label::{ name: $2, loc: mk_loc($loc($2)) } +// 1811| DotApply( +// 1812| self = $1, +// 1813| method_name~, +// 1814| args = $5, +// 1815| return_self = false, +// 1816| attr = $3, +// 1817| loc = mk_loc($sloc) +// 1818| ) +// 1819| } ///| -fn yy_action_464( +fn yy_action_474( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_457(_args[1].2, _args[2:2]) + let _sub_action_0_result = yy_action_467(_args[1].2, _args[2:2]) guard _args[1].0 is YYObj_String(_dollar2) let _start_pos_of_item1 = _args[1].1 let _end_pos_of_item1 = _args[1].2 @@ -16978,24 +17601,24 @@ fn yy_action_464( } // file:///./parser.mbty -// 1775| simple_expr DOT_LIDENT apply_attr "(" list_commas(argument) ")" { -// 1776| let method_name = Label::{ name: $2, loc: mk_loc($loc($2)) } -// 1777| DotApply( -// 1778| self = $1, -// 1779| method_name~, -// 1780| args = $5, -// 1781| return_self = false, -// 1782| attr = $3, -// 1783| loc = mk_loc($sloc) -// 1784| ) -// 1785| } +// 1809| simple_expr DOT_LIDENT apply_attr "(" list_commas(argument) ")" { +// 1810| let method_name = Label::{ name: $2, loc: mk_loc($loc($2)) } +// 1811| DotApply( +// 1812| self = $1, +// 1813| method_name~, +// 1814| args = $5, +// 1815| return_self = false, +// 1816| attr = $3, +// 1817| loc = mk_loc($sloc) +// 1818| ) +// 1819| } ///| -fn yy_action_465( +fn yy_action_475( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_459(_args[1].2, _args[2:3]) + let _sub_action_0_result = yy_action_469(_args[1].2, _args[2:3]) guard _args[1].0 is YYObj_String(_dollar2) let _start_pos_of_item1 = _args[1].1 let _end_pos_of_item1 = _args[1].2 @@ -17028,24 +17651,24 @@ fn yy_action_465( } // file:///./parser.mbty -// 1775| simple_expr DOT_LIDENT apply_attr "(" list_commas(argument) ")" { -// 1776| let method_name = Label::{ name: $2, loc: mk_loc($loc($2)) } -// 1777| DotApply( -// 1778| self = $1, -// 1779| method_name~, -// 1780| args = $5, -// 1781| return_self = false, -// 1782| attr = $3, -// 1783| loc = mk_loc($sloc) -// 1784| ) -// 1785| } +// 1809| simple_expr DOT_LIDENT apply_attr "(" list_commas(argument) ")" { +// 1810| let method_name = Label::{ name: $2, loc: mk_loc($loc($2)) } +// 1811| DotApply( +// 1812| self = $1, +// 1813| method_name~, +// 1814| args = $5, +// 1815| return_self = false, +// 1816| attr = $3, +// 1817| loc = mk_loc($sloc) +// 1818| ) +// 1819| } ///| -fn yy_action_466( +fn yy_action_476( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_461(_args[1].2, _args[2:3]) + let _sub_action_0_result = yy_action_471(_args[1].2, _args[2:3]) guard _args[1].0 is YYObj_String(_dollar2) let _start_pos_of_item1 = _args[1].1 let _end_pos_of_item1 = _args[1].2 @@ -17078,14 +17701,14 @@ fn yy_action_466( } // file:///./parser.mbty -// 1630| simple_expr accessor { Field($1, $2) } +// 1664| simple_expr accessor { Field($1, $2) } ///| -fn yy_action_467( +fn yy_action_477( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_468(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_478(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _sub_action_0_result is YYObj_Accessor(_dollar2) YYObj_LeftValue( @@ -17097,16 +17720,16 @@ fn yy_action_467( } // file:///./parser.mbty -// 1797| simple_expr accessor %prec prec_field { -// 1798| Field(record = $1, accessor = $2, loc = mk_loc($sloc)) -// 1799| } +// 1831| simple_expr accessor %prec prec_field { +// 1832| Field(record = $1, accessor = $2, loc = mk_loc($sloc)) +// 1833| } ///| -fn yy_action_469( +fn yy_action_479( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_468(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_478(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _sub_action_0_result is YYObj_Accessor(_dollar2) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) @@ -17128,16 +17751,16 @@ fn yy_action_469( } // file:///./parser.mbty -// 1813| DOT_LIDENT { -// 1814| if $1 == "_" { -// 1815| Newtype(loc = mk_loc($loc($1))) -// 1816| } else { -// 1817| Label(Label::{ name: $1, loc: mk_loc($sloc) }) -// 1818| } -// 1819| } +// 1847| DOT_LIDENT { +// 1848| if $1 == "_" { +// 1849| Newtype(loc = mk_loc($loc($1))) +// 1850| } else { +// 1851| Label(Label::{ name: $1, loc: mk_loc($sloc) }) +// 1852| } +// 1853| } ///| -fn yy_action_468( +fn yy_action_478( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17166,14 +17789,14 @@ fn yy_action_468( } // file:///./parser.mbty -// 1630| simple_expr accessor { Field($1, $2) } +// 1664| simple_expr accessor { Field($1, $2) } ///| -fn yy_action_470( +fn yy_action_480( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_471(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_481(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _sub_action_0_result is YYObj_Accessor(_dollar2) YYObj_LeftValue( @@ -17185,10 +17808,10 @@ fn yy_action_470( } // file:///./parser.mbty -// 1631| simple_expr "[" expr "]" { Array($1, $3) } +// 1665| simple_expr "[" expr "]" { Array($1, $3) } ///| -fn yy_action_472( +fn yy_action_482( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17203,12 +17826,12 @@ fn yy_action_472( } // file:///./parser.mbty -// 1763| simple_expr "[" expr "]" { -// 1764| ArrayGet(array = $1, index = $3, loc = mk_loc($sloc)) -// 1765| } +// 1797| simple_expr "[" expr "]" { +// 1798| ArrayGet(array = $1, index = $3, loc = mk_loc($sloc)) +// 1799| } ///| -fn yy_action_473( +fn yy_action_483( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17233,18 +17856,18 @@ fn yy_action_473( } // file:///./parser.mbty -// 1766| simple_expr "[" option(expr) ":" option(expr) "]" { -// 1767| ArrayGetSlice( -// 1768| array = $1, -// 1769| start_index = $3, -// 1770| end_index = $5, -// 1771| index_loc = mk_loc(($loc($2).0, $loc($6).1)), -// 1772| loc = mk_loc($sloc) -// 1773| ) -// 1774| } +// 1800| simple_expr "[" option(expr) ":" option(expr) "]" { +// 1801| ArrayGetSlice( +// 1802| array = $1, +// 1803| start_index = $3, +// 1804| end_index = $5, +// 1805| index_loc = mk_loc(($loc($2).0, $loc($6).1)), +// 1806| loc = mk_loc($sloc) +// 1807| ) +// 1808| } ///| -fn yy_action_474( +fn yy_action_484( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17281,16 +17904,16 @@ fn yy_action_474( } // file:///./parser.mbty -// 1760| simple_expr apply_attr "(" list_commas(argument) ")" { -// 1761| Apply(func = $1, args = $4, attr = $2, loc = mk_loc($sloc)) -// 1762| } +// 1794| simple_expr apply_attr "(" list_commas(argument) ")" { +// 1795| Apply(func = $1, args = $4, attr = $2, loc = mk_loc($sloc)) +// 1796| } ///| -fn yy_action_475( +fn yy_action_485( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_457(_args[0].2, _args[1:1]) + let _sub_action_0_result = yy_action_467(_args[0].2, _args[1:1]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_List_Argument_(_dollar4) guard _sub_action_0_result is YYObj_ApplyAttr(_dollar2) @@ -17314,10 +17937,10 @@ fn yy_action_475( } // file:///./parser.mbty -// 1659| { NoAttr } +// 1693| { NoAttr } ///| -fn yy_action_457( +fn yy_action_467( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17330,16 +17953,16 @@ fn yy_action_457( } // file:///./parser.mbty -// 1760| simple_expr apply_attr "(" list_commas(argument) ")" { -// 1761| Apply(func = $1, args = $4, attr = $2, loc = mk_loc($sloc)) -// 1762| } +// 1794| simple_expr apply_attr "(" list_commas(argument) ")" { +// 1795| Apply(func = $1, args = $4, attr = $2, loc = mk_loc($sloc)) +// 1796| } ///| -fn yy_action_476( +fn yy_action_486( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_459(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_469(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[3].0 is YYObj_List_Argument_(_dollar4) guard _sub_action_0_result is YYObj_ApplyAttr(_dollar2) @@ -17363,10 +17986,10 @@ fn yy_action_476( } // file:///./parser.mbty -// 1660| "!" { Exclamation } +// 1694| "!" { Exclamation } ///| -fn yy_action_459( +fn yy_action_469( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17379,15 +18002,15 @@ fn yy_action_459( } // file:///./parser.mbty -// 1934| LIDENT "?" { -// 1935| let loc = mk_loc($loc($1)) -// 1936| let label = Label::{ name: $1, loc } -// 1937| let arg_value = @syntax.make_ident_expr(loc~, Var::{ name: Ident(name = $1), loc }) -// 1938| Argument::{ value: arg_value, kind: LabelledOptionPun(label~, question_loc = mk_loc($loc($2))) } -// 1939| } +// 1968| LIDENT "?" { +// 1969| let loc = mk_loc($loc($1)) +// 1970| let label = Label::{ name: $1, loc } +// 1971| let arg_value = @syntax.make_ident_expr(loc~, Var::{ name: Ident(name = $1), loc }) +// 1972| Argument::{ value: arg_value, kind: LabelledOptionPun(label~, question_loc = mk_loc($loc($2))) } +// 1973| } ///| -fn yy_action_477( +fn yy_action_487( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17417,10 +18040,10 @@ fn yy_action_477( } // file:///./parser.mbty -// 1911| "?" { Some(mk_loc($sloc)) } +// 1945| "?" { Some(mk_loc($sloc)) } ///| -fn yy_action_478( +fn yy_action_488( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17439,20 +18062,20 @@ fn yy_action_478( } // file:///./parser.mbty -// 1916| label optional_question "=" expr { -// 1917| let arg_kind : ArgumentKind = match $2 { -// 1918| Some(question_loc) => LabelledOption(label = $1, question_loc~) -// 1919| None => Labelled($1) -// 1920| } -// 1921| Argument::{ value: $4, kind: arg_kind } -// 1922| } +// 1950| label optional_question "=" expr { +// 1951| let arg_kind : ArgumentKind = match $2 { +// 1952| Some(question_loc) => LabelledOption(label = $1, question_loc~) +// 1953| None => Labelled($1) +// 1954| } +// 1955| Argument::{ value: $4, kind: arg_kind } +// 1956| } ///| -fn yy_action_479( +fn yy_action_489( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_490(_last_pos, _args[0:1]) guard _args[1].0 is YYObj_Location_(_dollar2) guard _sub_action_0_result is YYObj_Label(_dollar1) guard _args[3].0 is YYObj_Expr(_dollar4) @@ -17469,10 +18092,10 @@ fn yy_action_479( } // file:///./parser.mbty -// 1912| { None } +// 1946| { None } ///| -fn yy_action_481( +fn yy_action_491( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17485,14 +18108,14 @@ fn yy_action_481( } // file:///./parser.mbty -// 1929| POST_LABEL "=" expr { -// 1930| let label = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 1931| let arg_value = $3 -// 1932| Argument::{ value: arg_value, kind: Labelled(label) } -// 1933| } +// 1963| POST_LABEL "=" expr { +// 1964| let label = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 1965| let arg_value = $3 +// 1966| Argument::{ value: arg_value, kind: Labelled(label) } +// 1967| } ///| -fn yy_action_482( +fn yy_action_492( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17514,14 +18137,14 @@ fn yy_action_482( } // file:///./parser.mbty -// 1924| POST_LABEL { -// 1925| let label = Label::{ name: $1, loc: mk_loc($loc($1)) } -// 1926| let arg_value = @syntax.make_ident_expr(loc = mk_loc($loc($1)), Var::{ name: Ident(name = $1), loc: mk_loc($loc($1)) }) -// 1927| Argument::{ value: arg_value, kind: LabelledPun(label) } -// 1928| } +// 1958| POST_LABEL { +// 1959| let label = Label::{ name: $1, loc: mk_loc($loc($1)) } +// 1960| let arg_value = @syntax.make_ident_expr(loc = mk_loc($loc($1)), Var::{ name: Ident(name = $1), loc: mk_loc($loc($1)) }) +// 1961| Argument::{ value: arg_value, kind: LabelledPun(label) } +// 1962| } ///| -fn yy_action_483( +fn yy_action_493( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17548,10 +18171,10 @@ fn yy_action_483( } // file:///./parser.mbty -// 1694| "(" binder ":" type_ ")" { Constraint(expr = @syntax.binder_to_expr($2), ty = $4, loc = mk_loc($sloc)) } +// 1728| "(" binder ":" type_ ")" { Constraint(expr = @syntax.binder_to_expr($2), ty = $4, loc = mk_loc($sloc)) } ///| -fn yy_action_484( +fn yy_action_494( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17577,12 +18200,12 @@ fn yy_action_484( } // file:///./parser.mbty -// 1500| "(" arrow_fn_prefix "=>" expr_statement_no_break_continue_return { -// 1501| make_arrow_fn($2, $4, params_loc = mk_loc($loc($1)).merge(mk_loc($loc($2))), loc = mk_loc($sloc)) -// 1502| } +// 1534| "(" arrow_fn_prefix "=>" expr_statement_no_break_continue_return { +// 1535| make_arrow_fn($2, $4, params_loc = mk_loc($loc($1)).merge(mk_loc($loc($2))), loc = mk_loc($sloc)) +// 1536| } ///| -fn yy_action_485( +fn yy_action_495( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17614,12 +18237,12 @@ fn yy_action_485( } // file:///./parser.mbty -// 1503| "(" ")" "=>" expr_statement_no_break_continue_return { -// 1504| make_arrow_fn(@list.empty(), $4, params_loc = mk_loc($loc($1)).merge(mk_loc($loc($2))),loc = mk_loc($sloc)) -// 1505| } +// 1537| "(" ")" "=>" expr_statement_no_break_continue_return { +// 1538| make_arrow_fn(@list.empty(), $4, params_loc = mk_loc($loc($1)).merge(mk_loc($loc($2))),loc = mk_loc($sloc)) +// 1539| } ///| -fn yy_action_486( +fn yy_action_496( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17650,15 +18273,15 @@ fn yy_action_486( } // file:///./parser.mbty -// 1526| binder ioption(",") ")" { @list.singleton(Named($1)) } +// 1560| binder ioption(",") ")" { @list.singleton(Named($1)) } ///| -fn yy_action_487( +fn yy_action_497( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_16(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_488(_args[0].2, _args[1:1]) + let _sub_action_1_result = yy_action_498(_args[0].2, _args[1:1]) guard _sub_action_0_result is YYObj_Binder(_dollar1) YYObj_List_ArrowFnParam_( { @@ -17669,15 +18292,15 @@ fn yy_action_487( } // file:///./parser.mbty -// 1526| binder ioption(",") ")" { @list.singleton(Named($1)) } +// 1560| binder ioption(",") ")" { @list.singleton(Named($1)) } ///| -fn yy_action_489( +fn yy_action_499( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_16(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_490(_args[0].2, _args[1:2]) + let _sub_action_1_result = yy_action_500(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Binder(_dollar1) YYObj_List_ArrowFnParam_( { @@ -17688,10 +18311,10 @@ fn yy_action_489( } // file:///./parser.mbty -// 1528| binder "," arrow_fn_prefix_no_constraint { $3.add(Named($1)) } +// 1562| binder "," arrow_fn_prefix_no_constraint { $3.add(Named($1)) } ///| -fn yy_action_491( +fn yy_action_501( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17707,10 +18330,10 @@ fn yy_action_491( } // file:///./parser.mbty -// 1670| binder "," non_empty_tuple_elems_with_prefix { $3.add(@syntax.binder_to_expr($1)) } +// 1704| binder "," non_empty_tuple_elems_with_prefix { $3.add(@syntax.binder_to_expr($1)) } ///| -fn yy_action_492( +fn yy_action_502( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17726,23 +18349,79 @@ fn yy_action_492( } // file:///./parser.mbty -// 1482| pipe_expr catch_keyword single_pattern_cases "}" { -// 1483| let (catch_all, catch_loc) = $2 -// 1484| Try( -// 1485| body = $1, -// 1486| catch_ = $3, -// 1487| catch_all~, -// 1488| try_else = None, -// 1489| has_try = false, -// 1490| try_loc = mk_loc($loc($1)), -// 1491| catch_loc~, -// 1492| else_loc = Location::{ start: Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 }, end: Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 } }, -// 1493| loc = mk_loc($sloc) -// 1494| ) -// 1495| } +// 1515| pipe_expr catch_keyword single_pattern_cases "}" else_keyword single_pattern_cases "}" { +// 1516| let (catch_all, catch_loc) = $2 +// 1517| let else_loc = $5 +// 1518| Try( +// 1519| body = $1, +// 1520| catch_ = $3, +// 1521| catch_all~, +// 1522| try_else = Some($6), +// 1523| has_try = false, +// 1524| try_loc = mk_loc($loc($1)), +// 1525| catch_loc~, +// 1526| else_loc~, +// 1527| loc = mk_loc($sloc) +// 1528| ) +// 1529| } ///| -fn yy_action_493( +fn yy_action_503( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + let _sub_action_0_result = yy_action_504(_args[3].2, _args[4:6]) + guard _args[1].0 is YYObj__Bool__Location_(_dollar2) + guard _sub_action_0_result is YYObj_Location(_dollar5) + guard _args[0].0 is YYObj_Expr(_dollar1) + guard _args[2].0 is YYObj_List_Case_(_dollar3) + guard _args[6].0 is YYObj_List_Case_(_dollar6) + let _start_pos_of_item0 = _args[0].1 + let _end_pos_of_item0 = _args[0].2 + let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) + let _end_pos = if _args.length() == 0 { + _last_pos + } else { + _args[_args.length() - 1].2 + } + YYObj_Expr( + { + () + let (catch_all, catch_loc) = _dollar2 + let else_loc = _dollar5 + Try( + body=_dollar1, + catch_=_dollar3, + catch_all~, + try_else=Some(_dollar6), + has_try=false, + try_loc=mk_loc((_start_pos_of_item0, _end_pos_of_item0)), + catch_loc~, + else_loc~, + loc=mk_loc((_symbol_start_pos, _end_pos)), + ) + }, + ) +} + +// file:///./parser.mbty +// 1501| pipe_expr catch_keyword single_pattern_cases "}" { +// 1502| let (catch_all, catch_loc) = $2 +// 1503| Try( +// 1504| body = $1, +// 1505| catch_ = $3, +// 1506| catch_all~, +// 1507| try_else = None, +// 1508| has_try = false, +// 1509| try_loc = mk_loc($loc($1)), +// 1510| catch_loc~, +// 1511| else_loc = Location::{ start: Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 }, end: Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 } }, +// 1512| loc = mk_loc($sloc) +// 1513| ) +// 1514| } + +///| +fn yy_action_505( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17780,10 +18459,10 @@ fn yy_action_493( } // file:///./parser.mbty -// 224| X option(SEMI) { @list.singleton($1) } +// 229| X option(SEMI) { @list.singleton($1) } ///| -fn yy_action_494( +fn yy_action_506( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17797,12 +18476,12 @@ fn yy_action_494( } // file:///./parser.mbty -// 1218| pattern option(preceded("if", infix_expr)) "=>" expr_statement { -// 1219| Case::{ pattern : $1, guard_ : $2, body : $4 } -// 1220| } +// 1227| pattern option(preceded("if", infix_expr)) "=>" expr_statement { +// 1228| Case::{ pattern : $1, guard_ : $2, body : $4 } +// 1229| } ///| -fn yy_action_495( +fn yy_action_507( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17818,12 +18497,12 @@ fn yy_action_495( } // file:///./parser.mbty -// 1323| lexmatch_header list_semis(lex_case) "}" { -// 1324| LexMatch(strategy=$1.1, expr=$1.0, match_loc=mk_loc($loc($1)), cases=$2, loc=mk_loc($sloc)) -// 1325| } +// 1332| lexmatch_header list_semis(lex_case) "}" { +// 1333| LexMatch(strategy=$1.1, expr=$1.0, match_loc=mk_loc($loc($1)), cases=$2, loc=mk_loc($sloc)) +// 1334| } ///| -fn yy_action_496( +fn yy_action_508( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17852,10 +18531,10 @@ fn yy_action_496( } // file:///./parser.mbty -// 235| non_empty_list_semis(X) { $1 } +// 240| non_empty_list_semis(X) { $1 } ///| -fn yy_action_497( +fn yy_action_509( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17869,13 +18548,45 @@ fn yy_action_497( } // file:///./parser.mbty -// 1186| "break" POST_LABEL option(expr) { -// 1187| let label = Label::{ name: $2, loc: mk_loc($loc($2)) } -// 1188| Break(arg = $3, label = Some(label), loc = mk_loc($sloc)) -// 1189| } +// 1345| lex_pattern "=>" expr_statement { +// 1346| LexCase::{ +// 1347| pat : $1, +// 1348| pat_loc : mk_loc($loc($1)), +// 1349| guard_ : None, +// 1350| body : $3 +// 1351| } +// 1352| } ///| -fn yy_action_498( +fn yy_action_510( + _last_pos : Position, + _args : ArrayView[(YYObj, Position, Position)], +) -> YYObj { + guard _args[0].0 is YYObj__list_List_LexTopPattern_(_dollar1) + let _start_pos_of_item0 = _args[0].1 + let _end_pos_of_item0 = _args[0].2 + guard _args[2].0 is YYObj_Expr(_dollar3) + YYObj_LexCase( + { + () + LexCase::{ + pat: _dollar1, + pat_loc: mk_loc((_start_pos_of_item0, _end_pos_of_item0)), + guard_: None, + body: _dollar3, + } + }, + ) +} + +// file:///./parser.mbty +// 1195| "break" POST_LABEL option(expr) { +// 1196| let label = Label::{ name: $2, loc: mk_loc($loc($2)) } +// 1197| Break(arg = $3, label = Some(label), loc = mk_loc($sloc)) +// 1198| } + +///| +fn yy_action_511( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17906,10 +18617,10 @@ fn yy_action_498( } // file:///./parser.mbty -// 1190| "break" option(expr) { Break(arg = $2, label = None, loc = mk_loc($sloc)) } +// 1199| "break" option(expr) { Break(arg = $2, label = None, loc = mk_loc($sloc)) } ///| -fn yy_action_499( +fn yy_action_512( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17929,13 +18640,13 @@ fn yy_action_499( } // file:///./parser.mbty -// 1191| "continue" POST_LABEL list_commas_no_trailing(expr) { -// 1192| let label = Label::{ name: $2, loc: mk_loc($loc($2)) } -// 1193| Continue(args = $3, label = Some(label), loc = mk_loc($sloc)) -// 1194| } +// 1200| "continue" POST_LABEL list_commas_no_trailing(expr) { +// 1201| let label = Label::{ name: $2, loc: mk_loc($loc($2)) } +// 1202| Continue(args = $3, label = Some(label), loc = mk_loc($sloc)) +// 1203| } ///| -fn yy_action_500( +fn yy_action_513( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17966,10 +18677,10 @@ fn yy_action_500( } // file:///./parser.mbty -// 1195| "continue" list_commas_no_trailing(expr) { Continue(args = $2, label = None, loc = mk_loc($sloc)) } +// 1204| "continue" list_commas_no_trailing(expr) { Continue(args = $2, label = None, loc = mk_loc($sloc)) } ///| -fn yy_action_501( +fn yy_action_514( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -17993,10 +18704,10 @@ fn yy_action_501( } // file:///./parser.mbty -// 196| non_empty_list_commas_no_trailing(X) { $1 } +// 201| non_empty_list_commas_no_trailing(X) { $1 } ///| -fn yy_action_502( +fn yy_action_515( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18010,10 +18721,10 @@ fn yy_action_502( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_503( +fn yy_action_516( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18028,10 +18739,10 @@ fn yy_action_503( } // file:///./parser.mbty -// 178| non_empty_list_commas_rev(X) { $1.rev() } +// 183| non_empty_list_commas_rev(X) { $1.rev() } ///| -fn yy_action_504( +fn yy_action_517( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18045,10 +18756,10 @@ fn yy_action_504( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_505( +fn yy_action_518( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18062,10 +18773,10 @@ fn yy_action_505( } // file:///./parser.mbty -// 195| { @list.empty() } +// 200| { @list.empty() } ///| -fn yy_action_506( +fn yy_action_519( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18078,10 +18789,10 @@ fn yy_action_506( } // file:///./parser.mbty -// 1196| "return" option(expr) { Return(return_value = $2, loc = mk_loc($sloc)) } +// 1205| "return" option(expr) { Return(return_value = $2, loc = mk_loc($sloc)) } ///| -fn yy_action_507( +fn yy_action_520( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18104,7 +18815,7 @@ fn yy_action_507( // 5| X { Some($1) } ///| -fn yy_action_508( +fn yy_action_521( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18121,7 +18832,7 @@ fn yy_action_508( // 4| { None } ///| -fn yy_action_509( +fn yy_action_522( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18134,10 +18845,10 @@ fn yy_action_509( } // file:///./parser.mbty -// 1197| expr_statement_no_break_continue_return { $1 } +// 1206| expr_statement_no_break_continue_return { $1 } ///| -fn yy_action_510( +fn yy_action_523( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18151,18 +18862,18 @@ fn yy_action_510( } // file:///./parser.mbty -// 1206| loop_label_colon "while" infix_expr block_expr optional_else { -// 1207| While( -// 1208| loop_cond = $3, -// 1209| loop_body = $4, -// 1210| while_else = $5, -// 1211| label = $1, -// 1212| loc = mk_loc($sloc) -// 1213| ) -// 1214| } +// 1215| loop_label_colon "while" infix_expr block_expr optional_else { +// 1216| While( +// 1217| loop_cond = $3, +// 1218| loop_body = $4, +// 1219| while_else = $5, +// 1220| label = $1, +// 1221| loc = mk_loc($sloc) +// 1222| ) +// 1223| } ///| -fn yy_action_511( +fn yy_action_524( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18191,22 +18902,22 @@ fn yy_action_511( } // file:///./parser.mbty -// 1397| loop_label_colon loop_header list_semis(single_pattern_case) "}" { -// 1398| Loop( -// 1399| arg = $2, -// 1400| body = $3, -// 1401| label = $1, -// 1402| loop_loc = mk_loc($loc($2)), -// 1403| loc = mk_loc($sloc) -// 1404| ) -// 1405| } +// 1416| loop_label_colon loop_header list_semis(single_pattern_case) "}" { +// 1417| Loop( +// 1418| arg = $2, +// 1419| body = $3, +// 1420| label = $1, +// 1421| loop_loc = mk_loc($loc($2)), +// 1422| loc = mk_loc($sloc) +// 1423| ) +// 1424| } ///| -fn yy_action_512( +fn yy_action_525( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_513(_args[0].2, _args[1:4]) + let _sub_action_0_result = yy_action_526(_args[0].2, _args[1:4]) guard _sub_action_0_result is YYObj_Expr(_dollar2) guard _args[4].0 is YYObj_List_Case_(_dollar3) guard _args[0].0 is YYObj_Label_(_dollar1) @@ -18233,10 +18944,10 @@ fn yy_action_512( } // file:///./parser.mbty -// 1319| "loop" infix_expr "{" { $2 } +// 1328| "loop" infix_expr "{" { $2 } ///| -fn yy_action_513( +fn yy_action_526( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18250,10 +18961,10 @@ fn yy_action_513( } // file:///./parser.mbty -// 1409| list_commas_no_trailing(separated_pair(binder, "=", expr)) { $1 } +// 1428| list_commas_no_trailing(separated_pair(binder, "=", expr)) { $1 } ///| -fn yy_action_514( +fn yy_action_527( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18267,21 +18978,21 @@ fn yy_action_514( } // file:///./parser.mbty -// 1424| loop_label_colon "for" for_binders SEMI option(infix_expr) SEMI list_commas_no_trailing(separated_pair(binder, "=", expr)) block_expr optional_else optional_where_clause { -// 1425| For( -// 1426| binders = $3, -// 1427| condition = $5, -// 1428| continue_block = $7, -// 1429| body = $8, -// 1430| for_else = $9, -// 1431| label = $1, -// 1432| loc = mk_loc($sloc), -// 1433| where_clause = $10 -// 1434| ) -// 1435| } +// 1443| loop_label_colon "for" for_binders SEMI option(infix_expr) SEMI list_commas_no_trailing(separated_pair(binder, "=", expr)) block_expr optional_else optional_where_clause { +// 1444| For( +// 1445| binders = $3, +// 1446| condition = $5, +// 1447| continue_block = $7, +// 1448| body = $8, +// 1449| for_else = $9, +// 1450| label = $1, +// 1451| loc = mk_loc($sloc), +// 1452| where_clause = $10 +// 1453| ) +// 1454| } ///| -fn yy_action_515( +fn yy_action_528( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18319,7 +19030,7 @@ fn yy_action_515( // 5| X { Some($1) } ///| -fn yy_action_516( +fn yy_action_529( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18336,7 +19047,7 @@ fn yy_action_516( // 4| { None } ///| -fn yy_action_517( +fn yy_action_530( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18349,12 +19060,12 @@ fn yy_action_517( } // file:///./parser.mbty -// 1418| "where" "{" list_commas(labeled_expr) "}" { -// 1419| Some({ fields : $3, loc : mk_loc($sloc) }) -// 1420| } +// 1437| "where" "{" list_commas(labeled_expr) "}" { +// 1438| Some({ fields : $3, loc : mk_loc($sloc) }) +// 1439| } ///| -fn yy_action_518( +fn yy_action_531( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18374,10 +19085,10 @@ fn yy_action_518( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_519( +fn yy_action_532( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18391,14 +19102,14 @@ fn yy_action_519( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_520( +fn yy_action_533( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_398(_args[1].2, _args[2:5]) + let _sub_action_0_result = yy_action_408(_args[1].2, _args[2:5]) guard _args[0].0 is YYObj_List_FieldDef_(_dollar1) guard _sub_action_0_result is YYObj_FieldDef(_dollar3) YYObj_List_FieldDef_( @@ -18410,10 +19121,10 @@ fn yy_action_520( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_521( +fn yy_action_534( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18427,14 +19138,14 @@ fn yy_action_521( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_522( +fn yy_action_535( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_398(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_408(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_FieldDef(_dollar1) YYObj_List_FieldDef_( { @@ -18445,10 +19156,10 @@ fn yy_action_522( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_523( +fn yy_action_536( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18461,21 +19172,21 @@ fn yy_action_523( } // file:///./parser.mbty -// 1436| loop_label_colon "for" for_binders block_expr optional_else optional_where_clause { -// 1437| For( -// 1438| binders = $3, -// 1439| condition = None, -// 1440| continue_block = @list.empty(), -// 1441| body = $4, -// 1442| for_else = $5, -// 1443| label = $1, -// 1444| loc = mk_loc($sloc), -// 1445| where_clause = $6 -// 1446| ) -// 1447| } +// 1455| loop_label_colon "for" for_binders block_expr optional_else optional_where_clause { +// 1456| For( +// 1457| binders = $3, +// 1458| condition = None, +// 1459| continue_block = @list.empty(), +// 1460| body = $4, +// 1461| for_else = $5, +// 1462| label = $1, +// 1463| loc = mk_loc($sloc), +// 1464| where_clause = $6 +// 1465| ) +// 1466| } ///| -fn yy_action_524( +fn yy_action_537( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18508,10 +19219,10 @@ fn yy_action_524( } // file:///./parser.mbty -// 1421| { None } +// 1440| { None } ///| -fn yy_action_525( +fn yy_action_538( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18524,10 +19235,10 @@ fn yy_action_525( } // file:///./parser.mbty -// 1413| "else" block_expr { Some($2) } +// 1432| "else" block_expr { Some($2) } ///| -fn yy_action_526( +fn yy_action_539( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18541,19 +19252,19 @@ fn yy_action_526( } // file:///./parser.mbty -// 1451| loop_label_colon "for" non_empty_list_commas(foreach_binder) "in" expr block_expr optional_else { -// 1452| ForEach( -// 1453| binders = $3, -// 1454| expr = $5, -// 1455| body = $6, -// 1456| else_block = $7, -// 1457| label = $1, -// 1458| loc = mk_loc($sloc) -// 1459| ) -// 1460| } +// 1470| loop_label_colon "for" non_empty_list_commas(foreach_binder) "in" expr block_expr optional_else { +// 1471| ForEach( +// 1472| binders = $3, +// 1473| expr = $5, +// 1474| body = $6, +// 1475| else_block = $7, +// 1476| label = $1, +// 1477| loc = mk_loc($sloc) +// 1478| ) +// 1479| } ///| -fn yy_action_527( +fn yy_action_540( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18584,10 +19295,10 @@ fn yy_action_527( } // file:///./parser.mbty -// 1414| { None } +// 1433| { None } ///| -fn yy_action_528( +fn yy_action_541( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18600,14 +19311,14 @@ fn yy_action_528( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_529( +fn yy_action_542( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_530(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_543(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj__Binder__Expr_(_dollar1) YYObj_List__Binder__Expr__( { @@ -18618,10 +19329,10 @@ fn yy_action_529( } // file:///./parser.mbty -// 196| non_empty_list_commas_no_trailing(X) { $1 } +// 201| non_empty_list_commas_no_trailing(X) { $1 } ///| -fn yy_action_531( +fn yy_action_544( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18635,10 +19346,10 @@ fn yy_action_531( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_532( +fn yy_action_545( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18652,10 +19363,10 @@ fn yy_action_532( } // file:///./parser.mbty -// 1464| binder { Some($1)} +// 1483| binder { Some($1)} ///| -fn yy_action_533( +fn yy_action_546( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18670,10 +19381,10 @@ fn yy_action_533( } // file:///./parser.mbty -// 1465| "_" { None } +// 1484| "_" { None } ///| -fn yy_action_534( +fn yy_action_547( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18686,10 +19397,10 @@ fn yy_action_534( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_535( +fn yy_action_548( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18704,10 +19415,10 @@ fn yy_action_535( } // file:///./parser.mbty -// 1075| LIDENT { Ident(name = $1) } +// 1084| LIDENT { Ident(name = $1) } ///| -fn yy_action_536( +fn yy_action_549( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18721,10 +19432,10 @@ fn yy_action_536( } // file:///./parser.mbty -// 1076| PACKAGE_NAME DOT_LIDENT { Dot(pkg = $1, id = $2) } +// 1085| PACKAGE_NAME DOT_LIDENT { Dot(pkg = $1, id = $2) } ///| -fn yy_action_537( +fn yy_action_550( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18739,10 +19450,10 @@ fn yy_action_537( } // file:///./parser.mbty -// 1178| "raise" expr { Raise(err_value = $2, loc = mk_loc($sloc)) } +// 1187| "raise" expr { Raise(err_value = $2, loc = mk_loc($sloc)) } ///| -fn yy_action_538( +fn yy_action_551( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18762,10 +19473,10 @@ fn yy_action_538( } // file:///./parser.mbty -// 1179| "..." { Hole(loc = mk_loc($sloc), kind = Todo) } +// 1188| "..." { Hole(loc = mk_loc($sloc), kind = Todo) } ///| -fn yy_action_539( +fn yy_action_552( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18784,14 +19495,14 @@ fn yy_action_539( } // file:///./parser.mbty -// 1180| augmented_assignment_expr { $1 } +// 1189| augmented_assignment_expr { $1 } ///| -fn yy_action_540( +fn yy_action_553( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_541(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_554(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_Expr(_dollar1) YYObj_Expr( { @@ -18802,21 +19513,21 @@ fn yy_action_540( } // file:///./parser.mbty -// 1167| left_value assignop expr { -// 1168| let loc = mk_loc($sloc) -// 1169| match $1 { -// 1170| Var(var_) => Assign(var_~, expr=$3, augmented_by=Some($2), loc~) -// 1171| Field(record, accessor) => Mutate(record~, accessor~, field=$3, augmented_by=Some($2), loc~) -// 1172| Array(array, index) => ArrayAugmentedSet(op=$2, array~, index~, value=$3, loc~) -// 1173| } -// 1174| } +// 1176| left_value assignop expr { +// 1177| let loc = mk_loc($sloc) +// 1178| match $1 { +// 1179| Var(var_) => Assign(var_~, expr=$3, augmented_by=Some($2), loc~) +// 1180| Field(record, accessor) => Mutate(record~, accessor~, field=$3, augmented_by=Some($2), loc~) +// 1181| Array(array, index) => ArrayAugmentedSet(op=$2, array~, index~, value=$3, loc~) +// 1182| } +// 1183| } ///| -fn yy_action_541( +fn yy_action_554( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_542(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_555(_args[0].2, _args[1:2]) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos @@ -18849,10 +19560,10 @@ fn yy_action_541( } // file:///./parser.mbty -// 1893| AUGMENTED_ASSIGNMENT { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } +// 1927| AUGMENTED_ASSIGNMENT { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } ///| -fn yy_action_542( +fn yy_action_555( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18875,14 +19586,14 @@ fn yy_action_542( } // file:///./parser.mbty -// 1181| assignment_expr { $1 } +// 1190| assignment_expr { $1 } ///| -fn yy_action_543( +fn yy_action_556( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_544(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_557(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_Expr(_dollar1) YYObj_Expr( { @@ -18893,17 +19604,17 @@ fn yy_action_543( } // file:///./parser.mbty -// 1156| left_value "=" expr { -// 1157| let loc = mk_loc($sloc) -// 1158| match $1 { -// 1159| Var(var_) => Assign(var_~, expr=$3, augmented_by=None, loc~) -// 1160| Field(record, accessor) => Mutate(record~, accessor~, field=$3, augmented_by=None, loc~) -// 1161| Array(array, index) => ArraySet(array~, index~, value=$3, loc~) -// 1162| } -// 1163| } +// 1165| left_value "=" expr { +// 1166| let loc = mk_loc($sloc) +// 1167| match $1 { +// 1168| Var(var_) => Assign(var_~, expr=$3, augmented_by=None, loc~) +// 1169| Field(record, accessor) => Mutate(record~, accessor~, field=$3, augmented_by=None, loc~) +// 1170| Array(array, index) => ArraySet(array~, index~, value=$3, loc~) +// 1171| } +// 1172| } ///| -fn yy_action_544( +fn yy_action_557( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18930,10 +19641,10 @@ fn yy_action_544( } // file:///./parser.mbty -// 1182| expr { $1 } +// 1191| expr { $1 } ///| -fn yy_action_545( +fn yy_action_558( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18947,12 +19658,12 @@ fn yy_action_545( } // file:///./parser.mbty -// 1506| binder "=>" expr_statement_no_break_continue_return { -// 1507| make_arrow_fn(@list.singleton((Named($1), None)), $3, params_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) -// 1508| } +// 1540| binder "=>" expr_statement_no_break_continue_return { +// 1541| make_arrow_fn(@list.singleton((Named($1), None)), $3, params_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) +// 1542| } ///| -fn yy_action_546( +fn yy_action_559( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -18981,10 +19692,10 @@ fn yy_action_546( } // file:///./parser.mbty -// 1201| POST_LABEL ":" { Some(Label::{ name : $1, loc : mk_loc($sloc) }) } +// 1210| POST_LABEL ":" { Some(Label::{ name : $1, loc : mk_loc($sloc) }) } ///| -fn yy_action_547( +fn yy_action_560( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19004,14 +19715,14 @@ fn yy_action_547( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_548( +fn yy_action_561( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_530(_args[1].2, _args[2:5]) + let _sub_action_0_result = yy_action_543(_args[1].2, _args[2:5]) guard _args[0].0 is YYObj_List__Binder__Expr__(_dollar1) guard _sub_action_0_result is YYObj__Binder__Expr_(_dollar3) YYObj_List__Binder__Expr__( @@ -19026,7 +19737,7 @@ fn yy_action_548( // 28| X SEP Y { ($1, $3) } ///| -fn yy_action_530( +fn yy_action_543( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19042,10 +19753,10 @@ fn yy_action_530( } // file:///./parser.mbty -// 178| non_empty_list_commas_rev(X) { $1.rev() } +// 183| non_empty_list_commas_rev(X) { $1.rev() } ///| -fn yy_action_549( +fn yy_action_562( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19059,10 +19770,10 @@ fn yy_action_549( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_550( +fn yy_action_563( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19076,10 +19787,10 @@ fn yy_action_550( } // file:///./parser.mbty -// 195| { @list.empty() } +// 200| { @list.empty() } ///| -fn yy_action_551( +fn yy_action_564( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19092,10 +19803,10 @@ fn yy_action_551( } // file:///./parser.mbty -// 1235| "catch" "{" { (false, mk_loc($sloc)) } +// 1244| "catch" "{" { (false, mk_loc($sloc)) } ///| -fn yy_action_552( +fn yy_action_565( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19114,10 +19825,10 @@ fn yy_action_552( } // file:///./parser.mbty -// 1236| "catch" "!" "{" { (true, mk_loc($sloc)) } +// 1245| "catch" "!" "{" { (true, mk_loc($sloc)) } ///| -fn yy_action_553( +fn yy_action_566( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19136,10 +19847,10 @@ fn yy_action_553( } // file:///./parser.mbty -// 1231| list_semis(single_pattern_case) { $1 } +// 1240| list_semis(single_pattern_case) { $1 } ///| -fn yy_action_554( +fn yy_action_567( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19153,28 +19864,28 @@ fn yy_action_554( } // file:///./parser.mbty -// 1258| "try" pipe_expr catch_keyword single_pattern_cases "}" else_keyword single_pattern_cases "}" { -// 1259| let (catch_all, catch_loc) = $3 -// 1260| let else_loc = $6 -// 1261| Try( -// 1262| body = $2, -// 1263| catch_ = $4, -// 1264| catch_all~, -// 1265| try_else = Some($7), -// 1266| has_try = true, -// 1267| try_loc = mk_loc($loc($1)), -// 1268| catch_loc~, -// 1269| else_loc~, -// 1270| loc = mk_loc($sloc) -// 1271| ) -// 1272| } +// 1267| "try" pipe_expr catch_keyword single_pattern_cases "}" else_keyword single_pattern_cases "}" { +// 1268| let (catch_all, catch_loc) = $3 +// 1269| let else_loc = $6 +// 1270| Try( +// 1271| body = $2, +// 1272| catch_ = $4, +// 1273| catch_all~, +// 1274| try_else = Some($7), +// 1275| has_try = true, +// 1276| try_loc = mk_loc($loc($1)), +// 1277| catch_loc~, +// 1278| else_loc~, +// 1279| loc = mk_loc($sloc) +// 1280| ) +// 1281| } ///| -fn yy_action_555( +fn yy_action_568( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_556(_args[4].2, _args[5:7]) + let _sub_action_0_result = yy_action_504(_args[4].2, _args[5:7]) guard _args[2].0 is YYObj__Bool__Location_(_dollar3) guard _sub_action_0_result is YYObj_Location(_dollar6) guard _args[1].0 is YYObj_Expr(_dollar2) @@ -19209,10 +19920,10 @@ fn yy_action_555( } // file:///./parser.mbty -// 1240| "noraise" "{" { mk_loc($sloc) } +// 1249| "noraise" "{" { mk_loc($sloc) } ///| -fn yy_action_556( +fn yy_action_504( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19231,23 +19942,23 @@ fn yy_action_556( } // file:///./parser.mbty -// 1244| "try" pipe_expr catch_keyword single_pattern_cases "}" { -// 1245| let (catch_all, catch_loc) = $3 -// 1246| Try( -// 1247| body = $2, -// 1248| catch_ = $4, -// 1249| catch_all~, -// 1250| try_else = None, -// 1251| has_try = true, -// 1252| try_loc = mk_loc($loc($1)), -// 1253| catch_loc~, -// 1254| else_loc = @basic.Location::{ start: @basic.Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 }, end: @basic.Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 } }, -// 1255| loc = mk_loc($sloc) -// 1256| ) -// 1257| } +// 1253| "try" pipe_expr catch_keyword single_pattern_cases "}" { +// 1254| let (catch_all, catch_loc) = $3 +// 1255| Try( +// 1256| body = $2, +// 1257| catch_ = $4, +// 1258| catch_all~, +// 1259| try_else = None, +// 1260| has_try = true, +// 1261| try_loc = mk_loc($loc($1)), +// 1262| catch_loc~, +// 1263| else_loc = @basic.Location::{ start: @basic.Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 }, end: @basic.Position::{ fname: "", lnum: 0, bol: 0, cnum: 0 } }, +// 1264| loc = mk_loc($sloc) +// 1265| ) +// 1266| } ///| -fn yy_action_557( +fn yy_action_569( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19285,10 +19996,10 @@ fn yy_action_557( } // file:///./parser.mbty -// 235| non_empty_list_semis(X) { $1 } +// 240| non_empty_list_semis(X) { $1 } ///| -fn yy_action_558( +fn yy_action_570( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19302,12 +20013,12 @@ fn yy_action_558( } // file:///./parser.mbty -// 1273| "try?" pipe_expr { -// 1274| TryOperator(body = $2, kind = Question, try_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) -// 1275| } +// 1282| "try?" pipe_expr { +// 1283| TryOperator(body = $2, kind = Question, try_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) +// 1284| } ///| -fn yy_action_559( +fn yy_action_571( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19334,12 +20045,12 @@ fn yy_action_559( } // file:///./parser.mbty -// 1276| "try!" pipe_expr { -// 1277| TryOperator(body = $2, kind = Exclamation, try_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) -// 1278| } +// 1285| "try!" pipe_expr { +// 1286| TryOperator(body = $2, kind = Exclamation, try_loc = mk_loc($loc($1)), loc = mk_loc($sloc)) +// 1287| } ///| -fn yy_action_560( +fn yy_action_572( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19366,12 +20077,12 @@ fn yy_action_560( } // file:///./parser.mbty -// 1282| "if" infix_expr block_expr "else" block_expr { -// 1283| If(cond = $2, ifso = $3, ifnot = Some($5), loc = mk_loc($sloc)) -// 1284| } +// 1291| "if" infix_expr block_expr "else" block_expr { +// 1292| If(cond = $2, ifso = $3, ifnot = Some($5), loc = mk_loc($sloc)) +// 1293| } ///| -fn yy_action_561( +fn yy_action_573( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19398,12 +20109,12 @@ fn yy_action_561( } // file:///./parser.mbty -// 1285| "if" infix_expr block_expr "else" if_expr { -// 1286| If(cond = $2, ifso = $3, ifnot = Some($5), loc = mk_loc($sloc)) -// 1287| } +// 1294| "if" infix_expr block_expr "else" if_expr { +// 1295| If(cond = $2, ifso = $3, ifnot = Some($5), loc = mk_loc($sloc)) +// 1296| } ///| -fn yy_action_562( +fn yy_action_574( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19430,12 +20141,12 @@ fn yy_action_562( } // file:///./parser.mbty -// 1288| "if" infix_expr block_expr { -// 1289| If(cond = $2, ifso = $3, ifnot = None, loc = mk_loc($sloc)) -// 1290| } +// 1297| "if" infix_expr block_expr { +// 1298| If(cond = $2, ifso = $3, ifnot = None, loc = mk_loc($sloc)) +// 1299| } ///| -fn yy_action_563( +fn yy_action_575( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19461,10 +20172,10 @@ fn yy_action_563( } // file:///./parser.mbty -// 1294| "match" infix_expr "{" { $2 } +// 1303| "match" infix_expr "{" { $2 } ///| -fn yy_action_564( +fn yy_action_576( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19478,18 +20189,18 @@ fn yy_action_564( } // file:///./parser.mbty -// 1298| match_header non_empty_list_semis(single_pattern_case) "}" { -// 1299| let expr = $1 -// 1300| Match( -// 1301| expr~, -// 1302| cases = $2, -// 1303| match_loc = mk_loc($loc($1)), -// 1304| loc = mk_loc($sloc) -// 1305| ) -// 1306| } +// 1307| match_header non_empty_list_semis(single_pattern_case) "}" { +// 1308| let expr = $1 +// 1309| Match( +// 1310| expr~, +// 1311| cases = $2, +// 1312| match_loc = mk_loc($loc($1)), +// 1313| loc = mk_loc($sloc) +// 1314| ) +// 1315| } ///| -fn yy_action_565( +fn yy_action_577( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19518,18 +20229,18 @@ fn yy_action_565( } // file:///./parser.mbty -// 1307| match_header "}" { -// 1308| let expr = $1 -// 1309| Match( -// 1310| expr~, -// 1311| cases = @list.empty(), -// 1312| match_loc = mk_loc($loc($1)), -// 1313| loc = mk_loc($sloc) -// 1314| ) -// 1315| } +// 1316| match_header "}" { +// 1317| let expr = $1 +// 1318| Match( +// 1319| expr~, +// 1320| cases = @list.empty(), +// 1321| match_loc = mk_loc($loc($1)), +// 1322| loc = mk_loc($sloc) +// 1323| ) +// 1324| } ///| -fn yy_action_566( +fn yy_action_578( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19557,16 +20268,17 @@ fn yy_action_566( } // file:///./parser.mbty -// 1336| lex_pattern "=>" expr_statement { -// 1337| LexCase::{ -// 1338| pat : $1, -// 1339| pat_loc : mk_loc($loc($1)), -// 1340| body : $3 -// 1341| } -// 1342| } +// 1353| lex_pattern "if" infix_expr "=>" expr_statement { +// 1354| LexCase::{ +// 1355| pat : $1, +// 1356| pat_loc : mk_loc($loc($1)), +// 1357| guard_ : Some($3), +// 1358| body : $5 +// 1359| } +// 1360| } ///| -fn yy_action_567( +fn yy_action_579( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19574,30 +20286,33 @@ fn yy_action_567( let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 guard _args[2].0 is YYObj_Expr(_dollar3) + guard _args[4].0 is YYObj_Expr(_dollar5) YYObj_LexCase( { () LexCase::{ pat: _dollar1, pat_loc: mk_loc((_start_pos_of_item0, _end_pos_of_item0)), - body: _dollar3, + guard_: Some(_dollar3), + body: _dollar5, } }, ) } // file:///./parser.mbty -// 1343| "..." { -// 1344| let pat = @list.singleton(LexTopPattern::Wildcard(loc = mk_loc($sloc))) -// 1345| LexCase::{ -// 1346| pat, -// 1347| pat_loc : mk_loc($sloc), -// 1348| body : Hole(loc=mk_loc($sloc), kind=Todo) -// 1349| } -// 1350| } +// 1361| "..." { +// 1362| let pat = @list.singleton(LexTopPattern::Wildcard(loc = mk_loc($sloc))) +// 1363| LexCase::{ +// 1364| pat, +// 1365| pat_loc : mk_loc($sloc), +// 1366| guard_ : None, +// 1367| body : Hole(loc=mk_loc($sloc), kind=Todo) +// 1368| } +// 1369| } ///| -fn yy_action_568( +fn yy_action_580( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19616,6 +20331,7 @@ fn yy_action_568( LexCase::{ pat, pat_loc: mk_loc((_symbol_start_pos, _end_pos)), + guard_: None, body: Hole(loc=mk_loc((_symbol_start_pos, _end_pos)), kind=Todo), } }, @@ -19623,10 +20339,10 @@ fn yy_action_568( } // file:///./parser.mbty -// 225| X SEMI non_empty_list_semis(X) { $3.add($1) } +// 230| X SEMI non_empty_list_semis(X) { $3.add($1) } ///| -fn yy_action_569( +fn yy_action_581( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19641,10 +20357,10 @@ fn yy_action_569( } // file:///./parser.mbty -// 224| X option(SEMI) { @list.singleton($1) } +// 229| X option(SEMI) { @list.singleton($1) } ///| -fn yy_action_570( +fn yy_action_582( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19658,10 +20374,10 @@ fn yy_action_570( } // file:///./parser.mbty -// 234| { @list.empty() } +// 239| { @list.empty() } ///| -fn yy_action_571( +fn yy_action_583( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19674,12 +20390,12 @@ fn yy_action_571( } // file:///./parser.mbty -// 1328| "lexmatch" infix_expr "{" { -// 1329| ($2, None) -// 1330| } +// 1337| "lexmatch" infix_expr "{" { +// 1338| ($2, None) +// 1339| } ///| -fn yy_action_572( +fn yy_action_584( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19693,16 +20409,16 @@ fn yy_action_572( } // file:///./parser.mbty -// 1331| "lexmatch" infix_expr "with" label "{" { -// 1332| ($2, Some($4)) -// 1333| } +// 1340| "lexmatch" infix_expr "with" label "{" { +// 1341| ($2, Some($4)) +// 1342| } ///| -fn yy_action_573( +fn yy_action_585( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_args[2].2, _args[3:4]) + let _sub_action_0_result = yy_action_490(_args[2].2, _args[3:4]) guard _args[1].0 is YYObj_Expr(_dollar2) guard _sub_action_0_result is YYObj_Label(_dollar4) YYObj__Expr__Label__( @@ -19714,10 +20430,10 @@ fn yy_action_573( } // file:///./parser.mbty -// 1469| loop_expr { $1 } +// 1488| loop_expr { $1 } ///| -fn yy_action_574( +fn yy_action_586( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19731,10 +20447,10 @@ fn yy_action_574( } // file:///./parser.mbty -// 1470| for_expr { $1 } +// 1489| for_expr { $1 } ///| -fn yy_action_575( +fn yy_action_587( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19748,10 +20464,10 @@ fn yy_action_575( } // file:///./parser.mbty -// 1471| foreach_expr { $1 } +// 1490| foreach_expr { $1 } ///| -fn yy_action_576( +fn yy_action_588( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19765,10 +20481,10 @@ fn yy_action_576( } // file:///./parser.mbty -// 1472| while_expr { $1 } +// 1491| while_expr { $1 } ///| -fn yy_action_577( +fn yy_action_589( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19782,10 +20498,10 @@ fn yy_action_577( } // file:///./parser.mbty -// 1473| try_expr { $1 } +// 1492| try_expr { $1 } ///| -fn yy_action_578( +fn yy_action_590( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19799,10 +20515,10 @@ fn yy_action_578( } // file:///./parser.mbty -// 1474| if_expr { $1 } +// 1493| if_expr { $1 } ///| -fn yy_action_579( +fn yy_action_591( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19816,10 +20532,10 @@ fn yy_action_579( } // file:///./parser.mbty -// 1475| match_expr { $1 } +// 1494| match_expr { $1 } ///| -fn yy_action_580( +fn yy_action_592( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19833,10 +20549,10 @@ fn yy_action_580( } // file:///./parser.mbty -// 1476| lexmatch_expr { $1 } +// 1495| lexmatch_expr { $1 } ///| -fn yy_action_581( +fn yy_action_593( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19850,10 +20566,10 @@ fn yy_action_581( } // file:///./parser.mbty -// 1477| simple_try_expr { $1 } +// 1496| simple_try_expr { $1 } ///| -fn yy_action_582( +fn yy_action_594( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19867,10 +20583,10 @@ fn yy_action_582( } // file:///./parser.mbty -// 1478| arrow_fn_expr { Function(func = $1, loc = mk_loc($sloc)) } +// 1497| arrow_fn_expr { Function(func = $1, loc = mk_loc($sloc)) } ///| -fn yy_action_583( +fn yy_action_595( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19893,11 +20609,11 @@ fn yy_action_583( // 5| X { Some($1) } ///| -fn yy_action_584( +fn yy_action_596( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_585(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_597(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_Expr(_dollar1) YYObj_Option_Expr_( { @@ -19911,7 +20627,7 @@ fn yy_action_584( // 32| L X { $2 } ///| -fn yy_action_585( +fn yy_action_597( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19928,7 +20644,7 @@ fn yy_action_585( // 4| { None } ///| -fn yy_action_586( +fn yy_action_598( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19941,16 +20657,16 @@ fn yy_action_586( } // file:///./parser.mbty -// 1221| "..." { -// 1222| Case::{ -// 1223| pattern : Pattern::Any(loc = mk_loc($sloc)), -// 1224| guard_ : None, -// 1225| body : Hole(loc = mk_loc($sloc), kind = Todo) -// 1226| } -// 1227| } +// 1230| "..." { +// 1231| Case::{ +// 1232| pattern : Pattern::Any(loc = mk_loc($sloc)), +// 1233| guard_ : None, +// 1234| body : Hole(loc = mk_loc($sloc), kind = Todo) +// 1235| } +// 1236| } ///| -fn yy_action_587( +fn yy_action_599( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19973,10 +20689,10 @@ fn yy_action_587( } // file:///./parser.mbty -// 225| X SEMI non_empty_list_semis(X) { $3.add($1) } +// 230| X SEMI non_empty_list_semis(X) { $3.add($1) } ///| -fn yy_action_588( +fn yy_action_600( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -19991,10 +20707,10 @@ fn yy_action_588( } // file:///./parser.mbty -// 234| { @list.empty() } +// 239| { @list.empty() } ///| -fn yy_action_589( +fn yy_action_601( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20007,16 +20723,16 @@ fn yy_action_589( } // file:///./parser.mbty -// 1536| pipe_expr "|>" binder "=>" block_expr { -// 1537| let params_loc = mk_loc($loc($3)) -// 1538| let fn_loc = mk_loc($loc($3)).merge(mk_loc($loc($5))) -// 1539| let func = make_arrow_fn(@list.singleton((Named($3), None)), $5, params_loc~, loc = fn_loc) -// 1540| let rhs = Expr::Function(func~, loc = fn_loc) -// 1541| Pipe(lhs = $1, rhs~, loc = mk_loc($sloc)) -// 1542| } +// 1570| pipe_expr "|>" binder "=>" block_expr { +// 1571| let params_loc = mk_loc($loc($3)) +// 1572| let fn_loc = mk_loc($loc($3)).merge(mk_loc($loc($5))) +// 1573| let func = make_arrow_fn(@list.singleton((Named($3), None)), $5, params_loc~, loc = fn_loc) +// 1574| let rhs = Expr::Function(func~, loc = fn_loc) +// 1575| Pipe(lhs = $1, rhs~, loc = mk_loc($sloc)) +// 1576| } ///| -fn yy_action_590( +fn yy_action_602( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20054,12 +20770,12 @@ fn yy_action_590( } // file:///./parser.mbty -// 1533| pipe_expr "|>" infix_expr { -// 1534| Pipe(lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1535| } +// 1567| pipe_expr "|>" infix_expr { +// 1568| Pipe(lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1569| } ///| -fn yy_action_591( +fn yy_action_603( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20084,10 +20800,10 @@ fn yy_action_591( } // file:///./parser.mbty -// 1496| pipe_expr { $1 } +// 1530| pipe_expr { $1 } ///| -fn yy_action_592( +fn yy_action_604( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20101,14 +20817,14 @@ fn yy_action_592( } // file:///./parser.mbty -// 1527| "_" ioption(",") ")" { @list.singleton(Unnamed(mk_loc($loc($1)))) } +// 1561| "_" ioption(",") ")" { @list.singleton(Unnamed(mk_loc($loc($1)))) } ///| -fn yy_action_593( +fn yy_action_605( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_488(_args[0].2, _args[1:1]) + let _sub_action_0_result = yy_action_498(_args[0].2, _args[1:1]) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 YYObj_List_ArrowFnParam_( @@ -20120,14 +20836,14 @@ fn yy_action_593( } // file:///./parser.mbty -// 1527| "_" ioption(",") ")" { @list.singleton(Unnamed(mk_loc($loc($1)))) } +// 1561| "_" ioption(",") ")" { @list.singleton(Unnamed(mk_loc($loc($1)))) } ///| -fn yy_action_594( +fn yy_action_606( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_490(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_500(_args[0].2, _args[1:2]) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 YYObj_List_ArrowFnParam_( @@ -20139,10 +20855,10 @@ fn yy_action_594( } // file:///./parser.mbty -// 1529| "_" "," arrow_fn_prefix_no_constraint { $3.add(Unnamed(mk_loc($loc($1)))) } +// 1563| "_" "," arrow_fn_prefix_no_constraint { $3.add(Unnamed(mk_loc($loc($1)))) } ///| -fn yy_action_595( +fn yy_action_607( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20158,10 +20874,10 @@ fn yy_action_595( } // file:///./parser.mbty -// 1671| "_" "," non_empty_tuple_elems_with_prefix { $3.add(Expr::Hole(loc = mk_loc($loc($1)), kind = Incomplete)) } +// 1705| "_" "," non_empty_tuple_elems_with_prefix { $3.add(Expr::Hole(loc = mk_loc($loc($1)), kind = Incomplete)) } ///| -fn yy_action_596( +fn yy_action_608( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20182,10 +20898,10 @@ fn yy_action_596( } // file:///./parser.mbty -// 1695| "(" "_" ":" type_ ")" { Constraint(expr = Hole(loc = mk_loc($loc($2)), kind = Incomplete), ty = $4, loc = mk_loc($sloc)) } +// 1729| "(" "_" ":" type_ ")" { Constraint(expr = Hole(loc = mk_loc($loc($2)), kind = Incomplete), ty = $4, loc = mk_loc($sloc)) } ///| -fn yy_action_597( +fn yy_action_609( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20214,14 +20930,14 @@ fn yy_action_597( } // file:///./parser.mbty -// 1516| "_" ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), None)) } +// 1550| "_" ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), None)) } ///| -fn yy_action_598( +fn yy_action_610( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_488(_args[0].2, _args[1:1]) + let _sub_action_0_result = yy_action_498(_args[0].2, _args[1:1]) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 YYObj_List__ArrowFnParam__Type___( @@ -20235,15 +20951,15 @@ fn yy_action_598( } // file:///./parser.mbty -// 1515| binder ioption(",") ")" { @list.singleton((Named($1), None)) } +// 1549| binder ioption(",") ")" { @list.singleton((Named($1), None)) } ///| -fn yy_action_599( +fn yy_action_611( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_16(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_488(_args[0].2, _args[1:1]) + let _sub_action_1_result = yy_action_498(_args[0].2, _args[1:1]) guard _sub_action_0_result is YYObj_Binder(_dollar1) YYObj_List__ArrowFnParam__Type___( { @@ -20254,15 +20970,15 @@ fn yy_action_599( } // file:///./parser.mbty -// 1515| binder ioption(",") ")" { @list.singleton((Named($1), None)) } +// 1549| binder ioption(",") ")" { @list.singleton((Named($1), None)) } ///| -fn yy_action_600( +fn yy_action_612( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_16(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_490(_args[0].2, _args[1:2]) + let _sub_action_1_result = yy_action_500(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Binder(_dollar1) YYObj_List__ArrowFnParam__Type___( { @@ -20273,10 +20989,10 @@ fn yy_action_600( } // file:///./parser.mbty -// 1519| binder "," arrow_fn_prefix { $3.add((Named($1), None)) } +// 1553| binder "," arrow_fn_prefix { $3.add((Named($1), None)) } ///| -fn yy_action_601( +fn yy_action_613( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20292,15 +21008,15 @@ fn yy_action_601( } // file:///./parser.mbty -// 1517| binder ":" type_ ioption(",") ")" { @list.singleton((Named($1), Some($3))) } +// 1551| binder ":" type_ ioption(",") ")" { @list.singleton((Named($1), Some($3))) } ///| -fn yy_action_602( +fn yy_action_614( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_16(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_488(_args[2].2, _args[3:3]) + let _sub_action_1_result = yy_action_498(_args[2].2, _args[3:3]) guard _sub_action_0_result is YYObj_Binder(_dollar1) guard _args[2].0 is YYObj_Type(_dollar3) YYObj_List__ArrowFnParam__Type___( @@ -20312,15 +21028,15 @@ fn yy_action_602( } // file:///./parser.mbty -// 1517| binder ":" type_ ioption(",") ")" { @list.singleton((Named($1), Some($3))) } +// 1551| binder ":" type_ ioption(",") ")" { @list.singleton((Named($1), Some($3))) } ///| -fn yy_action_603( +fn yy_action_615( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_16(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_490(_args[2].2, _args[3:4]) + let _sub_action_1_result = yy_action_500(_args[2].2, _args[3:4]) guard _sub_action_0_result is YYObj_Binder(_dollar1) guard _args[2].0 is YYObj_Type(_dollar3) YYObj_List__ArrowFnParam__Type___( @@ -20332,10 +21048,10 @@ fn yy_action_603( } // file:///./parser.mbty -// 1521| binder ":" type_ "," arrow_fn_prefix { $5.add((Named($1), Some($3))) } +// 1555| binder ":" type_ "," arrow_fn_prefix { $5.add((Named($1), Some($3))) } ///| -fn yy_action_604( +fn yy_action_616( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20352,14 +21068,14 @@ fn yy_action_604( } // file:///./parser.mbty -// 1516| "_" ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), None)) } +// 1550| "_" ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), None)) } ///| -fn yy_action_605( +fn yy_action_617( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_490(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_500(_args[0].2, _args[1:2]) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 YYObj_List__ArrowFnParam__Type___( @@ -20373,10 +21089,10 @@ fn yy_action_605( } // file:///./parser.mbty -// 1520| "_" "," arrow_fn_prefix { $3.add((Unnamed(mk_loc($loc($1))), None)) } +// 1554| "_" "," arrow_fn_prefix { $3.add((Unnamed(mk_loc($loc($1))), None)) } ///| -fn yy_action_606( +fn yy_action_618( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20394,14 +21110,14 @@ fn yy_action_606( } // file:///./parser.mbty -// 1518| "_" ":" type_ ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), Some($3))) } +// 1552| "_" ":" type_ ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), Some($3))) } ///| -fn yy_action_607( +fn yy_action_619( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_488(_args[2].2, _args[3:3]) + let _sub_action_0_result = yy_action_498(_args[2].2, _args[3:3]) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 guard _args[2].0 is YYObj_Type(_dollar3) @@ -20419,14 +21135,14 @@ fn yy_action_607( } // file:///./parser.mbty -// 1518| "_" ":" type_ ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), Some($3))) } +// 1552| "_" ":" type_ ioption(",") ")" { @list.singleton((Unnamed(mk_loc($loc($1))), Some($3))) } ///| -fn yy_action_608( +fn yy_action_620( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_490(_args[2].2, _args[3:4]) + let _sub_action_0_result = yy_action_500(_args[2].2, _args[3:4]) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 guard _args[2].0 is YYObj_Type(_dollar3) @@ -20444,10 +21160,10 @@ fn yy_action_608( } // file:///./parser.mbty -// 1522| "_" ":" type_ "," arrow_fn_prefix { $5.add((Unnamed(mk_loc($loc($1))), Some($3))) } +// 1556| "_" ":" type_ "," arrow_fn_prefix { $5.add((Unnamed(mk_loc($loc($1))), Some($3))) } ///| -fn yy_action_609( +fn yy_action_621( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20469,16 +21185,16 @@ fn yy_action_609( } // file:///./parser.mbty -// 1760| simple_expr apply_attr "(" list_commas(argument) ")" { -// 1761| Apply(func = $1, args = $4, attr = $2, loc = mk_loc($sloc)) -// 1762| } +// 1794| simple_expr apply_attr "(" list_commas(argument) ")" { +// 1795| Apply(func = $1, args = $4, attr = $2, loc = mk_loc($sloc)) +// 1796| } ///| -fn yy_action_610( +fn yy_action_622( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_461(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_471(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[3].0 is YYObj_List_Argument_(_dollar4) guard _sub_action_0_result is YYObj_ApplyAttr(_dollar2) @@ -20502,10 +21218,10 @@ fn yy_action_610( } // file:///./parser.mbty -// 1661| "?" { Question } +// 1695| "?" { Question } ///| -fn yy_action_461( +fn yy_action_471( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20518,14 +21234,14 @@ fn yy_action_461( } // file:///./parser.mbty -// 1629| var { Var($1) } +// 1663| var { Var($1) } ///| -fn yy_action_611( +fn yy_action_623( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_612(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_624(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_Var(_dollar1) YYObj_LeftValue( { @@ -20536,10 +21252,10 @@ fn yy_action_611( } // file:///./parser.mbty -// 1846| qual_ident { Var::{ name: $1, loc: mk_loc($sloc) } } +// 1880| qual_ident { Var::{ name: $1, loc: mk_loc($sloc) } } ///| -fn yy_action_612( +fn yy_action_624( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20559,16 +21275,16 @@ fn yy_action_612( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_613( +fn yy_action_625( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_614(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_626(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20592,10 +21308,10 @@ fn yy_action_613( } // file:///./parser.mbty -// 1897| INFIX4 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } +// 1931| INFIX4 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } ///| -fn yy_action_614( +fn yy_action_626( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20618,16 +21334,16 @@ fn yy_action_614( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_615( +fn yy_action_627( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_616(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_628(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20651,10 +21367,10 @@ fn yy_action_615( } // file:///./parser.mbty -// 1898| INFIX3 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } +// 1932| INFIX3 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } ///| -fn yy_action_616( +fn yy_action_628( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20677,16 +21393,16 @@ fn yy_action_616( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_617( +fn yy_action_629( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_618(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_630(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20710,10 +21426,10 @@ fn yy_action_617( } // file:///./parser.mbty -// 1899| INFIX2 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } +// 1933| INFIX2 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } ///| -fn yy_action_618( +fn yy_action_630( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20736,16 +21452,16 @@ fn yy_action_618( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_619( +fn yy_action_631( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_620(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_632(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20769,10 +21485,10 @@ fn yy_action_619( } // file:///./parser.mbty -// 1900| INFIX1 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } +// 1934| INFIX1 { Var::{ name: Ident(name = $1), loc: mk_loc($sloc) } } ///| -fn yy_action_620( +fn yy_action_632( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20795,16 +21511,16 @@ fn yy_action_620( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_621( +fn yy_action_633( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_622(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_634(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20828,10 +21544,10 @@ fn yy_action_621( } // file:///./parser.mbty -// 1901| PLUS { Var::{ name: Ident(name = "+"), loc: mk_loc($sloc) } } +// 1935| PLUS { Var::{ name: Ident(name = "+"), loc: mk_loc($sloc) } } ///| -fn yy_action_622( +fn yy_action_634( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20850,16 +21566,16 @@ fn yy_action_622( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_623( +fn yy_action_635( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_624(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_636(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20883,10 +21599,10 @@ fn yy_action_623( } // file:///./parser.mbty -// 1902| MINUS { Var::{ name: Ident(name = "-"), loc: mk_loc($sloc) } } +// 1936| MINUS { Var::{ name: Ident(name = "-"), loc: mk_loc($sloc) } } ///| -fn yy_action_624( +fn yy_action_636( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20905,16 +21621,16 @@ fn yy_action_624( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_625( +fn yy_action_637( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_626(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_638(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20938,10 +21654,10 @@ fn yy_action_625( } // file:///./parser.mbty -// 1903| AMPER { Var::{ name: Ident(name = "&"), loc: mk_loc($sloc) } } +// 1937| AMPER { Var::{ name: Ident(name = "&"), loc: mk_loc($sloc) } } ///| -fn yy_action_626( +fn yy_action_638( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -20960,16 +21676,16 @@ fn yy_action_626( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_627( +fn yy_action_639( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_628(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_640(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -20993,10 +21709,10 @@ fn yy_action_627( } // file:///./parser.mbty -// 1904| CARET { Var::{ name: Ident(name = "^"), loc: mk_loc($sloc) } } +// 1938| CARET { Var::{ name: Ident(name = "^"), loc: mk_loc($sloc) } } ///| -fn yy_action_628( +fn yy_action_640( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21015,16 +21731,16 @@ fn yy_action_628( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_629( +fn yy_action_641( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_630(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_642(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -21048,10 +21764,10 @@ fn yy_action_629( } // file:///./parser.mbty -// 1905| BAR { Var::{ name: Ident(name = "|"), loc: mk_loc($sloc) } } +// 1939| BAR { Var::{ name: Ident(name = "|"), loc: mk_loc($sloc) } } ///| -fn yy_action_630( +fn yy_action_642( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21070,16 +21786,16 @@ fn yy_action_630( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_631( +fn yy_action_643( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_632(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_644(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -21103,10 +21819,10 @@ fn yy_action_631( } // file:///./parser.mbty -// 1906| AMPERAMPER { Var::{ name: Ident(name = "&&"), loc: mk_loc($sloc) } } +// 1940| AMPERAMPER { Var::{ name: Ident(name = "&&"), loc: mk_loc($sloc) } } ///| -fn yy_action_632( +fn yy_action_644( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21128,16 +21844,16 @@ fn yy_action_632( } // file:///./parser.mbty -// 1547| infix_expr infixop infix_expr { -// 1548| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) -// 1549| } +// 1581| infix_expr infixop infix_expr { +// 1582| Infix(op = $2, lhs = $1, rhs = $3, loc = mk_loc($sloc)) +// 1583| } ///| -fn yy_action_633( +fn yy_action_645( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_634(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_646(_args[0].2, _args[1:2]) guard _sub_action_0_result is YYObj_Var(_dollar2) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj_Expr(_dollar3) @@ -21161,10 +21877,10 @@ fn yy_action_633( } // file:///./parser.mbty -// 1907| BARBAR { Var::{ name: Ident(name = "||"), loc: mk_loc($sloc) } } +// 1941| BARBAR { Var::{ name: Ident(name = "||"), loc: mk_loc($sloc) } } ///| -fn yy_action_634( +fn yy_action_646( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21186,10 +21902,10 @@ fn yy_action_634( } // file:///./parser.mbty -// 1543| infix_expr { $1 } +// 1577| infix_expr { $1 } ///| -fn yy_action_635( +fn yy_action_647( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21203,10 +21919,10 @@ fn yy_action_635( } // file:///./parser.mbty -// 1550| postfix_expr { $1 } +// 1584| postfix_expr { $1 } ///| -fn yy_action_636( +fn yy_action_648( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21220,12 +21936,12 @@ fn yy_action_636( } // file:///./parser.mbty -// 1554| range_expr "as" type_name { -// 1555| As(expr = $1, trait_ = $3, loc = mk_loc($sloc)) -// 1556| } +// 1588| range_expr "as" type_name { +// 1589| As(expr = $1, trait_ = $3, loc = mk_loc($sloc)) +// 1590| } ///| -fn yy_action_637( +fn yy_action_649( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21250,12 +21966,12 @@ fn yy_action_637( } // file:///./parser.mbty -// 1557| range_expr "is" range_pattern { -// 1558| Is(expr = $1, pat = $3, loc = mk_loc($sloc)) -// 1559| } +// 1591| range_expr "is" range_pattern { +// 1592| Is(expr = $1, pat = $3, loc = mk_loc($sloc)) +// 1593| } ///| -fn yy_action_638( +fn yy_action_650( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21276,10 +21992,10 @@ fn yy_action_638( } // file:///./parser.mbty -// 2005| "{" "}" { Record(fields = @list.empty(), is_closed = true, loc = mk_loc($sloc)) } +// 2039| "{" "}" { Record(fields = @list.empty(), is_closed = true, loc = mk_loc($sloc)) } ///| -fn yy_action_639( +fn yy_action_651( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21302,10 +22018,10 @@ fn yy_action_639( } // file:///./parser.mbty -// 2006| "{" ".." option(",") "}" { Record(fields = @list.empty(), is_closed = false, loc = mk_loc($sloc)) } +// 2040| "{" ".." option(",") "}" { Record(fields = @list.empty(), is_closed = false, loc = mk_loc($sloc)) } ///| -fn yy_action_640( +fn yy_action_652( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21328,13 +22044,13 @@ fn yy_action_640( } // file:///./parser.mbty -// 2007| "{" non_empty_fields_pat "}" { -// 2008| let (fields, is_closed) = $2 -// 2009| Record(fields~, is_closed~, loc = mk_loc($sloc)) -// 2010| } +// 2041| "{" non_empty_fields_pat "}" { +// 2042| let (fields, is_closed) = $2 +// 2043| Record(fields~, is_closed~, loc = mk_loc($sloc)) +// 2044| } ///| -fn yy_action_641( +fn yy_action_653( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21355,13 +22071,13 @@ fn yy_action_641( } // file:///./parser.mbty -// 2011| "{" non_empty_map_elems_pat "}" { -// 2012| let (elems, is_closed) = $2 -// 2013| Map(elems~, is_closed~, loc = mk_loc($sloc)) -// 2014| } +// 2045| "{" non_empty_map_elems_pat "}" { +// 2046| let (elems, is_closed) = $2 +// 2047| Map(elems~, is_closed~, loc = mk_loc($sloc)) +// 2048| } ///| -fn yy_action_642( +fn yy_action_654( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21382,10 +22098,10 @@ fn yy_action_642( } // file:///./parser.mbty -// 2209| non_empty_list_commas(fields_pat_single) { ($1, true) } +// 2277| non_empty_list_commas(fields_pat_single) { ($1, true) } ///| -fn yy_action_643( +fn yy_action_655( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21399,10 +22115,10 @@ fn yy_action_643( } // file:///./parser.mbty -// 2210| non_empty_list_commas_with_tail(fields_pat_single) ".." option(",") { ($1, false) } +// 2278| non_empty_list_commas_with_tail(fields_pat_single) ".." option(",") { ($1, false) } ///| -fn yy_action_644( +fn yy_action_656( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21416,10 +22132,10 @@ fn yy_action_644( } // file:///./parser.mbty -// 2227| non_empty_list_commas(map_elem_pat) { ($1, true) } +// 2295| non_empty_list_commas(map_elem_pat) { ($1, true) } ///| -fn yy_action_645( +fn yy_action_657( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21433,10 +22149,10 @@ fn yy_action_645( } // file:///./parser.mbty -// 2228| non_empty_list_commas_with_tail(map_elem_pat) ".." option(",") { ($1, false) } +// 2296| non_empty_list_commas_with_tail(map_elem_pat) ".." option(",") { ($1, false) } ///| -fn yy_action_646( +fn yy_action_658( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21450,14 +22166,14 @@ fn yy_action_646( } // file:///./parser.mbty -// 2214| fpat_labeled_pattern { $1 } +// 2282| fpat_labeled_pattern { $1 } ///| -fn yy_action_647( +fn yy_action_659( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_648(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_660(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_FieldPat(_dollar1) YYObj_FieldPat( { @@ -21468,14 +22184,14 @@ fn yy_action_647( } // file:///./parser.mbty -// 2219| label ":" pattern { @syntax.make_field_pat(loc = mk_loc($sloc), $1, $3, false) } +// 2287| label ":" pattern { @syntax.make_field_pat(loc = mk_loc($sloc), $1, $3, false) } ///| -fn yy_action_648( +fn yy_action_660( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_490(_last_pos, _args[0:1]) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos @@ -21498,14 +22214,14 @@ fn yy_action_648( } // file:///./parser.mbty -// 2215| fpat_label_pun { $1 } +// 2283| fpat_label_pun { $1 } ///| -fn yy_action_649( +fn yy_action_661( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_650(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_662(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_FieldPat(_dollar1) YYObj_FieldPat( { @@ -21516,14 +22232,14 @@ fn yy_action_649( } // file:///./parser.mbty -// 2223| label { @syntax.make_field_pat(loc = mk_loc($sloc), $1, @syntax.label_to_pat(loc = mk_loc($sloc), $1), true) } +// 2291| label { @syntax.make_field_pat(loc = mk_loc($sloc), $1, @syntax.label_to_pat(loc = mk_loc($sloc), $1), true) } ///| -fn yy_action_650( +fn yy_action_662( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_490(_last_pos, _args[0:1]) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos @@ -21548,10 +22264,10 @@ fn yy_action_650( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_651( +fn yy_action_663( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21566,10 +22282,10 @@ fn yy_action_651( } // file:///./parser.mbty -// 186| non_empty_list_commas_rev(X) "," { $1.rev() } +// 191| non_empty_list_commas_rev(X) "," { $1.rev() } ///| -fn yy_action_652( +fn yy_action_664( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21583,10 +22299,10 @@ fn yy_action_652( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_653( +fn yy_action_665( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21600,10 +22316,10 @@ fn yy_action_653( } // file:///./parser.mbty -// 1882| simple_constant { $1 } +// 1916| simple_constant { $1 } ///| -fn yy_action_654( +fn yy_action_666( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21617,10 +22333,10 @@ fn yy_action_654( } // file:///./parser.mbty -// 1883| MINUS INT { make_int("-" + $2) } +// 1917| MINUS INT { make_int("-" + $2) } ///| -fn yy_action_655( +fn yy_action_667( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21634,10 +22350,10 @@ fn yy_action_655( } // file:///./parser.mbty -// 1884| MINUS DOUBLE { make_double("-" + $2) } +// 1918| MINUS DOUBLE { make_double("-" + $2) } ///| -fn yy_action_656( +fn yy_action_668( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21651,10 +22367,10 @@ fn yy_action_656( } // file:///./parser.mbty -// 1885| MINUS FLOAT { make_float("-" + $2) } +// 1919| MINUS FLOAT { make_float("-" + $2) } ///| -fn yy_action_657( +fn yy_action_669( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21668,14 +22384,14 @@ fn yy_action_657( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_658( +fn yy_action_670( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_659(_args[1].2, _args[2:6]) + let _sub_action_0_result = yy_action_671(_args[1].2, _args[2:6]) guard _args[0].0 is YYObj_List_MapPatElem_(_dollar1) guard _sub_action_0_result is YYObj_MapPatElem(_dollar3) YYObj_List_MapPatElem_( @@ -21687,10 +22403,10 @@ fn yy_action_658( } // file:///./parser.mbty -// 186| non_empty_list_commas_rev(X) "," { $1.rev() } +// 191| non_empty_list_commas_rev(X) "," { $1.rev() } ///| -fn yy_action_660( +fn yy_action_672( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21704,10 +22420,10 @@ fn yy_action_660( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_661( +fn yy_action_673( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21721,10 +22437,10 @@ fn yy_action_661( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_662( +fn yy_action_674( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21741,7 +22457,7 @@ fn yy_action_662( // 5| X { Some($1) } ///| -fn yy_action_663( +fn yy_action_675( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21755,14 +22471,14 @@ fn yy_action_663( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_664( +fn yy_action_676( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_659(_last_pos, _args[0:4]) + let _sub_action_0_result = yy_action_671(_last_pos, _args[0:4]) guard _sub_action_0_result is YYObj_MapPatElem(_dollar1) YYObj_List_MapPatElem_( { @@ -21773,18 +22489,18 @@ fn yy_action_664( } // file:///./parser.mbty -// 2232| map_syntax_key option("?") ":" pattern { -// 2233| MapPatElem::{ -// 2234| key: $1, -// 2235| pat: $4, -// 2236| match_absent: $2 is Some(_), -// 2237| key_loc: mk_loc($loc($1)), -// 2238| loc: mk_loc($sloc) -// 2239| } -// 2240| } +// 2300| map_syntax_key option("?") ":" pattern { +// 2301| MapPatElem::{ +// 2302| key: $1, +// 2303| pat: $4, +// 2304| match_absent: $2 is Some(_), +// 2305| key_loc: mk_loc($loc($1)), +// 2306| loc: mk_loc($sloc) +// 2307| } +// 2308| } ///| -fn yy_action_659( +fn yy_action_671( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21814,10 +22530,10 @@ fn yy_action_659( } // file:///./parser.mbty -// 2004| "[" array_sub_patterns "]" { Array(pats = $2, loc = mk_loc($sloc)) } +// 2038| "[" array_sub_patterns "]" { Array(pats = $2, loc = mk_loc($sloc)) } ///| -fn yy_action_665( +fn yy_action_677( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21837,10 +22553,10 @@ fn yy_action_665( } // file:///./parser.mbty -// 2032| ".." binder { Binder($2) } +// 2066| ".." binder { Binder($2) } ///| -fn yy_action_666( +fn yy_action_678( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21855,10 +22571,10 @@ fn yy_action_666( } // file:///./parser.mbty -// 2033| ".." "_" { Underscore } +// 2067| ".." "_" { Underscore } ///| -fn yy_action_667( +fn yy_action_679( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21871,10 +22587,10 @@ fn yy_action_667( } // file:///./parser.mbty -// 2034| ".." "as" binder { BinderAs($3) } +// 2068| ".." "as" binder { BinderAs($3) } ///| -fn yy_action_668( +fn yy_action_680( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21889,10 +22605,10 @@ fn yy_action_668( } // file:///./parser.mbty -// 2035| ".." { NoBinder } +// 2069| ".." { NoBinder } ///| -fn yy_action_669( +fn yy_action_681( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21905,15 +22621,15 @@ fn yy_action_669( } // file:///./parser.mbty -// 2041| array_sub_pattern "," array_sub_patterns { -// 2042| match $3 { -// 2043| Closed(ps) => Closed(ps.add($1)) -// 2044| Open(ps1, ps2, b) => Open(ps1.add($1), ps2, b) -// 2045| } -// 2046| } +// 2075| array_sub_pattern "," array_sub_patterns { +// 2076| match $3 { +// 2077| Closed(ps) => Closed(ps.add($1)) +// 2078| Open(ps1, ps2, b) => Open(ps1.add($1), ps2, b) +// 2079| } +// 2080| } ///| -fn yy_action_670( +fn yy_action_682( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21931,10 +22647,10 @@ fn yy_action_670( } // file:///./parser.mbty -// 2040| array_sub_pattern { Closed(@list.singleton($1)) } +// 2074| array_sub_pattern { Closed(@list.singleton($1)) } ///| -fn yy_action_671( +fn yy_action_683( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21948,10 +22664,10 @@ fn yy_action_671( } // file:///./parser.mbty -// 2047| dotdot_binder "," non_empty_list_commas(array_sub_pattern) { Open(@list.empty(), $3, $1) } +// 2081| dotdot_binder "," non_empty_list_commas(array_sub_pattern) { Open(@list.empty(), $3, $1) } ///| -fn yy_action_672( +fn yy_action_684( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21966,10 +22682,10 @@ fn yy_action_672( } // file:///./parser.mbty -// 2018| pattern { Pattern($1) } +// 2052| pattern { Pattern($1) } ///| -fn yy_action_673( +fn yy_action_685( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -21983,10 +22699,10 @@ fn yy_action_673( } // file:///./parser.mbty -// 2001| "(" pattern ")" { $2 } +// 2035| "(" pattern ")" { $2 } ///| -fn yy_action_674( +fn yy_action_686( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22000,10 +22716,10 @@ fn yy_action_674( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_675( +fn yy_action_687( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22017,10 +22733,10 @@ fn yy_action_675( } // file:///./parser.mbty -// 2002| "(" pattern "," non_empty_list_commas(pattern) ")" { @syntax.make_tuple_pattern(loc = mk_loc($sloc), $4.add($2)) } +// 2036| "(" pattern "," non_empty_list_commas(pattern) ")" { @syntax.make_tuple_pattern(loc = mk_loc($sloc), $4.add($2)) } ///| -fn yy_action_676( +fn yy_action_688( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22044,10 +22760,10 @@ fn yy_action_676( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_677( +fn yy_action_689( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22061,10 +22777,10 @@ fn yy_action_677( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_678( +fn yy_action_690( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22079,14 +22795,14 @@ fn yy_action_678( } // file:///./parser.mbty -// 2003| "(" pattern annot ")" { Constraint(pat = $2, ty = $3, loc = mk_loc($sloc)) } +// 2037| "(" pattern annot ")" { Constraint(pat = $2, ty = $3, loc = mk_loc($sloc)) } ///| -fn yy_action_679( +fn yy_action_691( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_454(_args[1].2, _args[2:4]) + let _sub_action_0_result = yy_action_464(_args[1].2, _args[2:4]) guard _args[1].0 is YYObj_Pattern(_dollar2) guard _sub_action_0_result is YYObj_Type(_dollar3) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) @@ -22108,10 +22824,10 @@ fn yy_action_679( } // file:///./parser.mbty -// 243| ":" type_ { $2 } +// 248| ":" type_ { $2 } ///| -fn yy_action_454( +fn yy_action_464( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22125,16 +22841,16 @@ fn yy_action_454( } // file:///./parser.mbty -// 1989| constr option(delimited("(", constr_pat_arguments, ")")) { -// 1990| let (args, is_open) = match $2 { -// 1991| None => (None, false) -// 1992| Some((args, is_open)) => (Some(args), is_open) -// 1993| } -// 1994| @syntax.make_constr_pattern(loc = mk_loc($sloc), $1, args, is_open) -// 1995| } +// 2023| constr option(delimited("(", constr_pat_arguments, ")")) { +// 2024| let (args, is_open) = match $2 { +// 2025| None => (None, false) +// 2026| Some((args, is_open)) => (Some(args), is_open) +// 2027| } +// 2028| @syntax.make_constr_pattern(loc = mk_loc($sloc), $1, args, is_open) +// 2029| } ///| -fn yy_action_680( +fn yy_action_692( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22164,10 +22880,10 @@ fn yy_action_680( } // file:///./parser.mbty -// 2244| constr_pat_argument option(",") { (@list.singleton($1), false) } +// 2312| constr_pat_argument option(",") { (@list.singleton($1), false) } ///| -fn yy_action_681( +fn yy_action_693( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22181,19 +22897,19 @@ fn yy_action_681( } // file:///./parser.mbty -// 2258| label "=" pattern { -// 2259| ConstrPatArg::{ -// 2260| pat: $3, -// 2261| kind: Labelled($1) -// 2262| } -// 2263| } +// 2326| label "=" pattern { +// 2327| ConstrPatArg::{ +// 2328| pat: $3, +// 2329| kind: Labelled($1) +// 2330| } +// 2331| } ///| -fn yy_action_682( +fn yy_action_694( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_490(_last_pos, _args[0:1]) guard _args[2].0 is YYObj_Pattern(_dollar3) guard _sub_action_0_result is YYObj_Label(_dollar1) YYObj_ConstrPatArg( @@ -22205,17 +22921,17 @@ fn yy_action_682( } // file:///./parser.mbty -// 1998| binder delimited("(", constr_pat_arguments_no_open, ")") { -// 1999| Pattern::SpecialConstr(binder = $1, args = $2, loc = mk_loc($sloc)) -// 2000| } +// 2032| binder delimited("(", constr_pat_arguments_no_open, ")") { +// 2033| Pattern::SpecialConstr(binder = $1, args = $2, loc = mk_loc($sloc)) +// 2034| } ///| -fn yy_action_683( +fn yy_action_695( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_16(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_684(_args[0].2, _args[1:4]) + let _sub_action_1_result = yy_action_696(_args[0].2, _args[1:4]) guard _sub_action_0_result is YYObj_Binder(_dollar1) guard _sub_action_1_result is YYObj_List_ConstrPatArg_(_dollar2) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) @@ -22240,7 +22956,7 @@ fn yy_action_683( // 40| L X R { $2 } ///| -fn yy_action_684( +fn yy_action_696( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22254,10 +22970,10 @@ fn yy_action_684( } // file:///./parser.mbty -// 2253| constr_pat_argument option(",") { @list.singleton($1) } +// 2321| constr_pat_argument option(",") { @list.singleton($1) } ///| -fn yy_action_685( +fn yy_action_697( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22271,10 +22987,10 @@ fn yy_action_685( } // file:///./parser.mbty -// 1959| pattern "as" binder { @syntax.make_alias_pattern(loc = mk_loc($sloc), $1, $3) } +// 1993| pattern "as" binder { @syntax.make_alias_pattern(loc = mk_loc($sloc), $1, $3) } ///| -fn yy_action_686( +fn yy_action_698( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22300,15 +23016,15 @@ fn yy_action_686( } // file:///./parser.mbty -// 2273| pattern { -// 2274| ConstrPatArg::{ -// 2275| pat: $1, -// 2276| kind: Positional -// 2277| } -// 2278| } +// 2341| pattern { +// 2342| ConstrPatArg::{ +// 2343| pat: $1, +// 2344| kind: Positional +// 2345| } +// 2346| } ///| -fn yy_action_687( +fn yy_action_699( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22322,10 +23038,10 @@ fn yy_action_687( } // file:///./parser.mbty -// 1960| or_pattern { $1 } +// 1994| or_pattern { $1 } ///| -fn yy_action_688( +fn yy_action_700( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22339,10 +23055,10 @@ fn yy_action_688( } // file:///./parser.mbty -// 1964| range_pattern "|" or_pattern { Or(pat1 = $1, pat2 = $3, loc = mk_loc($sloc)) } +// 1998| range_pattern "|" or_pattern { Or(pat1 = $1, pat2 = $3, loc = mk_loc($sloc)) } ///| -fn yy_action_689( +fn yy_action_701( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22367,10 +23083,10 @@ fn yy_action_689( } // file:///./parser.mbty -// 1965| range_pattern { $1 } +// 1999| range_pattern { $1 } ///| -fn yy_action_690( +fn yy_action_702( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22384,10 +23100,10 @@ fn yy_action_690( } // file:///./parser.mbty -// 1969| simple_pattern "..<" simple_pattern { Range(lhs = $1, rhs = $3, kind=Exclusive, loc = mk_loc($sloc)) } +// 2003| simple_pattern "..<" simple_pattern { Range(lhs = $1, rhs = $3, kind=Exclusive, loc = mk_loc($sloc)) } ///| -fn yy_action_691( +fn yy_action_703( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22413,16 +23129,16 @@ fn yy_action_691( } // file:///./parser.mbty -// 1649| type_name "::" UIDENT { -// 1650| Constructor::{ -// 1651| name: ConstrName::{ name: $3, loc: mk_loc($loc($3)) }, -// 1652| extra_info: TypeName($1), -// 1653| loc: mk_loc($sloc) -// 1654| } -// 1655| } +// 1683| type_name "::" UIDENT { +// 1684| Constructor::{ +// 1685| name: ConstrName::{ name: $3, loc: mk_loc($loc($3)) }, +// 1686| extra_info: TypeName($1), +// 1687| loc: mk_loc($sloc) +// 1688| } +// 1689| } ///| -fn yy_action_692( +fn yy_action_704( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22452,10 +23168,10 @@ fn yy_action_692( } // file:///./parser.mbty -// 1970| simple_pattern "..=" simple_pattern { Range(lhs = $1, rhs = $3, kind=Inclusive, loc = mk_loc($sloc)) } +// 2004| simple_pattern "..=" simple_pattern { Range(lhs = $1, rhs = $3, kind=Inclusive, loc = mk_loc($sloc)) } ///| -fn yy_action_693( +fn yy_action_705( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22481,10 +23197,10 @@ fn yy_action_693( } // file:///./parser.mbty -// 1971| simple_pattern { $1 } +// 2005| simple_pattern { $1 } ///| -fn yy_action_694( +fn yy_action_706( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22498,10 +23214,10 @@ fn yy_action_694( } // file:///./parser.mbty -// 1975| TRUE { @syntax.make_constant_pattern(loc = mk_loc($sloc), Bool(true)) } +// 2009| TRUE { @syntax.make_constant_pattern(loc = mk_loc($sloc), Bool(true)) } ///| -fn yy_action_695( +fn yy_action_707( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22523,10 +23239,10 @@ fn yy_action_695( } // file:///./parser.mbty -// 1976| FALSE { @syntax.make_constant_pattern(loc = mk_loc($sloc), Bool(false)) } +// 2010| FALSE { @syntax.make_constant_pattern(loc = mk_loc($sloc), Bool(false)) } ///| -fn yy_action_696( +fn yy_action_708( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22548,10 +23264,10 @@ fn yy_action_696( } // file:///./parser.mbty -// 1977| CHAR { @syntax.make_constant_pattern(loc = mk_loc($sloc), Char($1)) } +// 2011| CHAR { @syntax.make_constant_pattern(loc = mk_loc($sloc), Char($1)) } ///| -fn yy_action_697( +fn yy_action_709( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22574,10 +23290,10 @@ fn yy_action_697( } // file:///./parser.mbty -// 1978| INT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_int($1)) } +// 2012| INT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_int($1)) } ///| -fn yy_action_698( +fn yy_action_710( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22600,10 +23316,10 @@ fn yy_action_698( } // file:///./parser.mbty -// 1979| BYTE { @syntax.make_constant_pattern(loc = mk_loc($sloc), Byte($1)) } +// 2013| BYTE { @syntax.make_constant_pattern(loc = mk_loc($sloc), Byte($1)) } ///| -fn yy_action_699( +fn yy_action_711( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22626,10 +23342,10 @@ fn yy_action_699( } // file:///./parser.mbty -// 1980| DOUBLE { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_double($1)) } +// 2014| DOUBLE { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_double($1)) } ///| -fn yy_action_700( +fn yy_action_712( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22652,10 +23368,10 @@ fn yy_action_700( } // file:///./parser.mbty -// 1981| FLOAT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_float($1)) } +// 2015| FLOAT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_float($1)) } ///| -fn yy_action_701( +fn yy_action_713( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22678,10 +23394,10 @@ fn yy_action_701( } // file:///./parser.mbty -// 1982| "-" INT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_int("-" + $2)) } +// 2016| "-" INT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_int("-" + $2)) } ///| -fn yy_action_702( +fn yy_action_714( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22704,10 +23420,10 @@ fn yy_action_702( } // file:///./parser.mbty -// 1983| "-" DOUBLE { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_double("-" + $2)) } +// 2017| "-" DOUBLE { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_double("-" + $2)) } ///| -fn yy_action_703( +fn yy_action_715( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22730,10 +23446,10 @@ fn yy_action_703( } // file:///./parser.mbty -// 1984| "-" FLOAT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_float("-" + $2)) } +// 2018| "-" FLOAT { @syntax.make_constant_pattern(loc = mk_loc($sloc), @syntax.make_float("-" + $2)) } ///| -fn yy_action_704( +fn yy_action_716( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22756,10 +23472,10 @@ fn yy_action_704( } // file:///./parser.mbty -// 1985| STRING { @syntax.make_constant_pattern(loc = mk_loc($sloc), String($1)) } +// 2019| STRING { @syntax.make_constant_pattern(loc = mk_loc($sloc), String($1)) } ///| -fn yy_action_705( +fn yy_action_717( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22782,10 +23498,10 @@ fn yy_action_705( } // file:///./parser.mbty -// 1986| BYTES { @syntax.make_constant_pattern(loc = mk_loc($sloc), Bytes($1)) } +// 2020| BYTES { @syntax.make_constant_pattern(loc = mk_loc($sloc), Bytes($1)) } ///| -fn yy_action_706( +fn yy_action_718( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22808,10 +23524,10 @@ fn yy_action_706( } // file:///./parser.mbty -// 1987| UNDERSCORE { Any(loc = mk_loc($sloc)) } +// 2021| UNDERSCORE { Any(loc = mk_loc($sloc)) } ///| -fn yy_action_707( +fn yy_action_719( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22830,10 +23546,10 @@ fn yy_action_707( } // file:///./parser.mbty -// 2254| constr_pat_argument "," constr_pat_arguments_no_open { $3.add($1) } +// 2322| constr_pat_argument "," constr_pat_arguments_no_open { $3.add($1) } ///| -fn yy_action_708( +fn yy_action_720( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22848,10 +23564,10 @@ fn yy_action_708( } // file:///./parser.mbty -// 1988| binder { Var($1) } +// 2022| binder { Var($1) } ///| -fn yy_action_709( +fn yy_action_721( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22866,13 +23582,13 @@ fn yy_action_709( } // file:///./parser.mbty -// 2246| constr_pat_argument "," constr_pat_arguments { -// 2247| let (args, is_open) = $3 -// 2248| (args.add($1), is_open) -// 2249| } +// 2314| constr_pat_argument "," constr_pat_arguments { +// 2315| let (args, is_open) = $3 +// 2316| (args.add($1), is_open) +// 2317| } ///| -fn yy_action_710( +fn yy_action_722( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22888,10 +23604,10 @@ fn yy_action_710( } // file:///./parser.mbty -// 2245| ".." option(",") { (@list.empty(), true) } +// 2313| ".." option(",") { (@list.empty(), true) } ///| -fn yy_action_711( +fn yy_action_723( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22904,18 +23620,18 @@ fn yy_action_711( } // file:///./parser.mbty -// 2264| POST_LABEL { -// 2265| let loc = mk_loc($loc($1)) -// 2266| let label = Label::{ name: $1, loc } -// 2267| let pat = @syntax.label_to_pat(loc = loc.trim_last_char(), label) -// 2268| ConstrPatArg::{ -// 2269| pat, -// 2270| kind: LabelledPun(label) -// 2271| } -// 2272| } +// 2332| POST_LABEL { +// 2333| let loc = mk_loc($loc($1)) +// 2334| let label = Label::{ name: $1, loc } +// 2335| let pat = @syntax.label_to_pat(loc = loc.trim_last_char(), label) +// 2336| ConstrPatArg::{ +// 2337| pat, +// 2338| kind: LabelledPun(label) +// 2339| } +// 2340| } ///| -fn yy_action_712( +fn yy_action_724( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22937,11 +23653,11 @@ fn yy_action_712( // 5| X { Some($1) } ///| -fn yy_action_713( +fn yy_action_725( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_714(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_726(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj__List_ConstrPatArg___Bool_(_dollar1) YYObj_Option__List_ConstrPatArg___Bool__( { @@ -22955,7 +23671,7 @@ fn yy_action_713( // 40| L X R { $2 } ///| -fn yy_action_714( +fn yy_action_726( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22972,7 +23688,7 @@ fn yy_action_714( // 4| { None } ///| -fn yy_action_715( +fn yy_action_727( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -22985,10 +23701,10 @@ fn yy_action_715( } // file:///./parser.mbty -// 2019| ".." STRING { StringSpread(str = $2, loc = mk_loc($loc($2))) } +// 2053| ".." STRING { StringSpread(str = $2, loc = mk_loc($loc($2))) } ///| -fn yy_action_716( +fn yy_action_728( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23007,10 +23723,10 @@ fn yy_action_716( } // file:///./parser.mbty -// 2020| ".." BYTES { BytesSpread(bytes = $2, loc = mk_loc($loc($2))) } +// 2054| ".." BYTES { BytesSpread(bytes = $2, loc = mk_loc($loc($2))) } ///| -fn yy_action_717( +fn yy_action_729( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23029,13 +23745,13 @@ fn yy_action_717( } // file:///./parser.mbty -// 2021| ".." UIDENT { -// 2022| let binder = Binder::{ name: $2, loc: mk_loc($loc($2)) } -// 2023| ConstSpread(binder~, pkg = None, loc = mk_loc($sloc)) -// 2024| } +// 2055| ".." UIDENT { +// 2056| let binder = Binder::{ name: $2, loc: mk_loc($loc($2)) } +// 2057| ConstSpread(binder~, pkg = None, loc = mk_loc($sloc)) +// 2058| } ///| -fn yy_action_718( +fn yy_action_730( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23061,13 +23777,13 @@ fn yy_action_718( } // file:///./parser.mbty -// 2025| ".." PACKAGE_NAME DOT_UIDENT { -// 2026| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } -// 2027| ConstSpread(binder~, pkg = Some($2), loc = mk_loc($sloc)) -// 2028| } +// 2059| ".." PACKAGE_NAME DOT_UIDENT { +// 2060| let binder = Binder::{ name: $3, loc: mk_loc($loc($3)) } +// 2061| ConstSpread(binder~, pkg = Some($2), loc = mk_loc($sloc)) +// 2062| } ///| -fn yy_action_719( +fn yy_action_731( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23098,10 +23814,10 @@ fn yy_action_719( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_720( +fn yy_action_732( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23116,10 +23832,10 @@ fn yy_action_720( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_721( +fn yy_action_733( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23133,10 +23849,10 @@ fn yy_action_721( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_722( +fn yy_action_734( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23150,14 +23866,14 @@ fn yy_action_722( } // file:///./parser.mbty -// 2048| dotdot_binder ioption(",") { Open(@list.empty(), @list.empty(), $1) } +// 2082| dotdot_binder ioption(",") { Open(@list.empty(), @list.empty(), $1) } ///| -fn yy_action_723( +fn yy_action_735( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_490(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_500(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_DotDotBinder(_dollar1) YYObj_ArrayPatterns( { @@ -23168,14 +23884,14 @@ fn yy_action_723( } // file:///./parser.mbty -// 2048| dotdot_binder ioption(",") { Open(@list.empty(), @list.empty(), $1) } +// 2082| dotdot_binder ioption(",") { Open(@list.empty(), @list.empty(), $1) } ///| -fn yy_action_724( +fn yy_action_736( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_488(_args[0].2, _args[1:1]) + let _sub_action_0_result = yy_action_498(_args[0].2, _args[1:1]) guard _args[0].0 is YYObj_DotDotBinder(_dollar1) YYObj_ArrayPatterns( { @@ -23186,10 +23902,10 @@ fn yy_action_724( } // file:///./parser.mbty -// 2039| { Closed(@list.empty()) } +// 2073| { Closed(@list.empty()) } ///| -fn yy_action_725( +fn yy_action_737( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23205,7 +23921,7 @@ fn yy_action_725( // 4| { None } ///| -fn yy_action_726( +fn yy_action_738( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23218,10 +23934,10 @@ fn yy_action_726( } // file:///./parser.mbty -// 1353| "(" separated_nonempty_list(",", lex_top_pattern) ")" { $2 } +// 1372| "(" separated_nonempty_list(",", lex_top_pattern) ")" { $2 } ///| -fn yy_action_727( +fn yy_action_739( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23235,10 +23951,10 @@ fn yy_action_727( } // file:///./parser.mbty -// 1359| lex_as_pattern { Pattern($1) } +// 1378| lex_as_pattern { Pattern($1) } ///| -fn yy_action_728( +fn yy_action_740( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23252,10 +23968,10 @@ fn yy_action_728( } // file:///./parser.mbty -// 1360| "_" { Wildcard(loc = mk_loc($sloc)) } +// 1379| "_" { Wildcard(loc = mk_loc($sloc)) } ///| -fn yy_action_729( +fn yy_action_741( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23274,10 +23990,10 @@ fn yy_action_729( } // file:///./parser.mbty -// 1361| binder { Binder($1) } +// 1380| binder { Binder($1) } ///| -fn yy_action_730( +fn yy_action_742( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23292,15 +24008,15 @@ fn yy_action_730( } // file:///./parser.mbty -// 1364| lex_pattern_sequence { -// 1365| match $1 { -// 1366| More(pat, tail=Empty) => pat -// 1367| _ => Sequence(pats=$1, loc=mk_loc($sloc)) -// 1368| } -// 1369| } +// 1383| lex_pattern_sequence { +// 1384| match $1 { +// 1385| More(pat, tail=Empty) => pat +// 1386| _ => Sequence(pats=$1, loc=mk_loc($sloc)) +// 1387| } +// 1388| } ///| -fn yy_action_731( +fn yy_action_743( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23323,12 +24039,12 @@ fn yy_action_731( } // file:///./parser.mbty -// 1370| lex_atom_pattern "as" binder { -// 1371| Alias(pat = $1, binder = $3, loc = mk_loc($sloc)) -// 1372| } +// 1389| lex_atom_pattern "as" binder { +// 1390| Alias(pat = $1, binder = $3, loc = mk_loc($sloc)) +// 1391| } ///| -fn yy_action_732( +fn yy_action_744( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23354,10 +24070,10 @@ fn yy_action_732( } // file:///./parser.mbty -// 1376| lex_atom_pattern option(SEMI) lex_pattern_sequence { @list.cons($1, $3) } +// 1395| lex_atom_pattern option(SEMI) lex_pattern_sequence { @list.cons($1, $3) } ///| -fn yy_action_733( +fn yy_action_745( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23372,10 +24088,10 @@ fn yy_action_733( } // file:///./parser.mbty -// 1375| lex_atom_pattern { @list.singleton($1) } +// 1394| lex_atom_pattern { @list.singleton($1) } ///| -fn yy_action_734( +fn yy_action_746( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23389,10 +24105,10 @@ fn yy_action_734( } // file:///./parser.mbty -// 1379| lex_simple_atom_pattern { $1 } +// 1398| lex_simple_atom_pattern { $1 } ///| -fn yy_action_735( +fn yy_action_747( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23406,10 +24122,10 @@ fn yy_action_735( } // file:///./parser.mbty -// 1380| "(" lex_as_pattern ")" { $2 } +// 1399| "(" lex_as_pattern ")" { $2 } ///| -fn yy_action_736( +fn yy_action_748( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23426,7 +24142,7 @@ fn yy_action_736( // 60| X SEP separated_nonempty_list(SEP, X) { $3.add($1) } ///| -fn yy_action_737( +fn yy_action_749( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23444,7 +24160,7 @@ fn yy_action_737( // 59| X { @list.singleton($1) } ///| -fn yy_action_738( +fn yy_action_750( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23458,10 +24174,10 @@ fn yy_action_738( } // file:///./parser.mbty -// 1354| "_" { @list.singleton(Wildcard(loc = mk_loc($sloc))) } +// 1373| "_" { @list.singleton(Wildcard(loc = mk_loc($sloc))) } ///| -fn yy_action_739( +fn yy_action_751( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23480,10 +24196,10 @@ fn yy_action_739( } // file:///./parser.mbty -// 1355| binder { @list.singleton(Binder($1)) } +// 1374| binder { @list.singleton(Binder($1)) } ///| -fn yy_action_740( +fn yy_action_752( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23498,7 +24214,7 @@ fn yy_action_740( } // file:///./parser.mbty -// 1824| LIDENT { Binder::{ name: $1, loc: mk_loc($sloc) } } +// 1858| LIDENT { Binder::{ name: $1, loc: mk_loc($sloc) } } ///| fn yy_action_16( @@ -23521,10 +24237,10 @@ fn yy_action_16( } // file:///./parser.mbty -// 1356| lex_simple_atom_pattern { @list.singleton(Pattern($1)) } +// 1375| lex_simple_atom_pattern { @list.singleton(Pattern($1)) } ///| -fn yy_action_741( +fn yy_action_753( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23538,12 +24254,12 @@ fn yy_action_741( } // file:///./parser.mbty -// 1383| REGEX_LITERAL { -// 1384| Regex(lit=$1, loc=mk_loc($sloc)) -// 1385| } +// 1402| REGEX_LITERAL { +// 1403| Regex(lit=$1, loc=mk_loc($sloc)) +// 1404| } ///| -fn yy_action_742( +fn yy_action_754( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23563,12 +24279,12 @@ fn yy_action_742( } // file:///./parser.mbty -// 1386| REGEX_INTERP { -// 1387| RegexInterp(elems=make_interps($1), loc=mk_loc($sloc)) -// 1388| } +// 1405| REGEX_INTERP { +// 1406| RegexInterp(elems=make_interps($1), loc=mk_loc($sloc)) +// 1407| } ///| -fn yy_action_743( +fn yy_action_755( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23591,12 +24307,12 @@ fn yy_action_743( } // file:///./parser.mbty -// 1389| STRING { -// 1390| Regex(lit = $1, loc = mk_loc($sloc)) -// 1391| } +// 1408| STRING { +// 1409| Regex(lit = $1, loc = mk_loc($sloc)) +// 1410| } ///| -fn yy_action_744( +fn yy_action_756( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23616,12 +24332,12 @@ fn yy_action_744( } // file:///./parser.mbty -// 1392| INTERP { -// 1393| RegexInterp(elems = make_interps($1), loc = mk_loc($sloc)) -// 1394| } +// 1411| INTERP { +// 1412| RegexInterp(elems = make_interps($1), loc = mk_loc($sloc)) +// 1413| } ///| -fn yy_action_745( +fn yy_action_757( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23644,16 +24360,16 @@ fn yy_action_745( } // file:///./parser.mbty -// 1563| range_expr "lexmatch?" lex_pattern "with" label { -// 1564| IsLexMatch(expr=$1, pat=$3, pat_loc=mk_loc($loc($3)), strategy = Some($5), loc=mk_loc($sloc)) -// 1565| } +// 1597| range_expr "lexmatch?" lex_pattern "with" label { +// 1598| IsLexMatch(expr=$1, pat=$3, pat_loc=mk_loc($loc($3)), strategy = Some($5), loc=mk_loc($sloc)) +// 1599| } ///| -fn yy_action_746( +fn yy_action_758( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_args[3].2, _args[4:5]) + let _sub_action_0_result = yy_action_490(_args[3].2, _args[4:5]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _args[2].0 is YYObj__list_List_LexTopPattern_(_dollar3) let _start_pos_of_item2 = _args[2].1 @@ -23680,12 +24396,12 @@ fn yy_action_746( } // file:///./parser.mbty -// 1560| range_expr "lexmatch?" lex_pattern %prec prec_LEXMATCH_QUESTION { -// 1561| IsLexMatch(expr=$1, pat=$3, pat_loc=mk_loc($loc($3)), strategy = None, loc=mk_loc($sloc)) -// 1562| } +// 1594| range_expr "lexmatch?" lex_pattern %prec prec_LEXMATCH_QUESTION { +// 1595| IsLexMatch(expr=$1, pat=$3, pat_loc=mk_loc($loc($3)), strategy = None, loc=mk_loc($sloc)) +// 1596| } ///| -fn yy_action_747( +fn yy_action_759( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23714,10 +24430,10 @@ fn yy_action_747( } // file:///./parser.mbty -// 1566| range_expr { $1 } +// 1600| range_expr { $1 } ///| -fn yy_action_748( +fn yy_action_760( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23731,17 +24447,17 @@ fn yy_action_748( } // file:///./parser.mbty -// 1570| prefix_expr "..<" prefix_expr { -// 1571| Infix( -// 1572| op = Var::{ name: Ident(name = "..<"), loc: mk_loc($loc($2)) }, -// 1573| lhs = $1, -// 1574| rhs = $3, -// 1575| loc = mk_loc($sloc) -// 1576| ) -// 1577| } +// 1604| prefix_expr "..<" prefix_expr { +// 1605| Infix( +// 1606| op = Var::{ name: Ident(name = "..<"), loc: mk_loc($loc($2)) }, +// 1607| lhs = $1, +// 1608| rhs = $3, +// 1609| loc = mk_loc($sloc) +// 1610| ) +// 1611| } ///| -fn yy_action_749( +fn yy_action_761( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23772,17 +24488,17 @@ fn yy_action_749( } // file:///./parser.mbty -// 1578| prefix_expr "..=" prefix_expr { -// 1579| Infix( -// 1580| op = Var::{ name: Ident(name = "..="), loc: mk_loc($loc($2)) }, -// 1581| lhs = $1, -// 1582| rhs = $3, -// 1583| loc = mk_loc($sloc) -// 1584| ) -// 1585| } +// 1612| prefix_expr "..=" prefix_expr { +// 1613| Infix( +// 1614| op = Var::{ name: Ident(name = "..="), loc: mk_loc($loc($2)) }, +// 1615| lhs = $1, +// 1616| rhs = $3, +// 1617| loc = mk_loc($sloc) +// 1618| ) +// 1619| } ///| -fn yy_action_750( +fn yy_action_762( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23813,17 +24529,17 @@ fn yy_action_750( } // file:///./parser.mbty -// 1586| prefix_expr "..<=" prefix_expr { -// 1587| Infix( -// 1588| op = Var::{ name: Ident(name = "..<="), loc: mk_loc($loc($2)) }, -// 1589| lhs = $1, -// 1590| rhs = $3, -// 1591| loc = mk_loc($sloc) -// 1592| ) -// 1593| } +// 1620| prefix_expr "..<=" prefix_expr { +// 1621| Infix( +// 1622| op = Var::{ name: Ident(name = "..<="), loc: mk_loc($loc($2)) }, +// 1623| lhs = $1, +// 1624| rhs = $3, +// 1625| loc = mk_loc($sloc) +// 1626| ) +// 1627| } ///| -fn yy_action_751( +fn yy_action_763( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23854,17 +24570,17 @@ fn yy_action_751( } // file:///./parser.mbty -// 1594| prefix_expr ">=.." prefix_expr { -// 1595| Infix( -// 1596| op = Var::{ name: Ident(name = ">=.."), loc: mk_loc($loc($2)) }, -// 1597| lhs = $1, -// 1598| rhs = $3, -// 1599| loc = mk_loc($sloc) -// 1600| ) -// 1601| } +// 1628| prefix_expr ">=.." prefix_expr { +// 1629| Infix( +// 1630| op = Var::{ name: Ident(name = ">=.."), loc: mk_loc($loc($2)) }, +// 1631| lhs = $1, +// 1632| rhs = $3, +// 1633| loc = mk_loc($sloc) +// 1634| ) +// 1635| } ///| -fn yy_action_752( +fn yy_action_764( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23895,17 +24611,17 @@ fn yy_action_752( } // file:///./parser.mbty -// 1602| prefix_expr ">.." prefix_expr { -// 1603| Infix( -// 1604| op = Var::{ name: Ident(name = ">.."), loc: mk_loc($loc($2)) }, -// 1605| lhs = $1, -// 1606| rhs = $3, -// 1607| loc = mk_loc($sloc) -// 1608| ) -// 1609| } +// 1636| prefix_expr ">.." prefix_expr { +// 1637| Infix( +// 1638| op = Var::{ name: Ident(name = ">.."), loc: mk_loc($loc($2)) }, +// 1639| lhs = $1, +// 1640| rhs = $3, +// 1641| loc = mk_loc($sloc) +// 1642| ) +// 1643| } ///| -fn yy_action_753( +fn yy_action_765( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23936,10 +24652,10 @@ fn yy_action_753( } // file:///./parser.mbty -// 1610| prefix_expr { $1 } +// 1644| prefix_expr { $1 } ///| -fn yy_action_754( +fn yy_action_766( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23953,16 +24669,16 @@ fn yy_action_754( } // file:///./parser.mbty -// 1753| LIDENT "?" "(" list_commas(argument) ")" { -// 1754| let func = @syntax.make_ident_expr( -// 1755| loc = mk_loc($loc($1)), -// 1756| Var::{ name: Ident(name = $1), loc: mk_loc($loc($1)) } -// 1757| ) -// 1758| Apply(func~, args = $4, attr = Question, loc = mk_loc($sloc)) -// 1759| } +// 1787| LIDENT "?" "(" list_commas(argument) ")" { +// 1788| let func = @syntax.make_ident_expr( +// 1789| loc = mk_loc($loc($1)), +// 1790| Var::{ name: Ident(name = $1), loc: mk_loc($loc($1)) } +// 1791| ) +// 1792| Apply(func~, args = $4, attr = Question, loc = mk_loc($sloc)) +// 1793| } ///| -fn yy_action_755( +fn yy_action_767( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -23997,10 +24713,10 @@ fn yy_action_755( } // file:///./parser.mbty -// 191| non_empty_list_commas(X) { $1 } +// 196| non_empty_list_commas(X) { $1 } ///| -fn yy_action_756( +fn yy_action_768( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24014,10 +24730,10 @@ fn yy_action_756( } // file:///./parser.mbty -// 1080| LIDENT %prec prec_apply_non_ident_fn { Ident(name = $1) } +// 1089| LIDENT %prec prec_apply_non_ident_fn { Ident(name = $1) } ///| -fn yy_action_757( +fn yy_action_769( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24031,10 +24747,10 @@ fn yy_action_757( } // file:///./parser.mbty -// 1081| PACKAGE_NAME DOT_LIDENT { Dot(pkg = $1, id = $2) } +// 1090| PACKAGE_NAME DOT_LIDENT { Dot(pkg = $1, id = $2) } ///| -fn yy_action_758( +fn yy_action_770( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24049,16 +24765,16 @@ fn yy_action_758( } // file:///./parser.mbty -// 1642| PACKAGE_NAME DOT_UIDENT { -// 1643| Constructor::{ -// 1644| name: ConstrName::{ name: $2, loc: mk_loc($loc($2)) }, -// 1645| extra_info: Package($1), -// 1646| loc: mk_loc($sloc) -// 1647| } -// 1648| } +// 1676| PACKAGE_NAME DOT_UIDENT { +// 1677| Constructor::{ +// 1678| name: ConstrName::{ name: $2, loc: mk_loc($loc($2)) }, +// 1679| extra_info: Package($1), +// 1680| loc: mk_loc($sloc) +// 1681| } +// 1682| } ///| -fn yy_action_759( +fn yy_action_771( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24088,16 +24804,16 @@ fn yy_action_759( } // file:///./parser.mbty -// 1635| UIDENT { -// 1636| Constructor::{ -// 1637| name: ConstrName::{ name: $1, loc: mk_loc($loc($1)) }, -// 1638| extra_info: NoExtraInfo, -// 1639| loc: mk_loc($sloc) -// 1640| } -// 1641| } +// 1669| UIDENT { +// 1670| Constructor::{ +// 1671| name: ConstrName::{ name: $1, loc: mk_loc($loc($1)) }, +// 1672| extra_info: NoExtraInfo, +// 1673| loc: mk_loc($sloc) +// 1674| } +// 1675| } ///| -fn yy_action_760( +fn yy_action_772( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24126,14 +24842,14 @@ fn yy_action_760( } // file:///./parser.mbty -// 1614| id(plus) prefix_expr { make_uplus(loc = mk_loc($sloc), $1, $2) } +// 1648| id(plus) prefix_expr { make_uplus(loc = mk_loc($sloc), $1, $2) } ///| -fn yy_action_761( +fn yy_action_773( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_762(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_774(_last_pos, _args[0:1]) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos @@ -24151,14 +24867,14 @@ fn yy_action_761( } // file:///./parser.mbty -// 239| X { $1 } +// 244| X { $1 } ///| -fn yy_action_762( +fn yy_action_774( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_763(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_775(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_String(_dollar1) YYObj_String( { @@ -24169,10 +24885,10 @@ fn yy_action_762( } // file:///./parser.mbty -// 1621| PLUS { "+" } +// 1655| PLUS { "+" } ///| -fn yy_action_763( +fn yy_action_775( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24185,14 +24901,14 @@ fn yy_action_763( } // file:///./parser.mbty -// 1615| id(minus) prefix_expr { make_uminus(loc = mk_loc($sloc), $1, $2) } +// 1649| id(minus) prefix_expr { make_uminus(loc = mk_loc($sloc), $1, $2) } ///| -fn yy_action_764( +fn yy_action_776( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_765(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_777(_last_pos, _args[0:1]) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos @@ -24210,14 +24926,14 @@ fn yy_action_764( } // file:///./parser.mbty -// 239| X { $1 } +// 244| X { $1 } ///| -fn yy_action_765( +fn yy_action_777( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_766(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_778(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_String(_dollar1) YYObj_String( { @@ -24228,10 +24944,10 @@ fn yy_action_765( } // file:///./parser.mbty -// 1625| MINUS { "-" } +// 1659| MINUS { "-" } ///| -fn yy_action_766( +fn yy_action_778( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24244,14 +24960,14 @@ fn yy_action_766( } // file:///./parser.mbty -// 1665| expr ioption(",") ")" { @list.singleton($1) } +// 1699| expr ioption(",") ")" { @list.singleton($1) } ///| -fn yy_action_767( +fn yy_action_779( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_488(_args[0].2, _args[1:1]) + let _sub_action_0_result = yy_action_498(_args[0].2, _args[1:1]) guard _args[0].0 is YYObj_Expr(_dollar1) YYObj_List_Expr_( { @@ -24265,7 +24981,7 @@ fn yy_action_767( // 9| { None } ///| -fn yy_action_488( +fn yy_action_498( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24278,14 +24994,14 @@ fn yy_action_488( } // file:///./parser.mbty -// 1665| expr ioption(",") ")" { @list.singleton($1) } +// 1699| expr ioption(",") ")" { @list.singleton($1) } ///| -fn yy_action_768( +fn yy_action_780( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_490(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_500(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_Expr(_dollar1) YYObj_List_Expr_( { @@ -24299,7 +25015,7 @@ fn yy_action_768( // 10| X { Some($1) } ///| -fn yy_action_490( +fn yy_action_500( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24313,10 +25029,10 @@ fn yy_action_490( } // file:///./parser.mbty -// 1666| expr "," non_empty_tuple_elems { $3.add($1) } +// 1700| expr "," non_empty_tuple_elems { $3.add($1) } ///| -fn yy_action_769( +fn yy_action_781( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24331,10 +25047,10 @@ fn yy_action_769( } // file:///./parser.mbty -// 1696| "(" expr ":" type_ ")" { Constraint(expr = $2, ty = $4, loc = mk_loc($sloc)) } +// 1730| "(" expr ":" type_ ")" { Constraint(expr = $2, ty = $4, loc = mk_loc($sloc)) } ///| -fn yy_action_770( +fn yy_action_782( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24359,10 +25075,10 @@ fn yy_action_770( } // file:///./parser.mbty -// 1672| non_empty_tuple_elems { $1 } +// 1706| non_empty_tuple_elems { $1 } ///| -fn yy_action_771( +fn yy_action_783( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24376,21 +25092,21 @@ fn yy_action_771( } // file:///./parser.mbty -// 1676| "(" arrow_fn_prefix_no_constraint { -// 1677| let es = $2.map(@syntax.arrow_fn_param_to_expr) -// 1678| match es { -// 1679| @list.More(expr, tail=Empty) => { -// 1680| match expr { -// 1681| Constraint(..) => expr -// 1682| _ => Group(expr~, group = Paren, loc = mk_loc($sloc)) -// 1683| } -// 1684| } -// 1685| _ => @syntax.make_tuple_expr(loc = mk_loc($sloc), es) -// 1686| } -// 1687| } +// 1710| "(" arrow_fn_prefix_no_constraint { +// 1711| let es = $2.map(@syntax.arrow_fn_param_to_expr) +// 1712| match es { +// 1713| @list.More(expr, tail=Empty) => { +// 1714| match expr { +// 1715| Constraint(..) => expr +// 1716| _ => Group(expr~, group = Paren, loc = mk_loc($sloc)) +// 1717| } +// 1718| } +// 1719| _ => @syntax.make_tuple_expr(loc = mk_loc($sloc), es) +// 1720| } +// 1721| } ///| -fn yy_action_772( +fn yy_action_784( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24424,15 +25140,15 @@ fn yy_action_772( } // file:///./parser.mbty -// 1688| "(" non_empty_tuple_elems_with_prefix { -// 1689| match $2 { -// 1690| More(expr, tail=Empty) => Group(expr~, group = Paren, loc = mk_loc($sloc)) -// 1691| exprs => @syntax.make_tuple_expr(loc = mk_loc($sloc), exprs) -// 1692| } -// 1693| } +// 1722| "(" non_empty_tuple_elems_with_prefix { +// 1723| match $2 { +// 1724| More(expr, tail=Empty) => Group(expr~, group = Paren, loc = mk_loc($sloc)) +// 1725| exprs => @syntax.make_tuple_expr(loc = mk_loc($sloc), exprs) +// 1726| } +// 1727| } ///| -fn yy_action_773( +fn yy_action_785( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24460,10 +25176,10 @@ fn yy_action_773( } // file:///./parser.mbty -// 1697| "(" ")" { Unit(loc = mk_loc($sloc), faked = false) } +// 1731| "(" ")" { Unit(loc = mk_loc($sloc), faked = false) } ///| -fn yy_action_774( +fn yy_action_786( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24482,10 +25198,10 @@ fn yy_action_774( } // file:///./parser.mbty -// 1750| "_" %prec prec_lower_than_arrow_fn { Hole(loc = mk_loc($sloc), kind = Incomplete) } +// 1784| "_" %prec prec_lower_than_arrow_fn { Hole(loc = mk_loc($sloc), kind = Incomplete) } ///| -fn yy_action_775( +fn yy_action_787( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24504,10 +25220,10 @@ fn yy_action_775( } // file:///./parser.mbty -// 1923| expr { Argument::{ value: $1, kind: Positional } } +// 1957| expr { Argument::{ value: $1, kind: Positional } } ///| -fn yy_action_776( +fn yy_action_788( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24521,10 +25237,10 @@ fn yy_action_776( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_777( +fn yy_action_789( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24539,10 +25255,10 @@ fn yy_action_777( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_778( +fn yy_action_790( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24556,10 +25272,10 @@ fn yy_action_778( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_779( +fn yy_action_791( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24573,10 +25289,10 @@ fn yy_action_779( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_780( +fn yy_action_792( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24589,16 +25305,16 @@ fn yy_action_780( } // file:///./parser.mbty -// 1797| simple_expr accessor %prec prec_field { -// 1798| Field(record = $1, accessor = $2, loc = mk_loc($sloc)) -// 1799| } +// 1831| simple_expr accessor %prec prec_field { +// 1832| Field(record = $1, accessor = $2, loc = mk_loc($sloc)) +// 1833| } ///| -fn yy_action_781( +fn yy_action_793( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_471(_args[0].2, _args[1:2]) + let _sub_action_0_result = yy_action_481(_args[0].2, _args[1:2]) guard _args[0].0 is YYObj_Expr(_dollar1) guard _sub_action_0_result is YYObj_Accessor(_dollar2) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) @@ -24620,10 +25336,10 @@ fn yy_action_781( } // file:///./parser.mbty -// 1820| DOT_INT { Index(tuple_index = $1, loc = mk_loc($sloc)) } +// 1854| DOT_INT { Index(tuple_index = $1, loc = mk_loc($sloc)) } ///| -fn yy_action_471( +fn yy_action_481( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24643,10 +25359,10 @@ fn yy_action_471( } // file:///./parser.mbty -// 1617| simple_expr { $1 } +// 1651| simple_expr { $1 } ///| -fn yy_action_782( +fn yy_action_794( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24660,13 +25376,13 @@ fn yy_action_782( } // file:///./parser.mbty -// 253| POST_LABEL opt_annot { -// 254| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } -// 255| Labelled(binder~, ty = $2) -// 256| } +// 258| POST_LABEL opt_annot { +// 259| let binder = Binder::{ name: $1, loc: mk_loc($loc($1)).trim_last_char() } +// 260| Labelled(binder~, ty = $2) +// 261| } ///| -fn yy_action_783( +fn yy_action_795( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24688,14 +25404,14 @@ fn yy_action_783( } // file:///./parser.mbty -// 247| ioption(annot) { $1 } +// 252| ioption(annot) { $1 } ///| fn yy_action_19( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_784(_last_pos, _args[0:0]) + let _sub_action_0_result = yy_action_796(_last_pos, _args[0:0]) guard _sub_action_0_result is YYObj_Option_Type_(_dollar1) YYObj_Type_( { @@ -24709,7 +25425,7 @@ fn yy_action_19( // 9| { None } ///| -fn yy_action_784( +fn yy_action_796( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24722,10 +25438,10 @@ fn yy_action_784( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_785( +fn yy_action_797( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24740,10 +25456,10 @@ fn yy_action_785( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_786( +fn yy_action_798( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24757,10 +25473,10 @@ fn yy_action_786( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_787( +fn yy_action_799( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24774,10 +25490,10 @@ fn yy_action_787( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_788( +fn yy_action_800( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24790,23 +25506,23 @@ fn yy_action_788( } // file:///./parser.mbty -// 1701| is_async "fn" optional_bang parameters func_return_type block_expr { -// 1702| let (return_type, error_type) = $5 -// 1703| Func::{ -// 1704| parameters : $4, -// 1705| params_loc : mk_loc($loc($4)), -// 1706| body : $6, -// 1707| return_type, -// 1708| error_type, -// 1709| kind : Lambda, -// 1710| has_error : $3, -// 1711| is_async : $1, -// 1712| loc : mk_loc($sloc) -// 1713| } -// 1714| } +// 1735| is_async "fn" optional_bang parameters func_return_type block_expr { +// 1736| let (return_type, error_type) = $5 +// 1737| Func::{ +// 1738| parameters : $4, +// 1739| params_loc : mk_loc($loc($4)), +// 1740| body : $6, +// 1741| return_type, +// 1742| error_type, +// 1743| kind : Lambda, +// 1744| has_error : $3, +// 1745| is_async : $1, +// 1746| loc : mk_loc($sloc) +// 1747| } +// 1748| } ///| -fn yy_action_789( +fn yy_action_801( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24844,14 +25560,14 @@ fn yy_action_789( } // file:///./parser.mbty -// 2196| labeled_expr { $1 } +// 2264| labeled_expr { $1 } ///| -fn yy_action_790( +fn yy_action_802( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_398(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_408(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_FieldDef(_dollar1) YYObj_FieldDef( { @@ -24862,14 +25578,14 @@ fn yy_action_790( } // file:///./parser.mbty -// 2201| label ":" expr { @syntax.make_field_def(loc = mk_loc($sloc), $1, $3, false) } +// 2269| label ":" expr { @syntax.make_field_def(loc = mk_loc($sloc), $1, $3, false) } ///| -fn yy_action_398( +fn yy_action_408( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_490(_last_pos, _args[0:1]) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos @@ -24892,14 +25608,14 @@ fn yy_action_398( } // file:///./parser.mbty -// 2197| label_pun { $1 } +// 2265| label_pun { $1 } ///| -fn yy_action_791( +fn yy_action_803( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_396(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_406(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_FieldDef(_dollar1) YYObj_FieldDef( { @@ -24910,14 +25626,14 @@ fn yy_action_791( } // file:///./parser.mbty -// 2205| label { @syntax.make_field_def(loc = mk_loc($sloc), $1, @syntax.label_to_expr(loc = mk_loc($sloc), $1), true) } +// 2273| label { @syntax.make_field_def(loc = mk_loc($sloc), $1, @syntax.label_to_expr(loc = mk_loc($sloc), $1), true) } ///| -fn yy_action_396( +fn yy_action_406( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_480(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_490(_last_pos, _args[0:1]) let _symbol_start_pos = _get_symbol_start_pos(_args, _last_pos) let _end_pos = if _args.length() == 0 { _last_pos @@ -24942,10 +25658,10 @@ fn yy_action_396( } // file:///./parser.mbty -// 1809| LIDENT { Label::{ name: $1, loc: mk_loc($sloc) } } +// 1843| LIDENT { Label::{ name: $1, loc: mk_loc($sloc) } } ///| -fn yy_action_480( +fn yy_action_490( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24965,10 +25681,10 @@ fn yy_action_480( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_792( +fn yy_action_804( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -24983,12 +25699,12 @@ fn yy_action_792( } // file:///./parser.mbty -// 200| non_empty_list_commas_rev(X) option(",") { -// 201| ($1.rev(), $2 is Some(_)) -// 202| } +// 205| non_empty_list_commas_rev(X) option(",") { +// 206| ($1.rev(), $2 is Some(_)) +// 207| } ///| -fn yy_action_793( +fn yy_action_805( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25003,10 +25719,10 @@ fn yy_action_793( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_794( +fn yy_action_806( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25020,10 +25736,10 @@ fn yy_action_794( } // file:///./parser.mbty -// 206| { (@list.empty(), false) } +// 211| { (@list.empty(), false) } ///| -fn yy_action_795( +fn yy_action_807( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25036,13 +25752,13 @@ fn yy_action_795( } // file:///./parser.mbty -// 1800| type_name "::" LIDENT { -// 1801| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } -// 1802| Method(type_name = $1, method_name~, loc = mk_loc($sloc)) -// 1803| } +// 1834| type_name "::" LIDENT { +// 1835| let method_name = Label::{ name: $3, loc: mk_loc($loc($3)) } +// 1836| Method(type_name = $1, method_name~, loc = mk_loc($sloc)) +// 1837| } ///| -fn yy_action_796( +fn yy_action_808( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25073,10 +25789,10 @@ fn yy_action_796( } // file:///./parser.mbty -// 212| non_empty_list_semi_rev_aux(X) SEMI X { $1.add($3) } +// 217| non_empty_list_semi_rev_aux(X) SEMI X { $1.add($3) } ///| -fn yy_action_797( +fn yy_action_809( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25094,7 +25810,7 @@ fn yy_action_797( // 5| X { Some($1) } ///| -fn yy_action_798( +fn yy_action_810( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25108,10 +25824,10 @@ fn yy_action_798( } // file:///./parser.mbty -// 216| non_empty_list_semi_rev_aux(X) option(SEMI) { $1 } +// 221| non_empty_list_semi_rev_aux(X) option(SEMI) { $1 } ///| -fn yy_action_799( +fn yy_action_811( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25128,7 +25844,7 @@ fn yy_action_799( // 4| { None } ///| -fn yy_action_800( +fn yy_action_812( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25141,10 +25857,10 @@ fn yy_action_800( } // file:///./parser.mbty -// 211| X { @list.singleton($1) } +// 216| X { @list.singleton($1) } ///| -fn yy_action_801( +fn yy_action_813( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25158,10 +25874,10 @@ fn yy_action_801( } // file:///./parser.mbty -// 229| { @list.empty() } +// 234| { @list.empty() } ///| -fn yy_action_802( +fn yy_action_814( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25174,23 +25890,23 @@ fn yy_action_802( } // file:///./parser.mbty -// 1701| is_async "fn" optional_bang parameters func_return_type block_expr { -// 1702| let (return_type, error_type) = $5 -// 1703| Func::{ -// 1704| parameters : $4, -// 1705| params_loc : mk_loc($loc($4)), -// 1706| body : $6, -// 1707| return_type, -// 1708| error_type, -// 1709| kind : Lambda, -// 1710| has_error : $3, -// 1711| is_async : $1, -// 1712| loc : mk_loc($sloc) -// 1713| } -// 1714| } +// 1735| is_async "fn" optional_bang parameters func_return_type block_expr { +// 1736| let (return_type, error_type) = $5 +// 1737| Func::{ +// 1738| parameters : $4, +// 1739| params_loc : mk_loc($loc($4)), +// 1740| body : $6, +// 1741| return_type, +// 1742| error_type, +// 1743| kind : Lambda, +// 1744| has_error : $3, +// 1745| is_async : $1, +// 1746| loc : mk_loc($sloc) +// 1747| } +// 1748| } ///| -fn yy_action_803( +fn yy_action_815( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25228,14 +25944,14 @@ fn yy_action_803( } // file:///./parser.mbty -// 2074| "->" return_type { -// 2075| match $2 { -// 2076| (ty, err) => (Some(ty), err) -// 2077| } -// 2078| } +// 2108| "->" return_type { +// 2109| match $2 { +// 2110| (ty, err) => (Some(ty), err) +// 2111| } +// 2112| } ///| -fn yy_action_804( +fn yy_action_816( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25251,22 +25967,22 @@ fn yy_action_804( } // file:///./parser.mbty -// 2111| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { -// 2112| let (ty_res, ty_err) = $8 -// 2113| let ts = match $5 { -// 2114| None => @list.empty() -// 2115| Some(ts) => ts -// 2116| } -// 2117| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2118| } +// 2145| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { +// 2146| let (ty_res, ty_err) = $8 +// 2147| let ts = match $5 { +// 2148| None => @list.empty() +// 2149| Some(ts) => ts +// 2150| } +// 2151| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2152| } ///| -fn yy_action_805( +fn yy_action_817( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_5(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_806(_args[3].2, _args[4:4]) + let _sub_action_1_result = yy_action_818(_args[3].2, _args[4:4]) guard _args[6].0 is YYObj__Type__ErrorType_(_dollar8) guard _sub_action_1_result is YYObj_Option_List_Type__(_dollar5) guard _args[2].0 is YYObj_Type(_dollar3) @@ -25297,22 +26013,22 @@ fn yy_action_805( } // file:///./parser.mbty -// 2111| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { -// 2112| let (ty_res, ty_err) = $8 -// 2113| let ts = match $5 { -// 2114| None => @list.empty() -// 2115| Some(ts) => ts -// 2116| } -// 2117| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2118| } +// 2145| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { +// 2146| let (ty_res, ty_err) = $8 +// 2147| let ts = match $5 { +// 2148| None => @list.empty() +// 2149| Some(ts) => ts +// 2150| } +// 2151| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2152| } ///| -fn yy_action_807( +fn yy_action_819( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_5(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_808(_args[3].2, _args[4:5]) + let _sub_action_1_result = yy_action_820(_args[3].2, _args[4:5]) guard _args[7].0 is YYObj__Type__ErrorType_(_dollar8) guard _sub_action_1_result is YYObj_Option_List_Type__(_dollar5) guard _args[2].0 is YYObj_Type(_dollar3) @@ -25343,13 +26059,13 @@ fn yy_action_807( } // file:///./parser.mbty -// 2123| is_async "(" type_ ")" "->" return_type { -// 2124| let (ty_res, ty_err) = $6 -// 2125| Arrow(args = @list.singleton($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2126| } +// 2157| is_async "(" type_ ")" "->" return_type { +// 2158| let (ty_res, ty_err) = $6 +// 2159| Arrow(args = @list.singleton($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2160| } ///| -fn yy_action_809( +fn yy_action_821( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25379,21 +26095,21 @@ fn yy_action_809( } // file:///./parser.mbty -// 2098| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { -// 2099| Name( -// 2100| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, -// 2101| tys = $2, -// 2102| loc = mk_loc($sloc) -// 2103| ) -// 2104| } +// 2132| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { +// 2133| Name( +// 2134| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, +// 2135| tys = $2, +// 2136| loc = mk_loc($sloc) +// 2137| ) +// 2138| } ///| -fn yy_action_810( +fn yy_action_822( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_811(_last_pos, _args[0:2]) - let _sub_action_1_result = yy_action_812(_args[1].2, _args[2:5]) + let _sub_action_0_result = yy_action_823(_last_pos, _args[0:2]) + let _sub_action_1_result = yy_action_824(_args[1].2, _args[2:5]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 @@ -25420,21 +26136,21 @@ fn yy_action_810( } // file:///./parser.mbty -// 2098| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { -// 2099| Name( -// 2100| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, -// 2101| tys = $2, -// 2102| loc = mk_loc($sloc) -// 2103| ) -// 2104| } +// 2132| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { +// 2133| Name( +// 2134| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, +// 2135| tys = $2, +// 2136| loc = mk_loc($sloc) +// 2137| ) +// 2138| } ///| -fn yy_action_813( +fn yy_action_825( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_811(_last_pos, _args[0:2]) - let _sub_action_1_result = yy_action_814(_args[1].2, _args[2:2]) + let _sub_action_0_result = yy_action_823(_last_pos, _args[0:2]) + let _sub_action_1_result = yy_action_826(_args[1].2, _args[2:2]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 @@ -25461,21 +26177,21 @@ fn yy_action_813( } // file:///./parser.mbty -// 2098| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { -// 2099| Name( -// 2100| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, -// 2101| tys = $2, -// 2102| loc = mk_loc($sloc) -// 2103| ) -// 2104| } +// 2132| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { +// 2133| Name( +// 2134| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, +// 2135| tys = $2, +// 2136| loc = mk_loc($sloc) +// 2137| ) +// 2138| } ///| -fn yy_action_815( +fn yy_action_827( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_816(_last_pos, _args[0:2]) - let _sub_action_1_result = yy_action_812(_args[1].2, _args[2:5]) + let _sub_action_0_result = yy_action_828(_last_pos, _args[0:2]) + let _sub_action_1_result = yy_action_824(_args[1].2, _args[2:5]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 @@ -25502,10 +26218,10 @@ fn yy_action_815( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_817( +fn yy_action_829( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25519,22 +26235,22 @@ fn yy_action_817( } // file:///./parser.mbty -// 2111| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { -// 2112| let (ty_res, ty_err) = $8 -// 2113| let ts = match $5 { -// 2114| None => @list.empty() -// 2115| Some(ts) => ts -// 2116| } -// 2117| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2118| } +// 2145| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { +// 2146| let (ty_res, ty_err) = $8 +// 2147| let ts = match $5 { +// 2148| None => @list.empty() +// 2149| Some(ts) => ts +// 2150| } +// 2151| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2152| } ///| -fn yy_action_818( +fn yy_action_830( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_8(_last_pos, _args[0:0]) - let _sub_action_1_result = yy_action_808(_args[2].2, _args[3:4]) + let _sub_action_1_result = yy_action_820(_args[2].2, _args[3:4]) guard _args[6].0 is YYObj__Type__ErrorType_(_dollar8) guard _sub_action_1_result is YYObj_Option_List_Type__(_dollar5) guard _args[1].0 is YYObj_Type(_dollar3) @@ -25568,7 +26284,7 @@ fn yy_action_818( // 10| X { Some($1) } ///| -fn yy_action_808( +fn yy_action_820( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25582,10 +26298,10 @@ fn yy_action_808( } // file:///./parser.mbty -// 2096| "(" type_ "," non_empty_list_commas(type_) ")" { @syntax.make_tuple_type(loc = mk_loc($sloc), $4.add($2)) } +// 2130| "(" type_ "," non_empty_list_commas(type_) ")" { @syntax.make_tuple_type(loc = mk_loc($sloc), $4.add($2)) } ///| -fn yy_action_819( +fn yy_action_831( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25609,22 +26325,22 @@ fn yy_action_819( } // file:///./parser.mbty -// 2111| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { -// 2112| let (ty_res, ty_err) = $8 -// 2113| let ts = match $5 { -// 2114| None => @list.empty() -// 2115| Some(ts) => ts -// 2116| } -// 2117| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2118| } +// 2145| is_async "(" type_ "," ioption(non_empty_list_commas(type_)) ")" "->" return_type { +// 2146| let (ty_res, ty_err) = $8 +// 2147| let ts = match $5 { +// 2148| None => @list.empty() +// 2149| Some(ts) => ts +// 2150| } +// 2151| Arrow(args = ts.add($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2152| } ///| -fn yy_action_820( +fn yy_action_832( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { let _sub_action_0_result = yy_action_8(_last_pos, _args[0:0]) - let _sub_action_1_result = yy_action_806(_args[2].2, _args[3:3]) + let _sub_action_1_result = yy_action_818(_args[2].2, _args[3:3]) guard _args[5].0 is YYObj__Type__ErrorType_(_dollar8) guard _sub_action_1_result is YYObj_Option_List_Type__(_dollar5) guard _args[1].0 is YYObj_Type(_dollar3) @@ -25658,7 +26374,7 @@ fn yy_action_820( // 9| { None } ///| -fn yy_action_806( +fn yy_action_818( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25671,13 +26387,13 @@ fn yy_action_806( } // file:///./parser.mbty -// 2123| is_async "(" type_ ")" "->" return_type { -// 2124| let (ty_res, ty_err) = $6 -// 2125| Arrow(args = @list.singleton($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2126| } +// 2157| is_async "(" type_ ")" "->" return_type { +// 2158| let (ty_res, ty_err) = $6 +// 2159| Arrow(args = @list.singleton($3), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2160| } ///| -fn yy_action_821( +fn yy_action_833( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25707,10 +26423,10 @@ fn yy_action_821( } // file:///./parser.mbty -// 2097| "(" type_ ")" { $2 } +// 2131| "(" type_ ")" { $2 } ///| -fn yy_action_822( +fn yy_action_834( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25724,10 +26440,10 @@ fn yy_action_822( } // file:///./parser.mbty -// 2066| type_ { ($1, NoErrorType) } +// 2100| type_ { ($1, NoErrorType) } ///| -fn yy_action_823( +fn yy_action_835( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25741,10 +26457,10 @@ fn yy_action_823( } // file:///./parser.mbty -// 2053| "raise" error_type { ErrorType(ty = $2) } +// 2087| "raise" error_type { ErrorType(ty = $2) } ///| -fn yy_action_824( +fn yy_action_836( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25758,17 +26474,17 @@ fn yy_action_824( } // file:///./parser.mbty -// 2055| "raise" "?" { -// 2056| let fake_error = Type::Name( -// 2057| constr_id = ConstrId::{ id: Ident(name = "Error"), loc: mk_loc($sloc) }, -// 2058| tys = @list.empty(), -// 2059| loc = mk_loc($sloc) -// 2060| ) -// 2061| MaybeError(ty = fake_error) -// 2062| } +// 2089| "raise" "?" { +// 2090| let fake_error = Type::Name( +// 2091| constr_id = ConstrId::{ id: Ident(name = "Error"), loc: mk_loc($sloc) }, +// 2092| tys = @list.empty(), +// 2093| loc = mk_loc($sloc) +// 2094| ) +// 2095| MaybeError(ty = fake_error) +// 2096| } ///| -fn yy_action_825( +fn yy_action_837( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25795,10 +26511,10 @@ fn yy_action_825( } // file:///./parser.mbty -// 2052| "raise" { DefaultErrorType(loc = mk_loc($sloc)) } +// 2086| "raise" { DefaultErrorType(loc = mk_loc($sloc)) } ///| -fn yy_action_826( +fn yy_action_838( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25817,10 +26533,10 @@ fn yy_action_826( } // file:///./parser.mbty -// 2054| "noraise" { Noraise(loc = mk_loc($sloc)) } +// 2088| "noraise" { Noraise(loc = mk_loc($sloc)) } ///| -fn yy_action_827( +fn yy_action_839( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25839,10 +26555,10 @@ fn yy_action_827( } // file:///./parser.mbty -// 2068| simple_type "!" error_type { ($1, ErrorType(ty = $3)) } +// 2102| simple_type "!" error_type { ($1, ErrorType(ty = $3)) } ///| -fn yy_action_828( +fn yy_action_840( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25857,10 +26573,10 @@ fn yy_action_828( } // file:///./parser.mbty -// 2067| simple_type "!" { ($1, DefaultErrorType(loc = mk_loc($loc($2)))) } +// 2101| simple_type "!" { ($1, DefaultErrorType(loc = mk_loc($loc($2)))) } ///| -fn yy_action_829( +fn yy_action_841( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25879,10 +26595,10 @@ fn yy_action_829( } // file:///./parser.mbty -// 2069| simple_type "?" error_type { ($1, MaybeError(ty = $3)) } +// 2103| simple_type "?" error_type { ($1, MaybeError(ty = $3)) } ///| -fn yy_action_830( +fn yy_action_842( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25897,16 +26613,16 @@ fn yy_action_830( } // file:///./parser.mbty -// 2084| qual_ident_ty { -// 2085| Name( -// 2086| constr_id = ConstrId::{ id: $1, loc: mk_loc($sloc) }, -// 2087| tys = @list.empty(), -// 2088| loc = mk_loc($sloc) -// 2089| ) -// 2090| } +// 2118| qual_ident_ty { +// 2119| Name( +// 2120| constr_id = ConstrId::{ id: $1, loc: mk_loc($sloc) }, +// 2121| tys = @list.empty(), +// 2122| loc = mk_loc($sloc) +// 2123| ) +// 2124| } ///| -fn yy_action_831( +fn yy_action_843( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25933,10 +26649,10 @@ fn yy_action_831( } // file:///./parser.mbty -// 2091| "_" { Any(loc = mk_loc($sloc)) } +// 2125| "_" { Any(loc = mk_loc($sloc)) } ///| -fn yy_action_832( +fn yy_action_844( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25955,10 +26671,10 @@ fn yy_action_832( } // file:///./parser.mbty -// 2095| simple_type "?" { @syntax.make_option_type(loc = mk_loc($sloc), constr_loc = mk_loc($loc($2)), $1) } +// 2129| simple_type "?" { @syntax.make_option_type(loc = mk_loc($sloc), constr_loc = mk_loc($loc($2)), $1) } ///| -fn yy_action_833( +fn yy_action_845( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -25984,10 +26700,10 @@ fn yy_action_833( } // file:///./parser.mbty -// 2070| simple_type error_annotation { ($1, $2) } +// 2104| simple_type error_annotation { ($1, $2) } ///| -fn yy_action_834( +fn yy_action_846( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26002,10 +26718,10 @@ fn yy_action_834( } // file:///./parser.mbty -// 2110| simple_type { $1 } +// 2144| simple_type { $1 } ///| -fn yy_action_835( +fn yy_action_847( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26019,13 +26735,13 @@ fn yy_action_835( } // file:///./parser.mbty -// 2119| is_async "(" ")" "->" return_type { -// 2120| let (ty_res, ty_err) = $5 -// 2121| Arrow(args = @list.empty(), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2122| } +// 2153| is_async "(" ")" "->" return_type { +// 2154| let (ty_res, ty_err) = $5 +// 2155| Arrow(args = @list.empty(), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2156| } ///| -fn yy_action_836( +fn yy_action_848( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26054,7 +26770,7 @@ fn yy_action_836( } // file:///./parser.mbty -// 281| { None } +// 286| { None } ///| fn yy_action_8( @@ -26070,21 +26786,21 @@ fn yy_action_8( } // file:///./parser.mbty -// 2098| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { -// 2099| Name( -// 2100| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, -// 2101| tys = $2, -// 2102| loc = mk_loc($sloc) -// 2103| ) -// 2104| } +// 2132| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { +// 2133| Name( +// 2134| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, +// 2135| tys = $2, +// 2136| loc = mk_loc($sloc) +// 2137| ) +// 2138| } ///| -fn yy_action_837( +fn yy_action_849( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_838(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_812(_args[0].2, _args[1:4]) + let _sub_action_0_result = yy_action_850(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_824(_args[0].2, _args[1:4]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 @@ -26111,19 +26827,19 @@ fn yy_action_837( } // file:///./parser.mbty -// 303| ioption(delimited("[", non_empty_list_commas(type_), "]")) { -// 304| match $1 { -// 305| None => @list.empty() -// 306| Some(params) => params -// 307| } -// 308| } +// 308| ioption(delimited("[", non_empty_list_commas(type_), "]")) { +// 309| match $1 { +// 310| None => @list.empty() +// 311| Some(params) => params +// 312| } +// 313| } ///| -fn yy_action_812( +fn yy_action_824( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_839(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_851(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_Option_List_Type__(_dollar1) YYObj_List_Type_( { @@ -26140,11 +26856,11 @@ fn yy_action_812( // 10| X { Some($1) } ///| -fn yy_action_839( +fn yy_action_851( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_840(_last_pos, _args[0:3]) + let _sub_action_0_result = yy_action_852(_last_pos, _args[0:3]) guard _sub_action_0_result is YYObj_List_Type_(_dollar1) YYObj_Option_List_Type__( { @@ -26158,7 +26874,7 @@ fn yy_action_839( // 40| L X R { $2 } ///| -fn yy_action_840( +fn yy_action_852( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26172,21 +26888,21 @@ fn yy_action_840( } // file:///./parser.mbty -// 2098| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { -// 2099| Name( -// 2100| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, -// 2101| tys = $2, -// 2102| loc = mk_loc($sloc) -// 2103| ) -// 2104| } +// 2132| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { +// 2133| Name( +// 2134| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, +// 2135| tys = $2, +// 2136| loc = mk_loc($sloc) +// 2137| ) +// 2138| } ///| -fn yy_action_841( +fn yy_action_853( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_838(_last_pos, _args[0:1]) - let _sub_action_1_result = yy_action_814(_args[0].2, _args[1:1]) + let _sub_action_0_result = yy_action_850(_last_pos, _args[0:1]) + let _sub_action_1_result = yy_action_826(_args[0].2, _args[1:1]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 @@ -26213,10 +26929,10 @@ fn yy_action_841( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_842( +fn yy_action_854( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26231,10 +26947,10 @@ fn yy_action_842( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_843( +fn yy_action_855( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26248,21 +26964,21 @@ fn yy_action_843( } // file:///./parser.mbty -// 2098| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { -// 2099| Name( -// 2100| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, -// 2101| tys = $2, -// 2102| loc = mk_loc($sloc) -// 2103| ) -// 2104| } +// 2132| qual_ident_ty_inline optional_type_arguments %prec prec_lower_than_as { +// 2133| Name( +// 2134| constr_id = ConstrId::{ id: $1, loc: mk_loc($loc($1)) }, +// 2135| tys = $2, +// 2136| loc = mk_loc($sloc) +// 2137| ) +// 2138| } ///| -fn yy_action_844( +fn yy_action_856( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_816(_last_pos, _args[0:2]) - let _sub_action_1_result = yy_action_814(_args[1].2, _args[2:2]) + let _sub_action_0_result = yy_action_828(_last_pos, _args[0:2]) + let _sub_action_1_result = yy_action_826(_args[1].2, _args[2:2]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) let _start_pos_of_item0 = _args[0].1 let _end_pos_of_item0 = _args[0].2 @@ -26289,19 +27005,19 @@ fn yy_action_844( } // file:///./parser.mbty -// 303| ioption(delimited("[", non_empty_list_commas(type_), "]")) { -// 304| match $1 { -// 305| None => @list.empty() -// 306| Some(params) => params -// 307| } -// 308| } +// 308| ioption(delimited("[", non_empty_list_commas(type_), "]")) { +// 309| match $1 { +// 310| None => @list.empty() +// 311| Some(params) => params +// 312| } +// 313| } ///| -fn yy_action_814( +fn yy_action_826( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_845(_last_pos, _args[0:0]) + let _sub_action_0_result = yy_action_857(_last_pos, _args[0:0]) guard _sub_action_0_result is YYObj_Option_List_Type__(_dollar1) YYObj_List_Type_( { @@ -26318,7 +27034,7 @@ fn yy_action_814( // 9| { None } ///| -fn yy_action_845( +fn yy_action_857( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26331,10 +27047,10 @@ fn yy_action_845( } // file:///./parser.mbty -// 2105| "&" qual_ident_ty { Object(ConstrId::{ id: $2, loc: mk_loc($loc($2)) }) } +// 2139| "&" qual_ident_ty { Object(ConstrId::{ id: $2, loc: mk_loc($loc($2)) }) } ///| -fn yy_action_846( +fn yy_action_858( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26353,10 +27069,10 @@ fn yy_action_846( } // file:///./parser.mbty -// 2106| "_" { Any(loc = mk_loc($sloc)) } +// 2140| "_" { Any(loc = mk_loc($sloc)) } ///| -fn yy_action_847( +fn yy_action_859( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26375,13 +27091,13 @@ fn yy_action_847( } // file:///./parser.mbty -// 2119| is_async "(" ")" "->" return_type { -// 2120| let (ty_res, ty_err) = $5 -// 2121| Arrow(args = @list.empty(), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) -// 2122| } +// 2153| is_async "(" ")" "->" return_type { +// 2154| let (ty_res, ty_err) = $5 +// 2155| Arrow(args = @list.empty(), res = ty_res, err = ty_err, is_async = $1, loc = mk_loc($sloc)) +// 2156| } ///| -fn yy_action_848( +fn yy_action_860( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26410,7 +27126,7 @@ fn yy_action_848( } // file:///./parser.mbty -// 280| "async" { Some(mk_loc($loc($1))) } +// 285| "async" { Some(mk_loc($loc($1))) } ///| fn yy_action_5( @@ -26428,10 +27144,10 @@ fn yy_action_5( } // file:///./parser.mbty -// 2079| error_annotation { (None, $1) } +// 2113| error_annotation { (None, $1) } ///| -fn yy_action_849( +fn yy_action_861( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26445,10 +27161,10 @@ fn yy_action_849( } // file:///./parser.mbty -// 2080| { (None, NoErrorType) } +// 2114| { (None, NoErrorType) } ///| -fn yy_action_850( +fn yy_action_862( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26461,10 +27177,10 @@ fn yy_action_850( } // file:///./parser.mbty -// 1103| { None } +// 1112| { None } ///| -fn yy_action_851( +fn yy_action_863( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26477,17 +27193,17 @@ fn yy_action_851( } // file:///./parser.mbty -// 1948| map_syntax_key ":" expr { -// 1949| MapExprElem::{ -// 1950| key: $1, -// 1951| expr: $3, -// 1952| key_loc: mk_loc($loc($1)), -// 1953| loc: mk_loc($sloc) -// 1954| } -// 1955| } +// 1982| map_syntax_key ":" expr { +// 1983| MapExprElem::{ +// 1984| key: $1, +// 1985| expr: $3, +// 1986| key_loc: mk_loc($loc($1)), +// 1987| loc: mk_loc($sloc) +// 1988| } +// 1989| } ///| -fn yy_action_852( +fn yy_action_864( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26515,10 +27231,10 @@ fn yy_action_852( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_853( +fn yy_action_865( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26533,10 +27249,10 @@ fn yy_action_853( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_854( +fn yy_action_866( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26550,10 +27266,10 @@ fn yy_action_854( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_855( +fn yy_action_867( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26567,10 +27283,10 @@ fn yy_action_855( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_856( +fn yy_action_868( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26583,10 +27299,10 @@ fn yy_action_856( } // file:///./parser.mbty -// 1748| anony_fn { Function(func = $1, loc = mk_loc($sloc)) } +// 1782| anony_fn { Function(func = $1, loc = mk_loc($sloc)) } ///| -fn yy_action_857( +fn yy_action_869( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26606,10 +27322,10 @@ fn yy_action_857( } // file:///./parser.mbty -// 1749| atomic_expr { $1 } +// 1783| atomic_expr { $1 } ///| -fn yy_action_858( +fn yy_action_870( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26623,10 +27339,10 @@ fn yy_action_858( } // file:///./parser.mbty -// 1751| qual_ident_simple_expr { @syntax.make_ident_expr(loc = mk_loc($sloc), Var::{ name: $1, loc: mk_loc($sloc) }) } +// 1785| qual_ident_simple_expr { @syntax.make_ident_expr(loc = mk_loc($sloc), Var::{ name: $1, loc: mk_loc($sloc) }) } ///| -fn yy_action_859( +fn yy_action_871( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26649,10 +27365,10 @@ fn yy_action_859( } // file:///./parser.mbty -// 1752| constr { Constr(constr = $1, loc = mk_loc($sloc)) } +// 1786| constr { Constr(constr = $1, loc = mk_loc($sloc)) } ///| -fn yy_action_860( +fn yy_action_872( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26672,10 +27388,10 @@ fn yy_action_860( } // file:///./parser.mbty -// 1944| ".." expr { Spread(expr = $2, loc = mk_loc($sloc)) } +// 1978| ".." expr { Spread(expr = $2, loc = mk_loc($sloc)) } ///| -fn yy_action_861( +fn yy_action_873( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26695,10 +27411,10 @@ fn yy_action_861( } // file:///./parser.mbty -// 174| non_empty_list_commas_rev(X) "," X { $1.add($3) } +// 179| non_empty_list_commas_rev(X) "," X { $1.add($3) } ///| -fn yy_action_862( +fn yy_action_874( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26716,7 +27432,7 @@ fn yy_action_862( // 5| X { Some($1) } ///| -fn yy_action_863( +fn yy_action_875( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26730,10 +27446,10 @@ fn yy_action_863( } // file:///./parser.mbty -// 182| non_empty_list_commas_rev(X) option(",") { $1.rev() } +// 187| non_empty_list_commas_rev(X) option(",") { $1.rev() } ///| -fn yy_action_864( +fn yy_action_876( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26750,7 +27466,7 @@ fn yy_action_864( // 4| { None } ///| -fn yy_action_865( +fn yy_action_877( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26763,10 +27479,10 @@ fn yy_action_865( } // file:///./parser.mbty -// 173| X { @list.singleton($1) } +// 178| X { @list.singleton($1) } ///| -fn yy_action_866( +fn yy_action_878( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26780,10 +27496,10 @@ fn yy_action_866( } // file:///./parser.mbty -// 190| { @list.empty() } +// 195| { @list.empty() } ///| -fn yy_action_867( +fn yy_action_879( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26796,10 +27512,10 @@ fn yy_action_867( } // file:///./parser.mbty -// 1805| tuple_expr { $1 } +// 1839| tuple_expr { $1 } ///| -fn yy_action_868( +fn yy_action_880( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26813,10 +27529,10 @@ fn yy_action_868( } // file:///./parser.mbty -// 1850| qual_ident_ty { TypeName::{ name: $1, is_object: false, loc: mk_loc($sloc) } } +// 1884| qual_ident_ty { TypeName::{ name: $1, is_object: false, loc: mk_loc($sloc) } } ///| -fn yy_action_869( +fn yy_action_881( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26840,14 +27556,14 @@ fn yy_action_869( } // file:///./parser.mbty -// 1091| qual_ident_ty_inline { $1 } +// 1100| qual_ident_ty_inline { $1 } ///| -fn yy_action_870( +fn yy_action_882( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_838(_last_pos, _args[0:1]) + let _sub_action_0_result = yy_action_850(_last_pos, _args[0:1]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) YYObj_LongIdent( { @@ -26858,10 +27574,10 @@ fn yy_action_870( } // file:///./parser.mbty -// 1085| UIDENT { LongIdent::Ident(name = $1) } +// 1094| UIDENT { LongIdent::Ident(name = $1) } ///| -fn yy_action_838( +fn yy_action_850( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26875,14 +27591,14 @@ fn yy_action_838( } // file:///./parser.mbty -// 1091| qual_ident_ty_inline { $1 } +// 1100| qual_ident_ty_inline { $1 } ///| -fn yy_action_871( +fn yy_action_883( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_811(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_823(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) YYObj_LongIdent( { @@ -26893,10 +27609,10 @@ fn yy_action_871( } // file:///./parser.mbty -// 1086| PACKAGE_NAME DOT_LIDENT { LongIdent::Dot(pkg = $1, id = $2) } +// 1095| PACKAGE_NAME DOT_LIDENT { LongIdent::Dot(pkg = $1, id = $2) } ///| -fn yy_action_811( +fn yy_action_823( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26911,14 +27627,14 @@ fn yy_action_811( } // file:///./parser.mbty -// 1091| qual_ident_ty_inline { $1 } +// 1100| qual_ident_ty_inline { $1 } ///| -fn yy_action_872( +fn yy_action_884( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { - let _sub_action_0_result = yy_action_816(_last_pos, _args[0:2]) + let _sub_action_0_result = yy_action_828(_last_pos, _args[0:2]) guard _sub_action_0_result is YYObj_LongIdent(_dollar1) YYObj_LongIdent( { @@ -26929,10 +27645,10 @@ fn yy_action_872( } // file:///./parser.mbty -// 1087| PACKAGE_NAME DOT_UIDENT { LongIdent::Dot(pkg = $1, id = $2) } +// 1096| PACKAGE_NAME DOT_UIDENT { LongIdent::Dot(pkg = $1, id = $2) } ///| -fn yy_action_816( +fn yy_action_828( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26947,10 +27663,10 @@ fn yy_action_816( } // file:///./parser.mbty -// 1851| "&" qual_ident_ty { TypeName::{ name: $2, is_object: true, loc: mk_loc($sloc) } } +// 1885| "&" qual_ident_ty { TypeName::{ name: $2, is_object: true, loc: mk_loc($sloc) } } ///| -fn yy_action_873( +fn yy_action_885( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26974,10 +27690,10 @@ fn yy_action_873( } // file:///./parser.mbty -// 1862| simple_constant { make_constant_expr(loc = mk_loc($sloc), $1) } +// 1896| simple_constant { make_constant_expr(loc = mk_loc($sloc), $1) } ///| -fn yy_action_874( +fn yy_action_886( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -26997,12 +27713,12 @@ fn yy_action_874( } // file:///./parser.mbty -// 1863| non_empty_list(multiline_string) { -// 1864| MultilineString(elems = $1, loc = mk_loc($sloc)) -// 1865| } +// 1897| non_empty_list(multiline_string) { +// 1898| MultilineString(elems = $1, loc = mk_loc($sloc)) +// 1899| } ///| -fn yy_action_875( +fn yy_action_887( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27022,10 +27738,10 @@ fn yy_action_875( } // file:///./parser.mbty -// 1866| INTERP { make_interp_expr(loc = mk_loc($sloc), $1) } +// 1900| INTERP { make_interp_expr(loc = mk_loc($sloc), $1) } ///| -fn yy_action_876( +fn yy_action_888( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27045,10 +27761,10 @@ fn yy_action_876( } // file:///./parser.mbty -// 1870| TRUE { Bool(true) } +// 1904| TRUE { Bool(true) } ///| -fn yy_action_877( +fn yy_action_889( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27061,10 +27777,10 @@ fn yy_action_877( } // file:///./parser.mbty -// 1871| FALSE { Bool(false) } +// 1905| FALSE { Bool(false) } ///| -fn yy_action_878( +fn yy_action_890( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27077,10 +27793,10 @@ fn yy_action_878( } // file:///./parser.mbty -// 1872| BYTE { Byte($1) } +// 1906| BYTE { Byte($1) } ///| -fn yy_action_879( +fn yy_action_891( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27094,10 +27810,10 @@ fn yy_action_879( } // file:///./parser.mbty -// 1873| BYTES { Bytes($1) } +// 1907| BYTES { Bytes($1) } ///| -fn yy_action_880( +fn yy_action_892( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27111,10 +27827,10 @@ fn yy_action_880( } // file:///./parser.mbty -// 1874| CHAR { Char($1) } +// 1908| CHAR { Char($1) } ///| -fn yy_action_881( +fn yy_action_893( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27128,10 +27844,10 @@ fn yy_action_881( } // file:///./parser.mbty -// 1875| INT { make_int($1) } +// 1909| INT { make_int($1) } ///| -fn yy_action_882( +fn yy_action_894( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27145,10 +27861,10 @@ fn yy_action_882( } // file:///./parser.mbty -// 1876| DOUBLE { make_double($1) } +// 1910| DOUBLE { make_double($1) } ///| -fn yy_action_883( +fn yy_action_895( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27162,10 +27878,10 @@ fn yy_action_883( } // file:///./parser.mbty -// 1877| FLOAT { make_float($1) } +// 1911| FLOAT { make_float($1) } ///| -fn yy_action_884( +fn yy_action_896( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27179,10 +27895,10 @@ fn yy_action_884( } // file:///./parser.mbty -// 1878| STRING { String($1) } +// 1912| STRING { String($1) } ///| -fn yy_action_885( +fn yy_action_897( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27196,10 +27912,10 @@ fn yy_action_885( } // file:///./parser.mbty -// 1855| MULTILINE_STRING { String($1) } +// 1889| MULTILINE_STRING { String($1) } ///| -fn yy_action_886( +fn yy_action_898( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27213,12 +27929,12 @@ fn yy_action_886( } // file:///./parser.mbty -// 1856| MULTILINE_INTERP { -// 1857| Interp(make_interps($1)) -// 1858| } +// 1890| MULTILINE_INTERP { +// 1891| Interp(make_interps($1)) +// 1892| } ///| -fn yy_action_887( +fn yy_action_899( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27232,10 +27948,10 @@ fn yy_action_887( } // file:///./parser.mbty -// 169| X non_empty_list(X) { $2.add($1) } +// 174| X non_empty_list(X) { $2.add($1) } ///| -fn yy_action_888( +fn yy_action_900( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27250,10 +27966,10 @@ fn yy_action_888( } // file:///./parser.mbty -// 168| X { @list.singleton($1) } +// 173| X { @list.singleton($1) } ///| -fn yy_action_889( +fn yy_action_901( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27267,10 +27983,10 @@ fn yy_action_889( } // file:///./parser.mbty -// 1202| { None} +// 1211| { None} ///| -fn yy_action_890( +fn yy_action_902( _last_pos : Position, _args : ArrayView[(YYObj, Position, Position)], ) -> YYObj { @@ -27397,11 +28113,13 @@ fn yy_input( ENUMVIEW => (T_ENUMVIEW, YYObj_Void) DECLARE => (T_DECLARE, YYObj_Void) NORAISE => (T_NORAISE, YYObj_Void) + NOBREAK => (T_NOBREAK, YYObj_Void) WHERE => (T_WHERE, YYObj_Void) TRY_QUESTION => (T_TRY_QUESTION, YYObj_Void) TRY_EXCLAMATION => (T_TRY_EXCLAMATION, YYObj_Void) LEXMATCH => (T_LEXMATCH, YYObj_Void) LEXMATCH_QUESTION => (T_LEXMATCH_QUESTION, YYObj_Void) + PACKAGE => (T_PACKAGE, YYObj_Void) } } @@ -27461,17 +28179,17 @@ fn yy_state_0(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_837) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_845) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } @@ -27528,84 +28246,84 @@ fn yy_state_2(_lookahead : YYSymbol) -> YYDecision { | T_IS | T_AND | T_LEXMATCH_QUESTION => - Reduce(1, NT_non_empty_list_multiline_string_, yy_action_889) + Reduce(1, NT_non_empty_list_multiline_string_, yy_action_901) _ => Error } } ///| fn yy_state_3(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_multiline_string_, yy_action_888) + ReduceNoLookahead(2, NT_non_empty_list_multiline_string_, yy_action_900) } ///| fn yy_state_4(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_multiline_string, yy_action_887) + ReduceNoLookahead(1, NT_multiline_string, yy_action_899) } ///| fn yy_state_5(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_multiline_string, yy_action_886) + ReduceNoLookahead(1, NT_multiline_string, yy_action_898) } ///| fn yy_state_6(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_885) + ReduceNoLookahead(1, NT_simple_constant, yy_action_897) } ///| fn yy_state_7(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_884) + ReduceNoLookahead(1, NT_simple_constant, yy_action_896) } ///| fn yy_state_8(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_883) + ReduceNoLookahead(1, NT_simple_constant, yy_action_895) } ///| fn yy_state_9(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_882) + ReduceNoLookahead(1, NT_simple_constant, yy_action_894) } ///| fn yy_state_10(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_881) + ReduceNoLookahead(1, NT_simple_constant, yy_action_893) } ///| fn yy_state_11(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_880) + ReduceNoLookahead(1, NT_simple_constant, yy_action_892) } ///| fn yy_state_12(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_879) + ReduceNoLookahead(1, NT_simple_constant, yy_action_891) } ///| fn yy_state_13(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_878) + ReduceNoLookahead(1, NT_simple_constant, yy_action_890) } ///| fn yy_state_14(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_constant, yy_action_877) + ReduceNoLookahead(1, NT_simple_constant, yy_action_889) } ///| fn yy_state_15(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_atomic_expr, yy_action_876) + ReduceNoLookahead(1, NT_atomic_expr, yy_action_888) } ///| fn yy_state_16(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_atomic_expr, yy_action_875) + ReduceNoLookahead(1, NT_atomic_expr, yy_action_887) } ///| fn yy_state_17(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_atomic_expr, yy_action_874) + ReduceNoLookahead(1, NT_atomic_expr, yy_action_886) } ///| @@ -27620,7 +28338,7 @@ fn yy_state_18(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_19(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_type_name, yy_action_873) + ReduceNoLookahead(2, NT_type_name, yy_action_885) } ///| @@ -27634,27 +28352,27 @@ fn yy_state_20(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_21(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_qual_ident_ty, yy_action_872) + ReduceNoLookahead(2, NT_qual_ident_ty, yy_action_884) } ///| fn yy_state_22(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_qual_ident_ty, yy_action_871) + ReduceNoLookahead(2, NT_qual_ident_ty, yy_action_883) } ///| fn yy_state_23(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_qual_ident_ty, yy_action_870) + ReduceNoLookahead(1, NT_qual_ident_ty, yy_action_882) } ///| fn yy_state_24(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_type_name, yy_action_869) + ReduceNoLookahead(1, NT_type_name, yy_action_881) } ///| fn yy_state_25(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_expr, yy_action_868) + ReduceNoLookahead(1, NT_simple_expr, yy_action_880) } ///| @@ -27715,20 +28433,20 @@ fn yy_state_26(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_833) - NT_non_empty_list_commas_spreadable_elem_ => Shift(yy_state_834) - NT_list_commas_spreadable_elem_ => Shift(yy_state_835) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACKET => Reduce(0, NT_list_commas_spreadable_elem_, yy_action_867) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_841) + NT_non_empty_list_commas_spreadable_elem_ => Shift(yy_state_842) + NT_list_commas_spreadable_elem_ => Shift(yy_state_843) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACKET => Reduce(0, NT_list_commas_spreadable_elem_, yy_action_879) _ => Error } } @@ -27738,7 +28456,7 @@ fn yy_state_27(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_spreadable_elem_, - yy_action_866, + yy_action_878, ) } @@ -27747,14 +28465,14 @@ fn yy_state_28(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_29) T_COMMA => Shift(yy_state_30) - T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_29(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_spreadable_elem_, yy_action_864) + ReduceNoLookahead(2, NT_non_empty_list_commas_spreadable_elem_, yy_action_876) } ///| @@ -27814,18 +28532,18 @@ fn yy_state_30(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_833) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_841) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } @@ -27835,7 +28553,7 @@ fn yy_state_31(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_spreadable_elem_, - yy_action_862, + yy_action_874, ) } @@ -27895,43 +28613,43 @@ fn yy_state_32(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_33(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_spreadable_elem, yy_action_861) + ReduceNoLookahead(2, NT_spreadable_elem, yy_action_873) } ///| fn yy_state_34(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_expr, yy_action_860) + ReduceNoLookahead(1, NT_simple_expr, yy_action_872) } ///| fn yy_state_35(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_expr, yy_action_859) + ReduceNoLookahead(1, NT_simple_expr, yy_action_871) } ///| fn yy_state_36(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_expr, yy_action_858) + ReduceNoLookahead(1, NT_simple_expr, yy_action_870) } ///| fn yy_state_37(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_expr, yy_action_857) + ReduceNoLookahead(1, NT_simple_expr, yy_action_869) } ///| @@ -27989,43 +28707,43 @@ fn yy_state_38(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - NT_expr_statement_no_break_continue_return => Shift(yy_state_599) - T_RETURN => Shift(yy_state_600) - T_CONTINUE => Shift(yy_state_603) - T_BREAK => Shift(yy_state_612) - T_GUARD => Shift(yy_state_739) - NT_expr_statement => Shift(yy_state_743) - T_DEFER => Shift(yy_state_744) - NT_guard_statement => Shift(yy_state_746) - T_FN => Shift(yy_state_747) - T_ASYNC => Shift(yy_state_753) - T_LETREC => Shift(yy_state_760) - T_LET => Shift(yy_state_786) - NT_non_empty_list_commas_map_expr_elem_ => Shift(yy_state_805) - NT_non_empty_list_semi_rev_aux_statement_ => Shift(yy_state_806) - NT_simple_constant => Shift(yy_state_808) - NT_list_commas_map_expr_elem_ => Shift(yy_state_809) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + T_GUARD => Shift(yy_state_747) + NT_expr_statement => Shift(yy_state_751) + T_DEFER => Shift(yy_state_752) + NT_guard_statement => Shift(yy_state_754) + T_FN => Shift(yy_state_755) + T_ASYNC => Shift(yy_state_761) + T_LETREC => Shift(yy_state_768) + T_LET => Shift(yy_state_794) + NT_non_empty_list_commas_map_expr_elem_ => Shift(yy_state_813) + NT_non_empty_list_semi_rev_aux_statement_ => Shift(yy_state_814) + NT_simple_constant => Shift(yy_state_816) + NT_list_commas_map_expr_elem_ => Shift(yy_state_817) NT_none_empty_list_semis_rev_with_trailing_info_statement_ => - Shift(yy_state_811) - T_DOTDOT => Shift(yy_state_813) - NT_record_defn => Shift(yy_state_819) - T_MINUS => Shift(yy_state_821) - T_LIDENT => Shift(yy_state_825) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACE => Reduce(0, NT_list_commas_map_expr_elem_, yy_action_856) + Shift(yy_state_819) + T_DOTDOT => Shift(yy_state_821) + NT_record_defn => Shift(yy_state_827) + T_MINUS => Shift(yy_state_829) + T_LIDENT => Shift(yy_state_833) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACE => Reduce(0, NT_list_commas_map_expr_elem_, yy_action_868) _ => Error } } @@ -28035,7 +28753,7 @@ fn yy_state_39(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_map_expr_elem_, - yy_action_855, + yy_action_867, ) } @@ -28044,14 +28762,14 @@ fn yy_state_40(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_41) T_COMMA => Shift(yy_state_42) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_41(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_map_expr_elem_, yy_action_854) + ReduceNoLookahead(2, NT_non_empty_list_commas_map_expr_elem_, yy_action_866) } ///| @@ -28070,7 +28788,7 @@ fn yy_state_42(_lookahead : YYSymbol) -> YYDecision { NT_map_syntax_key => Shift(yy_state_44) T_MINUS => Shift(yy_state_351) NT_simple_constant => Shift(yy_state_355) - T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } @@ -28080,7 +28798,7 @@ fn yy_state_43(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_map_expr_elem_, - yy_action_853, + yy_action_865, ) } @@ -28148,31 +28866,31 @@ fn yy_state_45(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_46(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_map_expr_elem, yy_action_852) + ReduceNoLookahead(3, NT_map_expr_elem, yy_action_864) } ///| fn yy_state_47(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_optional_bang => Shift(yy_state_48) - T_EXCLAMATION => Shift(yy_state_726) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } @@ -28194,14 +28912,14 @@ fn yy_state_49(_lookahead : YYSymbol) -> YYDecision { T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) NT_func_return_type => Shift(yy_state_122) - T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| fn yy_state_50(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_func_return_type, yy_action_849) + ReduceNoLookahead(1, NT_func_return_type, yy_action_861) } ///| @@ -28270,12 +28988,12 @@ fn yy_state_55(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_56(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_, yy_action_848) + ReduceNoLookahead(5, NT_type_, yy_action_860) } ///| fn yy_state_57(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_type, yy_action_847) + ReduceNoLookahead(1, NT_simple_type, yy_action_859) } ///| @@ -28290,7 +29008,7 @@ fn yy_state_58(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_59(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_type, yy_action_846) + ReduceNoLookahead(2, NT_simple_type, yy_action_858) } ///| @@ -28320,7 +29038,7 @@ fn yy_state_61(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AS - | T_NORAISE => Reduce(2, NT_simple_type, yy_action_844) + | T_NORAISE => Reduce(2, NT_simple_type, yy_action_856) _ => Error } } @@ -28344,7 +29062,7 @@ fn yy_state_62(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_63(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_list_commas_rev_type__, yy_action_843) + ReduceNoLookahead(1, NT_non_empty_list_commas_rev_type__, yy_action_855) } ///| @@ -28352,7 +29070,7 @@ fn yy_state_64(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_65) NT_option_COMMA_ => Shift(yy_state_102) - T_RPAREN | T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RPAREN | T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -28368,14 +29086,14 @@ fn yy_state_65(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - T_RPAREN | T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RPAREN | T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| fn yy_state_66(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_commas_rev_type__, yy_action_842) + ReduceNoLookahead(3, NT_non_empty_list_commas_rev_type__, yy_action_854) } ///| @@ -28396,7 +29114,7 @@ fn yy_state_67(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AS - | T_NORAISE => Reduce(1, NT_simple_type, yy_action_841) + | T_NORAISE => Reduce(1, NT_simple_type, yy_action_853) _ => Error } } @@ -28428,7 +29146,7 @@ fn yy_state_69(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_70(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_simple_type, yy_action_837) + ReduceNoLookahead(4, NT_simple_type, yy_action_849) } ///| @@ -28473,7 +29191,7 @@ fn yy_state_73(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_74(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_type_, yy_action_836) + ReduceNoLookahead(4, NT_type_, yy_action_848) } ///| @@ -28494,14 +29212,14 @@ fn yy_state_75(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AS => Reduce(1, NT_type_, yy_action_835) + | T_AS => Reduce(1, NT_type_, yy_action_847) _ => Error } } ///| fn yy_state_76(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_return_type, yy_action_834) + ReduceNoLookahead(2, NT_return_type, yy_action_846) } ///| @@ -28526,24 +29244,24 @@ fn yy_state_77(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AS - | T_NORAISE => Reduce(2, NT_simple_type, yy_action_833) + | T_NORAISE => Reduce(2, NT_simple_type, yy_action_845) _ => Error } } ///| fn yy_state_78(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_error_type, yy_action_832) + ReduceNoLookahead(1, NT_error_type, yy_action_844) } ///| fn yy_state_79(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_error_type, yy_action_831) + ReduceNoLookahead(1, NT_error_type, yy_action_843) } ///| fn yy_state_80(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_return_type, yy_action_830) + ReduceNoLookahead(3, NT_return_type, yy_action_842) } ///| @@ -28564,19 +29282,19 @@ fn yy_state_81(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AS => Reduce(2, NT_return_type, yy_action_829) + | T_AS => Reduce(2, NT_return_type, yy_action_841) _ => Error } } ///| fn yy_state_82(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_return_type, yy_action_828) + ReduceNoLookahead(3, NT_return_type, yy_action_840) } ///| fn yy_state_83(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_error_annotation, yy_action_827) + ReduceNoLookahead(1, NT_error_annotation, yy_action_839) } ///| @@ -28598,24 +29316,24 @@ fn yy_state_84(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AS => Reduce(1, NT_error_annotation, yy_action_826) + | T_AS => Reduce(1, NT_error_annotation, yy_action_838) _ => Error } } ///| fn yy_state_85(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_error_annotation, yy_action_825) + ReduceNoLookahead(2, NT_error_annotation, yy_action_837) } ///| fn yy_state_86(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_error_annotation, yy_action_824) + ReduceNoLookahead(2, NT_error_annotation, yy_action_836) } ///| fn yy_state_87(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_return_type, yy_action_823) + ReduceNoLookahead(1, NT_return_type, yy_action_835) } ///| @@ -28645,7 +29363,7 @@ fn yy_state_89(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AS - | T_NORAISE => Reduce(3, NT_simple_type, yy_action_822) + | T_NORAISE => Reduce(3, NT_simple_type, yy_action_834) _ => Error } } @@ -28668,7 +29386,7 @@ fn yy_state_90(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_91(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_type_, yy_action_821) + ReduceNoLookahead(5, NT_type_, yy_action_833) } ///| @@ -28715,7 +29433,7 @@ fn yy_state_94(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_95(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_, yy_action_820) + ReduceNoLookahead(6, NT_type_, yy_action_832) } ///| @@ -28744,7 +29462,7 @@ fn yy_state_97(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AS - | T_NORAISE => Reduce(5, NT_simple_type, yy_action_819) + | T_NORAISE => Reduce(5, NT_simple_type, yy_action_831) _ => Error } } @@ -28767,7 +29485,7 @@ fn yy_state_98(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_99(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_, yy_action_818) + ReduceNoLookahead(7, NT_type_, yy_action_830) } ///| @@ -28783,19 +29501,19 @@ fn yy_state_100(_lookahead : YYSymbol) -> YYDecision { | T_SEMI | T_RBRACKET | T_RBRACE - | T_AS => Reduce(1, NT_type_, yy_action_835) + | T_AS => Reduce(1, NT_type_, yy_action_847) _ => Error } } ///| fn yy_state_101(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_type, yy_action_833) + ReduceNoLookahead(2, NT_simple_type, yy_action_845) } ///| fn yy_state_102(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_type__, yy_action_817) + ReduceNoLookahead(2, NT_non_empty_list_commas_type__, yy_action_829) } ///| @@ -28808,7 +29526,7 @@ fn yy_state_103(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_104(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_type, yy_action_815) + ReduceNoLookahead(5, NT_simple_type, yy_action_827) } ///| @@ -28829,7 +29547,7 @@ fn yy_state_105(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AS - | T_NORAISE => Reduce(2, NT_simple_type, yy_action_813) + | T_NORAISE => Reduce(2, NT_simple_type, yy_action_825) _ => Error } } @@ -28861,7 +29579,7 @@ fn yy_state_107(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_108(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_type, yy_action_810) + ReduceNoLookahead(5, NT_simple_type, yy_action_822) } ///| @@ -28899,7 +29617,7 @@ fn yy_state_111(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_112(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_type_, yy_action_809) + ReduceNoLookahead(6, NT_type_, yy_action_821) } ///| @@ -28954,7 +29672,7 @@ fn yy_state_116(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_117(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(8, NT_type_, yy_action_807) + ReduceNoLookahead(8, NT_type_, yy_action_819) } ///| @@ -28983,12 +29701,12 @@ fn yy_state_119(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_120(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_type_, yy_action_805) + ReduceNoLookahead(7, NT_type_, yy_action_817) } ///| fn yy_state_121(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_return_type, yy_action_804) + ReduceNoLookahead(2, NT_func_return_type, yy_action_816) } ///| @@ -29002,7 +29720,7 @@ fn yy_state_122(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_123(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_anony_fn, yy_action_803) + ReduceNoLookahead(5, NT_anony_fn, yy_action_815) } ///| @@ -29060,43 +29778,43 @@ fn yy_state_124(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_599) - T_RETURN => Shift(yy_state_600) - T_CONTINUE => Shift(yy_state_603) - T_BREAK => Shift(yy_state_612) - T_GUARD => Shift(yy_state_739) - NT_expr_statement => Shift(yy_state_743) - T_DEFER => Shift(yy_state_744) - NT_guard_statement => Shift(yy_state_746) - T_FN => Shift(yy_state_747) - T_ASYNC => Shift(yy_state_753) - T_LETREC => Shift(yy_state_760) - T_LET => Shift(yy_state_786) - NT_non_empty_list_semis_rev_statement_ => Shift(yy_state_802) - NT_list_semis_rev_statement_ => Shift(yy_state_803) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACE => Reduce(0, NT_list_semis_rev_statement_, yy_action_802) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + T_GUARD => Shift(yy_state_747) + NT_expr_statement => Shift(yy_state_751) + T_DEFER => Shift(yy_state_752) + NT_guard_statement => Shift(yy_state_754) + T_FN => Shift(yy_state_755) + T_ASYNC => Shift(yy_state_761) + T_LETREC => Shift(yy_state_768) + T_LET => Shift(yy_state_794) + NT_non_empty_list_semis_rev_statement_ => Shift(yy_state_810) + NT_list_semis_rev_statement_ => Shift(yy_state_811) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACE => Reduce(0, NT_list_semis_rev_statement_, yy_action_814) _ => Error } } ///| fn yy_state_125(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_list_semi_rev_aux_statement_, yy_action_801) + ReduceNoLookahead(1, NT_non_empty_list_semi_rev_aux_statement_, yy_action_813) } ///| @@ -29104,14 +29822,14 @@ fn yy_state_126(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_SEMI_ => Shift(yy_state_127) T_SEMI => Shift(yy_state_128) - T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_800) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| fn yy_state_127(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_semis_rev_statement_, yy_action_799) + ReduceNoLookahead(2, NT_non_empty_list_semis_rev_statement_, yy_action_811) } ///| @@ -29168,41 +29886,41 @@ fn yy_state_128(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_599) - T_RETURN => Shift(yy_state_600) - T_CONTINUE => Shift(yy_state_603) - T_BREAK => Shift(yy_state_612) - T_GUARD => Shift(yy_state_739) - NT_expr_statement => Shift(yy_state_743) - T_DEFER => Shift(yy_state_744) - NT_guard_statement => Shift(yy_state_746) - T_FN => Shift(yy_state_747) - T_ASYNC => Shift(yy_state_753) - T_LETREC => Shift(yy_state_760) - T_LET => Shift(yy_state_786) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_798) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + T_GUARD => Shift(yy_state_747) + NT_expr_statement => Shift(yy_state_751) + T_DEFER => Shift(yy_state_752) + NT_guard_statement => Shift(yy_state_754) + T_FN => Shift(yy_state_755) + T_ASYNC => Shift(yy_state_761) + T_LETREC => Shift(yy_state_768) + T_LET => Shift(yy_state_794) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } ///| fn yy_state_129(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_semi_rev_aux_statement_, yy_action_797) + ReduceNoLookahead(3, NT_non_empty_list_semi_rev_aux_statement_, yy_action_809) } ///| @@ -29225,7 +29943,7 @@ fn yy_state_131(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_132(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_expr, yy_action_796) + ReduceNoLookahead(3, NT_simple_expr, yy_action_808) } ///| @@ -29235,14 +29953,14 @@ fn yy_state_133(_lookahead : YYSymbol) -> YYDecision { NT_non_empty_list_commas_rev_record_defn_single_ => Shift(yy_state_135) T_LIDENT => Shift(yy_state_139) NT_non_empty_list_commas_with_trailing_info_record_defn_single_ => - Shift(yy_state_727) - T_DOTDOT => Shift(yy_state_728) - NT_list_commas_with_trailing_info_record_defn_single_ => Shift(yy_state_737) + Shift(yy_state_735) + T_DOTDOT => Shift(yy_state_736) + NT_list_commas_with_trailing_info_record_defn_single_ => Shift(yy_state_745) T_RBRACE => Reduce( 0, NT_list_commas_with_trailing_info_record_defn_single_, - yy_action_795, + yy_action_807, ) _ => Error } @@ -29253,7 +29971,7 @@ fn yy_state_134(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_record_defn_single_, - yy_action_794, + yy_action_806, ) } @@ -29262,7 +29980,7 @@ fn yy_state_135(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_136) T_COMMA => Shift(yy_state_137) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -29272,7 +29990,7 @@ fn yy_state_136(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_with_trailing_info_record_defn_single_, - yy_action_793, + yy_action_805, ) } @@ -29281,7 +29999,7 @@ fn yy_state_137(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_record_defn_single => Shift(yy_state_138) T_LIDENT => Shift(yy_state_139) - T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } @@ -29291,7 +30009,7 @@ fn yy_state_138(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_record_defn_single_, - yy_action_792, + yy_action_804, ) } @@ -29299,7 +30017,7 @@ fn yy_state_138(_lookahead : YYSymbol) -> YYDecision { fn yy_state_139(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COLON => Shift(yy_state_140) - T_COMMA | T_RBRACE => Reduce(1, NT_record_defn_single, yy_action_791) + T_COMMA | T_RBRACE => Reduce(1, NT_record_defn_single, yy_action_803) _ => Error } } @@ -29360,23 +30078,23 @@ fn yy_state_140(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_141(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_record_defn_single, yy_action_790) + ReduceNoLookahead(3, NT_record_defn_single, yy_action_802) } ///| @@ -29391,8 +30109,8 @@ fn yy_state_142(_lookahead : YYSymbol) -> YYDecision { fn yy_state_143(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_optional_bang => Shift(yy_state_144) - T_EXCLAMATION => Shift(yy_state_726) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } @@ -29414,7 +30132,7 @@ fn yy_state_145(_lookahead : YYSymbol) -> YYDecision { T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) NT_func_return_type => Shift(yy_state_146) - T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } @@ -29430,7 +30148,7 @@ fn yy_state_146(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_147(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_anony_fn, yy_action_789) + ReduceNoLookahead(6, NT_anony_fn, yy_action_801) } ///| @@ -29439,18 +30157,18 @@ fn yy_state_148(_lookahead : YYSymbol) -> YYDecision { NT_parameter => Shift(yy_state_149) NT_non_empty_list_commas_rev_parameter_ => Shift(yy_state_150) T_POST_LABEL => Shift(yy_state_154) - T_LIDENT => Shift(yy_state_710) - T_UNDERSCORE => Shift(yy_state_720) - NT_non_empty_list_commas_parameter_ => Shift(yy_state_723) - NT_list_commas_parameter_ => Shift(yy_state_724) - T_RPAREN => Reduce(0, NT_list_commas_parameter_, yy_action_788) + T_LIDENT => Shift(yy_state_718) + T_UNDERSCORE => Shift(yy_state_728) + NT_non_empty_list_commas_parameter_ => Shift(yy_state_731) + NT_list_commas_parameter_ => Shift(yy_state_732) + T_RPAREN => Reduce(0, NT_list_commas_parameter_, yy_action_800) _ => Error } } ///| fn yy_state_149(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_list_commas_rev_parameter_, yy_action_787) + ReduceNoLookahead(1, NT_non_empty_list_commas_rev_parameter_, yy_action_799) } ///| @@ -29458,14 +30176,14 @@ fn yy_state_150(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_151) T_COMMA => Shift(yy_state_152) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_151(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_parameter_, yy_action_786) + ReduceNoLookahead(2, NT_non_empty_list_commas_parameter_, yy_action_798) } ///| @@ -29473,24 +30191,24 @@ fn yy_state_152(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_parameter => Shift(yy_state_153) T_POST_LABEL => Shift(yy_state_154) - T_LIDENT => Shift(yy_state_710) - T_UNDERSCORE => Shift(yy_state_720) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + T_LIDENT => Shift(yy_state_718) + T_UNDERSCORE => Shift(yy_state_728) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| fn yy_state_153(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_commas_rev_parameter_, yy_action_785) + ReduceNoLookahead(3, NT_non_empty_list_commas_rev_parameter_, yy_action_797) } ///| fn yy_state_154(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_EQUAL => Shift(yy_state_155) - T_COLON => Shift(yy_state_706) - T_RPAREN | T_COMMA => Reduce(1, NT_parameter, yy_action_783) + T_COLON => Shift(yy_state_714) + T_RPAREN | T_COMMA => Reduce(1, NT_parameter, yy_action_795) _ => Error } } @@ -29550,17 +30268,17 @@ fn yy_state_155(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_705) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_713) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } @@ -29571,10 +30289,10 @@ fn yy_state_156(_lookahead : YYSymbol) -> YYDecision { T_DOT_INT => Shift(yy_state_157) T_DOTDOT => Shift(yy_state_158) T_QUESTION => Shift(yy_state_410) - T_EXCLAMATION => Shift(yy_state_647) - T_LPAREN => Shift(yy_state_651) - T_DOT_LIDENT => Shift(yy_state_701) - T_LBRACKET => Shift(yy_state_702) + T_EXCLAMATION => Shift(yy_state_655) + T_LPAREN => Shift(yy_state_659) + T_DOT_LIDENT => Shift(yy_state_709) + T_LBRACKET => Shift(yy_state_710) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -29607,14 +30325,14 @@ fn yy_state_156(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_prefix_expr, yy_action_782) + | T_LEXMATCH_QUESTION => Reduce(1, NT_prefix_expr, yy_action_794) _ => Error } } ///| fn yy_state_157(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_expr, yy_action_781) + ReduceNoLookahead(2, NT_simple_expr, yy_action_793) } ///| @@ -29629,8 +30347,8 @@ fn yy_state_158(_lookahead : YYSymbol) -> YYDecision { fn yy_state_159(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_160) - T_EXCLAMATION => Shift(yy_state_694) - T_LPAREN => Shift(yy_state_698) + T_EXCLAMATION => Shift(yy_state_702) + T_LPAREN => Shift(yy_state_706) _ => Error } } @@ -29702,25 +30420,25 @@ fn yy_state_161(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_692) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_700) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| fn yy_state_162(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_list_commas_rev_argument_, yy_action_779) + ReduceNoLookahead(1, NT_non_empty_list_commas_rev_argument_, yy_action_791) } ///| @@ -29728,14 +30446,14 @@ fn yy_state_163(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_164) T_COMMA => Shift(yy_state_165) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_164(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_argument_, yy_action_778) + ReduceNoLookahead(2, NT_non_empty_list_commas_argument_, yy_action_790) } ///| @@ -29795,29 +30513,29 @@ fn yy_state_165(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| fn yy_state_166(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_commas_rev_argument_, yy_action_777) + ReduceNoLookahead(3, NT_non_empty_list_commas_rev_argument_, yy_action_789) } ///| fn yy_state_167(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_argument, yy_action_776) + ReduceNoLookahead(1, NT_argument, yy_action_788) } ///| @@ -29859,14 +30577,14 @@ fn yy_state_168(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_188) T_PACKAGE_NAME => Shift(yy_state_189) T_LIDENT => Shift(yy_state_192) - NT_prefix_expr => Shift(yy_state_691) + NT_prefix_expr => Shift(yy_state_699) _ => Error } } ///| fn yy_state_169(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_expr, yy_action_775) + ReduceNoLookahead(1, NT_simple_expr, yy_action_787) } ///| @@ -29928,39 +30646,39 @@ fn yy_state_170(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_UNDERSCORE => Shift(yy_state_675) - T_LIDENT => Shift(yy_state_687) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_UNDERSCORE => Shift(yy_state_683) + T_LIDENT => Shift(yy_state_695) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_171(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_tuple_expr, yy_action_774) + ReduceNoLookahead(2, NT_tuple_expr, yy_action_786) } ///| fn yy_state_172(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_tuple_expr, yy_action_773) + ReduceNoLookahead(2, NT_tuple_expr, yy_action_785) } ///| fn yy_state_173(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_tuple_expr, yy_action_772) + ReduceNoLookahead(2, NT_tuple_expr, yy_action_784) } ///| fn yy_state_174(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_tuple_elems_with_prefix, yy_action_771) + ReduceNoLookahead(1, NT_non_empty_tuple_elems_with_prefix, yy_action_783) } ///| @@ -29998,7 +30716,7 @@ fn yy_state_177(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_178(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_tuple_expr, yy_action_770) + ReduceNoLookahead(5, NT_tuple_expr, yy_action_782) } ///| @@ -30059,28 +30777,28 @@ fn yy_state_179(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_180(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_tuple_elems, yy_action_769) + ReduceNoLookahead(3, NT_non_empty_tuple_elems, yy_action_781) } ///| fn yy_state_181(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_tuple_elems, yy_action_768) + ReduceNoLookahead(3, NT_non_empty_tuple_elems, yy_action_780) } ///| @@ -30094,7 +30812,7 @@ fn yy_state_182(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_183(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_tuple_elems, yy_action_767) + ReduceNoLookahead(2, NT_non_empty_tuple_elems, yy_action_779) } ///| @@ -30143,7 +30861,7 @@ fn yy_state_184(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_185(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_prefix_expr, yy_action_764) + ReduceNoLookahead(2, NT_prefix_expr, yy_action_776) } ///| @@ -30192,13 +30910,13 @@ fn yy_state_186(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_187(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_prefix_expr, yy_action_761) + ReduceNoLookahead(2, NT_prefix_expr, yy_action_773) } ///| fn yy_state_188(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Reduce(1, NT_qual_ident_ty, yy_action_870) + T_COLONCOLON => Reduce(1, NT_qual_ident_ty, yy_action_882) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -30240,7 +30958,7 @@ fn yy_state_188(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_constr, yy_action_760) + | T_LEXMATCH_QUESTION => Reduce(1, NT_constr, yy_action_772) _ => Error } } @@ -30257,7 +30975,7 @@ fn yy_state_189(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_190(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Reduce(2, NT_qual_ident_ty, yy_action_872) + T_COLONCOLON => Reduce(2, NT_qual_ident_ty, yy_action_884) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -30299,7 +31017,7 @@ fn yy_state_190(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(2, NT_constr, yy_action_759) + | T_LEXMATCH_QUESTION => Reduce(2, NT_constr, yy_action_771) _ => Error } } @@ -30346,8 +31064,8 @@ fn yy_state_191(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(2, NT_qual_ident_simple_expr, yy_action_758) - T_COLONCOLON => Reduce(2, NT_qual_ident_ty, yy_action_871) + | T_LEXMATCH_QUESTION => Reduce(2, NT_qual_ident_simple_expr, yy_action_770) + T_COLONCOLON => Reduce(2, NT_qual_ident_ty, yy_action_883) _ => Error } } @@ -30394,7 +31112,7 @@ fn yy_state_192(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } @@ -30467,24 +31185,24 @@ fn yy_state_194(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| fn yy_state_195(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_argument_, yy_action_756) + ReduceNoLookahead(1, NT_list_commas_argument_, yy_action_768) } ///| @@ -30497,7 +31215,7 @@ fn yy_state_196(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_197(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_expr, yy_action_755) + ReduceNoLookahead(5, NT_simple_expr, yy_action_767) } ///| @@ -30535,7 +31253,7 @@ fn yy_state_198(_lookahead : YYSymbol) -> YYDecision { | T_FAT_ARROW | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_range_expr, yy_action_754) + | T_LEXMATCH_QUESTION => Reduce(1, NT_range_expr, yy_action_766) _ => Error } } @@ -30586,7 +31304,7 @@ fn yy_state_199(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_200(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_range_expr, yy_action_753) + ReduceNoLookahead(3, NT_range_expr, yy_action_765) } ///| @@ -30635,7 +31353,7 @@ fn yy_state_201(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_202(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_range_expr, yy_action_752) + ReduceNoLookahead(3, NT_range_expr, yy_action_764) } ///| @@ -30684,7 +31402,7 @@ fn yy_state_203(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_204(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_range_expr, yy_action_751) + ReduceNoLookahead(3, NT_range_expr, yy_action_763) } ///| @@ -30733,7 +31451,7 @@ fn yy_state_205(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_206(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_range_expr, yy_action_750) + ReduceNoLookahead(3, NT_range_expr, yy_action_762) } ///| @@ -30782,7 +31500,7 @@ fn yy_state_207(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_208(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_range_expr, yy_action_749) + ReduceNoLookahead(3, NT_range_expr, yy_action_761) } ///| @@ -30815,7 +31533,7 @@ fn yy_state_209(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(1, NT_postfix_expr, yy_action_748) + | T_AND => Reduce(1, NT_postfix_expr, yy_action_760) _ => Error } } @@ -30863,7 +31581,7 @@ fn yy_state_211(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_postfix_expr, yy_action_747) + | T_AND => Reduce(3, NT_postfix_expr, yy_action_759) _ => Error } } @@ -30878,42 +31596,42 @@ fn yy_state_212(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_213(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_postfix_expr, yy_action_746) + ReduceNoLookahead(5, NT_postfix_expr, yy_action_758) } ///| fn yy_state_214(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_745) + ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_757) } ///| fn yy_state_215(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_744) + ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_756) } ///| fn yy_state_216(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_743) + ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_755) } ///| fn yy_state_217(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_742) + ReduceNoLookahead(1, NT_lex_simple_atom_pattern, yy_action_754) } ///| fn yy_state_218(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_pattern, yy_action_741) + ReduceNoLookahead(1, NT_lex_pattern, yy_action_753) } ///| fn yy_state_219(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_pattern, yy_action_740) + ReduceNoLookahead(1, NT_lex_pattern, yy_action_752) } ///| fn yy_state_220(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_pattern, yy_action_739) + ReduceNoLookahead(1, NT_lex_pattern, yy_action_751) } ///| @@ -30944,7 +31662,7 @@ fn yy_state_222(_lookahead : YYSymbol) -> YYDecision { Reduce( 1, NT_separated_nonempty_list_COMMA_lex_top_pattern_, - yy_action_738, + yy_action_750, ) _ => Error } @@ -30975,7 +31693,7 @@ fn yy_state_224(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_separated_nonempty_list_COMMA_lex_top_pattern_, - yy_action_737, + yy_action_749, ) } @@ -31005,12 +31723,12 @@ fn yy_state_226(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_227(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_lex_atom_pattern, yy_action_736) + ReduceNoLookahead(3, NT_lex_atom_pattern, yy_action_748) } ///| fn yy_state_228(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_atom_pattern, yy_action_735) + ReduceNoLookahead(1, NT_lex_atom_pattern, yy_action_747) } ///| @@ -31020,15 +31738,15 @@ fn yy_state_229(_lookahead : YYSymbol) -> YYDecision { NT_option_SEMI_ => Shift(yy_state_231) T_AS => Shift(yy_state_234) T_STRING | T_INTERP | T_REGEX_LITERAL | T_REGEX_INTERP | T_LPAREN => - Reduce(0, NT_option_SEMI_, yy_action_800) - T_RPAREN | T_COMMA => Reduce(1, NT_lex_pattern_sequence, yy_action_734) + Reduce(0, NT_option_SEMI_, yy_action_812) + T_RPAREN | T_COMMA => Reduce(1, NT_lex_pattern_sequence, yy_action_746) _ => Error } } ///| fn yy_state_230(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_SEMI_, yy_action_798) + ReduceNoLookahead(1, NT_option_SEMI_, yy_action_810) } ///| @@ -31048,7 +31766,7 @@ fn yy_state_231(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_232(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_lex_pattern_sequence, yy_action_733) + ReduceNoLookahead(3, NT_lex_pattern_sequence, yy_action_745) } ///| @@ -31057,8 +31775,8 @@ fn yy_state_233(_lookahead : YYSymbol) -> YYDecision { T_SEMI => Shift(yy_state_230) NT_option_SEMI_ => Shift(yy_state_231) T_STRING | T_INTERP | T_REGEX_LITERAL | T_REGEX_INTERP | T_LPAREN => - Reduce(0, NT_option_SEMI_, yy_action_800) - T_RPAREN | T_COMMA => Reduce(1, NT_lex_pattern_sequence, yy_action_734) + Reduce(0, NT_option_SEMI_, yy_action_812) + T_RPAREN | T_COMMA => Reduce(1, NT_lex_pattern_sequence, yy_action_746) _ => Error } } @@ -31073,27 +31791,27 @@ fn yy_state_234(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_235(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_lex_as_pattern, yy_action_732) + ReduceNoLookahead(3, NT_lex_as_pattern, yy_action_744) } ///| fn yy_state_236(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_as_pattern, yy_action_731) + ReduceNoLookahead(1, NT_lex_as_pattern, yy_action_743) } ///| fn yy_state_237(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_top_pattern, yy_action_730) + ReduceNoLookahead(1, NT_lex_top_pattern, yy_action_742) } ///| fn yy_state_238(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_top_pattern, yy_action_729) + ReduceNoLookahead(1, NT_lex_top_pattern, yy_action_741) } ///| fn yy_state_239(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_top_pattern, yy_action_728) + ReduceNoLookahead(1, NT_lex_top_pattern, yy_action_740) } ///| @@ -31106,7 +31824,7 @@ fn yy_state_240(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_241(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_lex_pattern, yy_action_727) + ReduceNoLookahead(3, NT_lex_pattern, yy_action_739) } ///| @@ -31175,7 +31893,7 @@ fn yy_state_244(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_QUESTION_ => Shift(yy_state_245) T_QUESTION => Shift(yy_state_342) - T_COLON => Reduce(0, NT_option_QUESTION_, yy_action_726) + T_COLON => Reduce(0, NT_option_QUESTION_, yy_action_738) _ => Error } } @@ -31252,7 +31970,7 @@ fn yy_state_247(_lookahead : YYSymbol) -> YYDecision { NT_array_sub_pattern => Shift(yy_state_331) T_DOTDOT => Shift(yy_state_334) NT_array_sub_patterns => Shift(yy_state_339) - T_RBRACKET => Reduce(0, NT_array_sub_patterns, yy_action_725) + T_RBRACKET => Reduce(0, NT_array_sub_patterns, yy_action_737) _ => Error } } @@ -31261,7 +31979,7 @@ fn yy_state_247(_lookahead : YYSymbol) -> YYDecision { fn yy_state_248(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_249) - T_RBRACKET => Reduce(1, NT_array_sub_patterns, yy_action_724) + T_RBRACKET => Reduce(1, NT_array_sub_patterns, yy_action_736) _ => Error } } @@ -31298,7 +32016,7 @@ fn yy_state_249(_lookahead : YYSymbol) -> YYDecision { NT_or_pattern => Shift(yy_state_306) NT_pattern => Shift(yy_state_329) NT_non_empty_list_commas_array_sub_pattern_ => Shift(yy_state_330) - T_RBRACKET => Reduce(2, NT_array_sub_patterns, yy_action_723) + T_RBRACKET => Reduce(2, NT_array_sub_patterns, yy_action_735) _ => Error } } @@ -31308,7 +32026,7 @@ fn yy_state_250(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_array_sub_pattern_, - yy_action_722, + yy_action_734, ) } @@ -31317,7 +32035,7 @@ fn yy_state_251(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_252) T_COMMA => Shift(yy_state_253) - T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -31327,7 +32045,7 @@ fn yy_state_252(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_array_sub_pattern_, - yy_action_721, + yy_action_733, ) } @@ -31361,7 +32079,7 @@ fn yy_state_253(_lookahead : YYSymbol) -> YYDecision { NT_range_pattern => Shift(yy_state_303) NT_or_pattern => Shift(yy_state_306) NT_pattern => Shift(yy_state_329) - T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } @@ -31371,7 +32089,7 @@ fn yy_state_254(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_array_sub_pattern_, - yy_action_720, + yy_action_732, ) } @@ -31396,22 +32114,22 @@ fn yy_state_256(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_257(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_array_sub_pattern, yy_action_719) + ReduceNoLookahead(3, NT_array_sub_pattern, yy_action_731) } ///| fn yy_state_258(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_array_sub_pattern, yy_action_718) + ReduceNoLookahead(2, NT_array_sub_pattern, yy_action_730) } ///| fn yy_state_259(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_array_sub_pattern, yy_action_717) + ReduceNoLookahead(2, NT_array_sub_pattern, yy_action_729) } ///| fn yy_state_260(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_array_sub_pattern, yy_action_716) + ReduceNoLookahead(2, NT_array_sub_pattern, yy_action_728) } ///| @@ -31485,7 +32203,7 @@ fn yy_state_262(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LPAREN_constr_pat_arguments_RPAREN__, - yy_action_715, + yy_action_727, ) _ => Error } @@ -31540,13 +32258,13 @@ fn yy_state_265(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_option_delimited_LPAREN_constr_pat_arguments_RPAREN__, - yy_action_713, + yy_action_725, ) } ///| fn yy_state_266(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_constr_pat_argument, yy_action_712) + ReduceNoLookahead(1, NT_constr_pat_argument, yy_action_724) } ///| @@ -31554,19 +32272,19 @@ fn yy_state_267(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_268) NT_option_COMMA_ => Shift(yy_state_269) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_268(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_COMMA_, yy_action_863) + ReduceNoLookahead(1, NT_option_COMMA_, yy_action_875) } ///| fn yy_state_269(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_constr_pat_arguments, yy_action_711) + ReduceNoLookahead(2, NT_constr_pat_arguments, yy_action_723) } ///| @@ -31574,7 +32292,7 @@ fn yy_state_270(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_271) NT_option_COMMA_ => Shift(yy_state_314) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -31611,14 +32329,14 @@ fn yy_state_271(_lookahead : YYSymbol) -> YYDecision { NT_range_pattern => Shift(yy_state_303) NT_or_pattern => Shift(yy_state_306) NT_pattern => Shift(yy_state_307) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| fn yy_state_272(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_constr_pat_arguments, yy_action_710) + ReduceNoLookahead(3, NT_constr_pat_arguments, yy_action_722) } ///| @@ -31627,7 +32345,7 @@ fn yy_state_273(_lookahead : YYSymbol) -> YYDecision { T_EQUAL => Shift(yy_state_274) T_LPAREN => Shift(yy_state_276) T_RPAREN | T_COMMA | T_BAR | T_AS | T_RANGE_INCLUSIVE | T_RANGE_EXCLUSIVE => - Reduce(1, NT_simple_pattern, yy_action_709) + Reduce(1, NT_simple_pattern, yy_action_721) _ => Error } } @@ -31697,7 +32415,7 @@ fn yy_state_275(_lookahead : YYSymbol) -> YYDecision { | T_FAT_ARROW | T_RANGE_INCLUSIVE | T_RANGE_EXCLUSIVE - | T_AND => Reduce(1, NT_simple_pattern, yy_action_709) + | T_AND => Reduce(1, NT_simple_pattern, yy_action_721) _ => Error } } @@ -31742,7 +32460,7 @@ fn yy_state_277(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_278) NT_option_COMMA_ => Shift(yy_state_310) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -31778,29 +32496,29 @@ fn yy_state_278(_lookahead : YYSymbol) -> YYDecision { NT_range_pattern => Shift(yy_state_303) NT_or_pattern => Shift(yy_state_306) NT_pattern => Shift(yy_state_307) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| fn yy_state_279(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_constr_pat_arguments_no_open, yy_action_708) + ReduceNoLookahead(3, NT_constr_pat_arguments_no_open, yy_action_720) } ///| fn yy_state_280(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_707) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_719) } ///| fn yy_state_281(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_706) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_718) } ///| fn yy_state_282(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_705) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_717) } ///| @@ -31815,52 +32533,52 @@ fn yy_state_283(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_284(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_pattern, yy_action_704) + ReduceNoLookahead(2, NT_simple_pattern, yy_action_716) } ///| fn yy_state_285(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_pattern, yy_action_703) + ReduceNoLookahead(2, NT_simple_pattern, yy_action_715) } ///| fn yy_state_286(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_pattern, yy_action_702) + ReduceNoLookahead(2, NT_simple_pattern, yy_action_714) } ///| fn yy_state_287(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_701) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_713) } ///| fn yy_state_288(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_700) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_712) } ///| fn yy_state_289(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_699) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_711) } ///| fn yy_state_290(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_698) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_710) } ///| fn yy_state_291(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_697) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_709) } ///| fn yy_state_292(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_696) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_708) } ///| fn yy_state_293(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_simple_pattern, yy_action_695) + ReduceNoLookahead(1, NT_simple_pattern, yy_action_707) } ///| @@ -31895,7 +32613,7 @@ fn yy_state_294(_lookahead : YYSymbol) -> YYDecision { | T_ELSE | T_IF | T_FAT_ARROW - | T_AND => Reduce(1, NT_range_pattern, yy_action_694) + | T_AND => Reduce(1, NT_range_pattern, yy_action_706) _ => Error } } @@ -31931,7 +32649,7 @@ fn yy_state_295(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_296(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_range_pattern, yy_action_693) + ReduceNoLookahead(3, NT_range_pattern, yy_action_705) } ///| @@ -31952,7 +32670,7 @@ fn yy_state_298(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_299(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_constr, yy_action_692) + ReduceNoLookahead(3, NT_constr, yy_action_704) } ///| @@ -31995,7 +32713,7 @@ fn yy_state_301(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_302(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_range_pattern, yy_action_691) + ReduceNoLookahead(3, NT_range_pattern, yy_action_703) } ///| @@ -32010,7 +32728,7 @@ fn yy_state_303(_lookahead : YYSymbol) -> YYDecision { | T_RBRACE | T_AS | T_IF - | T_FAT_ARROW => Reduce(1, NT_or_pattern, yy_action_690) + | T_FAT_ARROW => Reduce(1, NT_or_pattern, yy_action_702) _ => Error } } @@ -32048,19 +32766,19 @@ fn yy_state_304(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_305(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_or_pattern, yy_action_689) + ReduceNoLookahead(3, NT_or_pattern, yy_action_701) } ///| fn yy_state_306(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_pattern, yy_action_688) + ReduceNoLookahead(1, NT_pattern, yy_action_700) } ///| fn yy_state_307(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) - T_RPAREN | T_COMMA => Reduce(1, NT_constr_pat_argument, yy_action_687) + T_RPAREN | T_COMMA => Reduce(1, NT_constr_pat_argument, yy_action_699) _ => Error } } @@ -32075,12 +32793,12 @@ fn yy_state_308(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_309(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_pattern, yy_action_686) + ReduceNoLookahead(3, NT_pattern, yy_action_698) } ///| fn yy_state_310(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_constr_pat_arguments_no_open, yy_action_685) + ReduceNoLookahead(2, NT_constr_pat_arguments_no_open, yy_action_697) } ///| @@ -32093,26 +32811,26 @@ fn yy_state_311(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_312(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_simple_pattern, yy_action_683) + ReduceNoLookahead(4, NT_simple_pattern, yy_action_695) } ///| fn yy_state_313(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) - T_RPAREN | T_COMMA => Reduce(3, NT_constr_pat_argument, yy_action_682) + T_RPAREN | T_COMMA => Reduce(3, NT_constr_pat_argument, yy_action_694) _ => Error } } ///| fn yy_state_314(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_constr_pat_arguments, yy_action_681) + ReduceNoLookahead(2, NT_constr_pat_arguments, yy_action_693) } ///| fn yy_state_315(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_pattern, yy_action_680) + ReduceNoLookahead(2, NT_simple_pattern, yy_action_692) } ///| @@ -32151,7 +32869,7 @@ fn yy_state_318(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_319(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_pattern, yy_action_679) + ReduceNoLookahead(5, NT_simple_pattern, yy_action_691) } ///| @@ -32193,7 +32911,7 @@ fn yy_state_321(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_322) NT_option_COMMA_ => Shift(yy_state_324) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -32226,7 +32944,7 @@ fn yy_state_322(_lookahead : YYSymbol) -> YYDecision { NT_range_pattern => Shift(yy_state_303) NT_or_pattern => Shift(yy_state_306) NT_pattern => Shift(yy_state_323) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } @@ -32236,14 +32954,14 @@ fn yy_state_323(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) T_RPAREN | T_COMMA => - Reduce(3, NT_non_empty_list_commas_rev_pattern_, yy_action_678) + Reduce(3, NT_non_empty_list_commas_rev_pattern_, yy_action_690) _ => Error } } ///| fn yy_state_324(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_pattern_, yy_action_677) + ReduceNoLookahead(2, NT_non_empty_list_commas_pattern_, yy_action_689) } ///| @@ -32256,7 +32974,7 @@ fn yy_state_325(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_326(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_pattern, yy_action_676) + ReduceNoLookahead(5, NT_simple_pattern, yy_action_688) } ///| @@ -32264,35 +32982,35 @@ fn yy_state_327(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) T_RPAREN | T_COMMA => - Reduce(1, NT_non_empty_list_commas_rev_pattern_, yy_action_675) + Reduce(1, NT_non_empty_list_commas_rev_pattern_, yy_action_687) _ => Error } } ///| fn yy_state_328(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_pattern, yy_action_674) + ReduceNoLookahead(3, NT_simple_pattern, yy_action_686) } ///| fn yy_state_329(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) - T_COMMA | T_RBRACKET => Reduce(1, NT_array_sub_pattern, yy_action_673) + T_COMMA | T_RBRACKET => Reduce(1, NT_array_sub_pattern, yy_action_685) _ => Error } } ///| fn yy_state_330(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_array_sub_patterns, yy_action_672) + ReduceNoLookahead(3, NT_array_sub_patterns, yy_action_684) } ///| fn yy_state_331(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_332) - T_RBRACKET => Reduce(1, NT_array_sub_patterns, yy_action_671) + T_RBRACKET => Reduce(1, NT_array_sub_patterns, yy_action_683) _ => Error } } @@ -32329,14 +33047,14 @@ fn yy_state_332(_lookahead : YYSymbol) -> YYDecision { NT_array_sub_pattern => Shift(yy_state_331) NT_array_sub_patterns => Shift(yy_state_333) T_DOTDOT => Shift(yy_state_334) - T_RBRACKET => Reduce(0, NT_array_sub_patterns, yy_action_725) + T_RBRACKET => Reduce(0, NT_array_sub_patterns, yy_action_737) _ => Error } } ///| fn yy_state_333(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_array_sub_patterns, yy_action_670) + ReduceNoLookahead(3, NT_array_sub_patterns, yy_action_682) } ///| @@ -32349,7 +33067,7 @@ fn yy_state_334(_lookahead : YYSymbol) -> YYDecision { T_AS => Shift(yy_state_335) T_UNDERSCORE => Shift(yy_state_337) T_LIDENT => Shift(yy_state_338) - T_COMMA | T_RBRACKET => Reduce(1, NT_dotdot_binder, yy_action_669) + T_COMMA | T_RBRACKET => Reduce(1, NT_dotdot_binder, yy_action_681) _ => Error } } @@ -32364,17 +33082,17 @@ fn yy_state_335(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_336(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_dotdot_binder, yy_action_668) + ReduceNoLookahead(3, NT_dotdot_binder, yy_action_680) } ///| fn yy_state_337(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_dotdot_binder, yy_action_667) + ReduceNoLookahead(2, NT_dotdot_binder, yy_action_679) } ///| fn yy_state_338(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_dotdot_binder, yy_action_666) + ReduceNoLookahead(2, NT_dotdot_binder, yy_action_678) } ///| @@ -32387,7 +33105,7 @@ fn yy_state_339(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_340(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_pattern, yy_action_665) + ReduceNoLookahead(3, NT_simple_pattern, yy_action_677) } ///| @@ -32395,14 +33113,14 @@ fn yy_state_341(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) T_COMMA | T_RBRACE => - Reduce(4, NT_non_empty_list_commas_rev_map_elem_pat_, yy_action_664) + Reduce(4, NT_non_empty_list_commas_rev_map_elem_pat_, yy_action_676) _ => Error } } ///| fn yy_state_342(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_QUESTION_, yy_action_663) + ReduceNoLookahead(1, NT_option_QUESTION_, yy_action_675) } ///| @@ -32410,7 +33128,7 @@ fn yy_state_343(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_fields_pat_single_, - yy_action_662, + yy_action_674, ) } @@ -32419,14 +33137,14 @@ fn yy_state_344(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_345) T_COMMA => Shift(yy_state_346) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_345(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_map_elem_pat_, yy_action_661) + ReduceNoLookahead(2, NT_non_empty_list_commas_map_elem_pat_, yy_action_673) } ///| @@ -32444,9 +33162,9 @@ fn yy_state_346(_lookahead : YYSymbol) -> YYDecision { NT_map_syntax_key => Shift(yy_state_347) T_MINUS => Shift(yy_state_351) NT_simple_constant => Shift(yy_state_355) - T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_875) T_DOTDOT => - Reduce(2, NT_non_empty_list_commas_with_tail_map_elem_pat_, yy_action_660) + Reduce(2, NT_non_empty_list_commas_with_tail_map_elem_pat_, yy_action_672) _ => Error } } @@ -32456,7 +33174,7 @@ fn yy_state_347(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_342) NT_option_QUESTION_ => Shift(yy_state_348) - T_COLON => Reduce(0, NT_option_QUESTION_, yy_action_726) + T_COLON => Reduce(0, NT_option_QUESTION_, yy_action_738) _ => Error } } @@ -32506,7 +33224,7 @@ fn yy_state_350(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) T_COMMA | T_RBRACE => - Reduce(6, NT_non_empty_list_commas_rev_map_elem_pat_, yy_action_658) + Reduce(6, NT_non_empty_list_commas_rev_map_elem_pat_, yy_action_670) _ => Error } } @@ -32523,22 +33241,22 @@ fn yy_state_351(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_352(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_map_syntax_key, yy_action_657) + ReduceNoLookahead(2, NT_map_syntax_key, yy_action_669) } ///| fn yy_state_353(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_map_syntax_key, yy_action_656) + ReduceNoLookahead(2, NT_map_syntax_key, yy_action_668) } ///| fn yy_state_354(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_map_syntax_key, yy_action_655) + ReduceNoLookahead(2, NT_map_syntax_key, yy_action_667) } ///| fn yy_state_355(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_map_syntax_key, yy_action_654) + ReduceNoLookahead(1, NT_map_syntax_key, yy_action_666) } ///| @@ -32546,7 +33264,7 @@ fn yy_state_356(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_COMMA_ => Shift(yy_state_357) T_COMMA => Shift(yy_state_358) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -32556,7 +33274,7 @@ fn yy_state_357(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_fields_pat_single_, - yy_action_653, + yy_action_665, ) } @@ -32565,12 +33283,12 @@ fn yy_state_358(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_fields_pat_single => Shift(yy_state_359) T_LIDENT => Shift(yy_state_360) - T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_863) + T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_875) T_DOTDOT => Reduce( 2, NT_non_empty_list_commas_with_tail_fields_pat_single_, - yy_action_652, + yy_action_664, ) _ => Error } @@ -32581,7 +33299,7 @@ fn yy_state_359(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_fields_pat_single_, - yy_action_651, + yy_action_663, ) } @@ -32589,7 +33307,7 @@ fn yy_state_359(_lookahead : YYSymbol) -> YYDecision { fn yy_state_360(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COLON => Shift(yy_state_361) - T_COMMA | T_RBRACE => Reduce(1, NT_fields_pat_single, yy_action_649) + T_COMMA | T_RBRACE => Reduce(1, NT_fields_pat_single, yy_action_661) _ => Error } } @@ -32630,7 +33348,7 @@ fn yy_state_361(_lookahead : YYSymbol) -> YYDecision { fn yy_state_362(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) - T_COMMA | T_RBRACE => Reduce(3, NT_fields_pat_single, yy_action_647) + T_COMMA | T_RBRACE => Reduce(3, NT_fields_pat_single, yy_action_659) _ => Error } } @@ -32648,19 +33366,19 @@ fn yy_state_364(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_268) NT_option_COMMA_ => Shift(yy_state_365) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_365(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_map_elems_pat, yy_action_646) + ReduceNoLookahead(3, NT_non_empty_map_elems_pat, yy_action_658) } ///| fn yy_state_366(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_map_elems_pat, yy_action_645) + ReduceNoLookahead(1, NT_non_empty_map_elems_pat, yy_action_657) } ///| @@ -32676,19 +33394,19 @@ fn yy_state_368(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_268) NT_option_COMMA_ => Shift(yy_state_369) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| fn yy_state_369(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_fields_pat, yy_action_644) + ReduceNoLookahead(3, NT_non_empty_fields_pat, yy_action_656) } ///| fn yy_state_370(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_fields_pat, yy_action_643) + ReduceNoLookahead(1, NT_non_empty_fields_pat, yy_action_655) } ///| @@ -32701,7 +33419,7 @@ fn yy_state_371(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_372(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_pattern, yy_action_642) + ReduceNoLookahead(3, NT_simple_pattern, yy_action_654) } ///| @@ -32714,7 +33432,7 @@ fn yy_state_373(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_374(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_pattern, yy_action_641) + ReduceNoLookahead(3, NT_simple_pattern, yy_action_653) } ///| @@ -32722,7 +33440,7 @@ fn yy_state_375(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_268) NT_option_COMMA_ => Shift(yy_state_376) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } @@ -32737,17 +33455,17 @@ fn yy_state_376(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_377(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_simple_pattern, yy_action_640) + ReduceNoLookahead(4, NT_simple_pattern, yy_action_652) } ///| fn yy_state_378(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_simple_pattern, yy_action_639) + ReduceNoLookahead(2, NT_simple_pattern, yy_action_651) } ///| fn yy_state_379(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_postfix_expr, yy_action_638) + ReduceNoLookahead(3, NT_postfix_expr, yy_action_650) } ///| @@ -32764,12 +33482,12 @@ fn yy_state_380(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_381(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_postfix_expr, yy_action_637) + ReduceNoLookahead(3, NT_postfix_expr, yy_action_649) } ///| fn yy_state_382(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_infix_expr, yy_action_636) + ReduceNoLookahead(1, NT_infix_expr, yy_action_648) } ///| @@ -32796,7 +33514,7 @@ fn yy_state_383(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_PIPE - | T_AND => Reduce(1, NT_pipe_expr, yy_action_635) + | T_AND => Reduce(1, NT_pipe_expr, yy_action_647) _ => Error } } @@ -32875,7 +33593,7 @@ fn yy_state_385(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_633) + | T_AND => Reduce(3, NT_infix_expr, yy_action_645) _ => Error } } @@ -32954,7 +33672,7 @@ fn yy_state_387(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_631) + | T_AND => Reduce(3, NT_infix_expr, yy_action_643) _ => Error } } @@ -33033,7 +33751,7 @@ fn yy_state_389(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_629) + | T_AND => Reduce(3, NT_infix_expr, yy_action_641) _ => Error } } @@ -33112,7 +33830,7 @@ fn yy_state_391(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_627) + | T_AND => Reduce(3, NT_infix_expr, yy_action_639) _ => Error } } @@ -33191,7 +33909,7 @@ fn yy_state_393(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_625) + | T_AND => Reduce(3, NT_infix_expr, yy_action_637) _ => Error } } @@ -33270,7 +33988,7 @@ fn yy_state_395(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_623) + | T_AND => Reduce(3, NT_infix_expr, yy_action_635) _ => Error } } @@ -33349,7 +34067,7 @@ fn yy_state_397(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_621) + | T_AND => Reduce(3, NT_infix_expr, yy_action_633) _ => Error } } @@ -33428,7 +34146,7 @@ fn yy_state_399(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_619) + | T_AND => Reduce(3, NT_infix_expr, yy_action_631) _ => Error } } @@ -33507,7 +34225,7 @@ fn yy_state_401(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_617) + | T_AND => Reduce(3, NT_infix_expr, yy_action_629) _ => Error } } @@ -33586,7 +34304,7 @@ fn yy_state_403(_lookahead : YYSymbol) -> YYDecision { | T_PIPE | T_ELSE | T_FAT_ARROW - | T_AND => Reduce(3, NT_infix_expr, yy_action_615) + | T_AND => Reduce(3, NT_infix_expr, yy_action_627) _ => Error } } @@ -33640,7 +34358,7 @@ fn yy_state_404(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_405(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_infix_expr, yy_action_613) + ReduceNoLookahead(3, NT_infix_expr, yy_action_625) } ///| @@ -33683,7 +34401,7 @@ fn yy_state_406(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_775) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_787) _ => Error } } @@ -33743,29 +34461,29 @@ fn yy_state_407(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_674) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_682) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_408(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_left_value, yy_action_611) + ReduceNoLookahead(1, NT_left_value, yy_action_623) } ///| @@ -33773,11 +34491,11 @@ fn yy_state_409(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_DOTDOT => Shift(yy_state_158) T_QUESTION => Shift(yy_state_410) - T_EXCLAMATION => Shift(yy_state_647) - T_LPAREN => Shift(yy_state_651) - T_LBRACKET => Shift(yy_state_654) - T_DOT_INT => Shift(yy_state_661) - T_DOT_LIDENT => Shift(yy_state_662) + T_EXCLAMATION => Shift(yy_state_655) + T_LPAREN => Shift(yy_state_659) + T_LBRACKET => Shift(yy_state_662) + T_DOT_INT => Shift(yy_state_669) + T_DOT_LIDENT => Shift(yy_state_670) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -33807,7 +34525,7 @@ fn yy_state_409(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_prefix_expr, yy_action_782) + | T_LEXMATCH_QUESTION => Reduce(1, NT_prefix_expr, yy_action_794) _ => Error } } @@ -33880,17 +34598,17 @@ fn yy_state_411(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } @@ -33905,7 +34623,7 @@ fn yy_state_412(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_413(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_expr, yy_action_610) + ReduceNoLookahead(5, NT_simple_expr, yy_action_622) } ///| @@ -33967,18 +34685,18 @@ fn yy_state_414(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_RPAREN => Shift(yy_state_629) - NT_arrow_fn_prefix => Shift(yy_state_632) - T_LIDENT => Shift(yy_state_635) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_RPAREN => Shift(yy_state_637) + NT_arrow_fn_prefix => Shift(yy_state_640) + T_LIDENT => Shift(yy_state_643) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } @@ -34017,7 +34735,7 @@ fn yy_state_415(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_775) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_787) _ => Error } } @@ -34059,12 +34777,12 @@ fn yy_state_418(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_419(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_609) + ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_621) } ///| fn yy_state_420(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_608) + ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_620) } ///| @@ -34103,7 +34821,7 @@ fn yy_state_423(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_424(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_arrow_fn_prefix, yy_action_607) + ReduceNoLookahead(4, NT_arrow_fn_prefix, yy_action_619) } ///| @@ -34119,12 +34837,12 @@ fn yy_state_425(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_426(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_606) + ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_618) } ///| fn yy_state_427(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_605) + ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_617) } ///| @@ -34174,17 +34892,17 @@ fn yy_state_431(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_432(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_604) + ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_616) } ///| fn yy_state_433(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_603) + ReduceNoLookahead(5, NT_arrow_fn_prefix, yy_action_615) } ///| fn yy_state_434(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_arrow_fn_prefix, yy_action_602) + ReduceNoLookahead(4, NT_arrow_fn_prefix, yy_action_614) } ///| @@ -34200,28 +34918,28 @@ fn yy_state_435(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_436(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_601) + ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_613) } ///| fn yy_state_437(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_600) + ReduceNoLookahead(3, NT_arrow_fn_prefix, yy_action_612) } ///| fn yy_state_438(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_arrow_fn_prefix, yy_action_599) + ReduceNoLookahead(2, NT_arrow_fn_prefix, yy_action_611) } ///| fn yy_state_439(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_arrow_fn_prefix, yy_action_598) + ReduceNoLookahead(2, NT_arrow_fn_prefix, yy_action_610) } ///| fn yy_state_440(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Reduce(4, NT_arrow_fn_prefix, yy_action_607) + T_FAT_ARROW => Reduce(4, NT_arrow_fn_prefix, yy_action_619) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -34258,7 +34976,7 @@ fn yy_state_440(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(5, NT_tuple_expr, yy_action_597) + | T_LEXMATCH_QUESTION => Reduce(5, NT_tuple_expr, yy_action_609) _ => Error } } @@ -34324,34 +35042,34 @@ fn yy_state_441(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_623) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_631) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_442(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_tuple_elems_with_prefix, yy_action_596) + ReduceNoLookahead(3, NT_non_empty_tuple_elems_with_prefix, yy_action_608) } ///| fn yy_state_443(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_595) + ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_607) } ///| fn yy_state_444(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Reduce(3, NT_arrow_fn_prefix, yy_action_605) + T_FAT_ARROW => Reduce(3, NT_arrow_fn_prefix, yy_action_617) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -34389,7 +35107,7 @@ fn yy_state_444(_lookahead : YYSymbol) -> YYDecision { | T_IS | T_AND | T_LEXMATCH_QUESTION => - Reduce(3, NT_arrow_fn_prefix_no_constraint, yy_action_594) + Reduce(3, NT_arrow_fn_prefix_no_constraint, yy_action_606) _ => Error } } @@ -34428,7 +35146,7 @@ fn yy_state_445(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_775) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_787) _ => Error } } @@ -34436,7 +35154,7 @@ fn yy_state_445(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_446(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Reduce(2, NT_arrow_fn_prefix, yy_action_598) + T_FAT_ARROW => Reduce(2, NT_arrow_fn_prefix, yy_action_610) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -34474,7 +35192,7 @@ fn yy_state_446(_lookahead : YYSymbol) -> YYDecision { | T_IS | T_AND | T_LEXMATCH_QUESTION => - Reduce(2, NT_arrow_fn_prefix_no_constraint, yy_action_593) + Reduce(2, NT_arrow_fn_prefix_no_constraint, yy_action_605) _ => Error } } @@ -34484,7 +35202,7 @@ fn yy_state_447(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PIPE => Shift(yy_state_448) NT_catch_keyword => Shift(yy_state_453) - T_CATCH => Shift(yy_state_516) + T_CATCH => Shift(yy_state_518) T_EOF | T_RPAREN | T_COMMA @@ -34493,7 +35211,7 @@ fn yy_state_447(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(1, NT_simple_try_expr, yy_action_592) + | T_AND => Reduce(1, NT_simple_try_expr, yy_action_604) _ => Error } } @@ -34569,7 +35287,7 @@ fn yy_state_449(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_PIPE - | T_AND => Reduce(3, NT_pipe_expr, yy_action_591) + | T_AND => Reduce(3, NT_pipe_expr, yy_action_603) _ => Error } } @@ -34614,7 +35332,7 @@ fn yy_state_450(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } @@ -34630,7 +35348,7 @@ fn yy_state_451(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_452(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_pipe_expr, yy_action_590) + ReduceNoLookahead(5, NT_pipe_expr, yy_action_602) } ///| @@ -34663,10 +35381,10 @@ fn yy_state_453(_lookahead : YYSymbol) -> YYDecision { NT_single_pattern_case => Shift(yy_state_454) T_ELLIPSIS => Shift(yy_state_457) NT_pattern => Shift(yy_state_458) - NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_508) - NT_list_semis_single_pattern_case_ => Shift(yy_state_515) - NT_single_pattern_cases => Shift(yy_state_621) - T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_589) + NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_510) + NT_list_semis_single_pattern_case_ => Shift(yy_state_517) + NT_single_pattern_cases => Shift(yy_state_625) + T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_601) _ => Error } } @@ -34675,8 +35393,8 @@ fn yy_state_453(_lookahead : YYSymbol) -> YYDecision { fn yy_state_454(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_SEMI => Shift(yy_state_455) - NT_option_SEMI_ => Shift(yy_state_620) - T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_800) + NT_option_SEMI_ => Shift(yy_state_624) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } @@ -34712,7 +35430,7 @@ fn yy_state_455(_lookahead : YYSymbol) -> YYDecision { NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_456) T_ELLIPSIS => Shift(yy_state_457) NT_pattern => Shift(yy_state_458) - T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_798) + T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } @@ -34722,13 +35440,13 @@ fn yy_state_456(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_semis_single_pattern_case_, - yy_action_588, + yy_action_600, ) } ///| fn yy_state_457(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_single_pattern_case, yy_action_587) + ReduceNoLookahead(1, NT_single_pattern_case, yy_action_599) } ///| @@ -34737,7 +35455,7 @@ fn yy_state_458(_lookahead : YYSymbol) -> YYDecision { T_AS => Shift(yy_state_308) T_IF => Shift(yy_state_459) NT_option_preceded_IF_infix_expr__ => Shift(yy_state_461) - T_FAT_ARROW => Reduce(0, NT_option_preceded_IF_infix_expr__, yy_action_586) + T_FAT_ARROW => Reduce(0, NT_option_preceded_IF_infix_expr__, yy_action_598) _ => Error } } @@ -34803,7 +35521,7 @@ fn yy_state_460(_lookahead : YYSymbol) -> YYDecision { T_INFIX2 => Shift(yy_state_400) T_INFIX3 => Shift(yy_state_402) T_INFIX4 => Shift(yy_state_404) - T_FAT_ARROW => Reduce(2, NT_option_preceded_IF_infix_expr__, yy_action_584) + T_FAT_ARROW => Reduce(2, NT_option_preceded_IF_infix_expr__, yy_action_596) _ => Error } } @@ -34871,78 +35589,78 @@ fn yy_state_462(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_599) - T_RETURN => Shift(yy_state_600) - T_CONTINUE => Shift(yy_state_603) - T_BREAK => Shift(yy_state_612) - NT_expr_statement => Shift(yy_state_619) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + NT_expr_statement => Shift(yy_state_623) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| fn yy_state_463(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_583) + ReduceNoLookahead(1, NT_expr, yy_action_595) } ///| fn yy_state_464(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_582) + ReduceNoLookahead(1, NT_expr, yy_action_594) } ///| fn yy_state_465(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_581) + ReduceNoLookahead(1, NT_expr, yy_action_593) } ///| fn yy_state_466(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_580) + ReduceNoLookahead(1, NT_expr, yy_action_592) } ///| fn yy_state_467(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_579) + ReduceNoLookahead(1, NT_expr, yy_action_591) } ///| fn yy_state_468(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_578) + ReduceNoLookahead(1, NT_expr, yy_action_590) } ///| fn yy_state_469(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_577) + ReduceNoLookahead(1, NT_expr, yy_action_589) } ///| fn yy_state_470(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_576) + ReduceNoLookahead(1, NT_expr, yy_action_588) } ///| fn yy_state_471(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_575) + ReduceNoLookahead(1, NT_expr, yy_action_587) } ///| fn yy_state_472(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr, yy_action_574) + ReduceNoLookahead(1, NT_expr, yy_action_586) } ///| @@ -35030,12 +35748,12 @@ fn yy_state_476(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_477(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_lexmatch_header, yy_action_573) + ReduceNoLookahead(5, NT_lexmatch_header, yy_action_585) } ///| fn yy_state_478(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_lexmatch_header, yy_action_572) + ReduceNoLookahead(3, NT_lexmatch_header, yy_action_584) } ///| @@ -35052,9 +35770,9 @@ fn yy_state_479(_lookahead : YYSymbol) -> YYDecision { NT_lex_case => Shift(yy_state_480) T_ELLIPSIS => Shift(yy_state_484) NT_lex_pattern => Shift(yy_state_485) - NT_non_empty_list_semis_lex_case_ => Shift(yy_state_616) - NT_list_semis_lex_case_ => Shift(yy_state_617) - T_RBRACE => Reduce(0, NT_list_semis_lex_case_, yy_action_571) + NT_non_empty_list_semis_lex_case_ => Shift(yy_state_620) + NT_list_semis_lex_case_ => Shift(yy_state_621) + T_RBRACE => Reduce(0, NT_list_semis_lex_case_, yy_action_583) _ => Error } } @@ -35064,14 +35782,14 @@ fn yy_state_480(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_option_SEMI_ => Shift(yy_state_481) T_SEMI => Shift(yy_state_482) - T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_800) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| fn yy_state_481(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_semis_lex_case_, yy_action_570) + ReduceNoLookahead(2, NT_non_empty_list_semis_lex_case_, yy_action_582) } ///| @@ -35089,31 +35807,98 @@ fn yy_state_482(_lookahead : YYSymbol) -> YYDecision { NT_non_empty_list_semis_lex_case_ => Shift(yy_state_483) T_ELLIPSIS => Shift(yy_state_484) NT_lex_pattern => Shift(yy_state_485) - T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_798) + T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } ///| fn yy_state_483(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_semis_lex_case_, yy_action_569) + ReduceNoLookahead(3, NT_non_empty_list_semis_lex_case_, yy_action_581) } ///| fn yy_state_484(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_lex_case, yy_action_568) + ReduceNoLookahead(1, NT_lex_case, yy_action_580) } ///| fn yy_state_485(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Shift(yy_state_486) + T_IF => Shift(yy_state_486) + T_FAT_ARROW => Shift(yy_state_618) _ => Error } } ///| fn yy_state_486(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_multiline_string => Shift(yy_state_2) + T_MULTILINE_INTERP => Shift(yy_state_4) + T_MULTILINE_STRING => Shift(yy_state_5) + T_STRING => Shift(yy_state_6) + T_FLOAT => Shift(yy_state_7) + T_DOUBLE => Shift(yy_state_8) + T_INT => Shift(yy_state_9) + T_CHAR => Shift(yy_state_10) + T_BYTES => Shift(yy_state_11) + T_BYTE => Shift(yy_state_12) + T_FALSE => Shift(yy_state_13) + T_TRUE => Shift(yy_state_14) + T_INTERP => Shift(yy_state_15) + NT_non_empty_list_multiline_string_ => Shift(yy_state_16) + NT_simple_constant => Shift(yy_state_17) + T_AMPER => Shift(yy_state_18) + NT_qual_ident_ty => Shift(yy_state_24) + NT_tuple_expr => Shift(yy_state_25) + T_LBRACKET => Shift(yy_state_26) + NT_constr => Shift(yy_state_34) + NT_qual_ident_simple_expr => Shift(yy_state_35) + NT_atomic_expr => Shift(yy_state_36) + NT_anony_fn => Shift(yy_state_37) + T_LBRACE => Shift(yy_state_38) + T_FN => Shift(yy_state_47) + NT_type_name => Shift(yy_state_130) + T_ASYNC => Shift(yy_state_142) + NT_simple_expr => Shift(yy_state_156) + T_EXCLAMATION => Shift(yy_state_168) + T_UNDERSCORE => Shift(yy_state_169) + T_LPAREN => Shift(yy_state_170) + T_MINUS => Shift(yy_state_184) + T_PLUS => Shift(yy_state_186) + T_UIDENT => Shift(yy_state_188) + T_PACKAGE_NAME => Shift(yy_state_189) + T_LIDENT => Shift(yy_state_192) + NT_prefix_expr => Shift(yy_state_198) + NT_range_expr => Shift(yy_state_209) + NT_postfix_expr => Shift(yy_state_382) + NT_infix_expr => Shift(yy_state_487) + _ => Error + } +} + +///| +fn yy_state_487(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_BARBAR => Shift(yy_state_384) + T_AMPERAMPER => Shift(yy_state_386) + T_BAR => Shift(yy_state_388) + T_CARET => Shift(yy_state_390) + T_AMPER => Shift(yy_state_392) + T_MINUS => Shift(yy_state_394) + T_PLUS => Shift(yy_state_396) + T_INFIX1 => Shift(yy_state_398) + T_INFIX2 => Shift(yy_state_400) + T_INFIX3 => Shift(yy_state_402) + T_INFIX4 => Shift(yy_state_404) + T_FAT_ARROW => Shift(yy_state_488) + _ => Error + } +} + +///| +fn yy_state_488(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -35167,37 +35952,37 @@ fn yy_state_486(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_expr_statement => Shift(yy_state_487) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_599) - T_RETURN => Shift(yy_state_600) - T_CONTINUE => Shift(yy_state_603) - T_BREAK => Shift(yy_state_612) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_expr_statement => Shift(yy_state_489) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_487(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_lex_case, yy_action_567) +fn yy_state_489(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_lex_case, yy_action_579) } ///| -fn yy_state_488(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_490(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) NT_qual_ident_ty => Shift(yy_state_24) @@ -35226,32 +36011,32 @@ fn yy_state_488(_lookahead : YYSymbol) -> YYDecision { NT_single_pattern_case => Shift(yy_state_454) T_ELLIPSIS => Shift(yy_state_457) NT_pattern => Shift(yy_state_458) - T_RBRACE => Shift(yy_state_489) - NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_490) + T_RBRACE => Shift(yy_state_491) + NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_492) _ => Error } } ///| -fn yy_state_489(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_match_expr, yy_action_566) +fn yy_state_491(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_match_expr, yy_action_578) } ///| -fn yy_state_490(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_492(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_491) + T_RBRACE => Shift(yy_state_493) _ => Error } } ///| -fn yy_state_491(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_match_expr, yy_action_565) +fn yy_state_493(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_match_expr, yy_action_577) } ///| -fn yy_state_492(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_494(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -35292,13 +36077,13 @@ fn yy_state_492(_lookahead : YYSymbol) -> YYDecision { NT_prefix_expr => Shift(yy_state_198) NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) - NT_infix_expr => Shift(yy_state_493) + NT_infix_expr => Shift(yy_state_495) _ => Error } } ///| -fn yy_state_493(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_495(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_BARBAR => Shift(yy_state_384) T_AMPERAMPER => Shift(yy_state_386) @@ -35311,18 +36096,18 @@ fn yy_state_493(_lookahead : YYSymbol) -> YYDecision { T_INFIX2 => Shift(yy_state_400) T_INFIX3 => Shift(yy_state_402) T_INFIX4 => Shift(yy_state_404) - T_LBRACE => Shift(yy_state_494) + T_LBRACE => Shift(yy_state_496) _ => Error } } ///| -fn yy_state_494(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_match_header, yy_action_564) +fn yy_state_496(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_match_header, yy_action_576) } ///| -fn yy_state_495(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_497(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -35363,13 +36148,13 @@ fn yy_state_495(_lookahead : YYSymbol) -> YYDecision { NT_prefix_expr => Shift(yy_state_198) NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) - NT_infix_expr => Shift(yy_state_496) + NT_infix_expr => Shift(yy_state_498) _ => Error } } ///| -fn yy_state_496(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_498(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) T_BARBAR => Shift(yy_state_384) @@ -35383,15 +36168,15 @@ fn yy_state_496(_lookahead : YYSymbol) -> YYDecision { T_INFIX2 => Shift(yy_state_400) T_INFIX3 => Shift(yy_state_402) T_INFIX4 => Shift(yy_state_404) - NT_block_expr => Shift(yy_state_497) + NT_block_expr => Shift(yy_state_499) _ => Error } } ///| -fn yy_state_497(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_499(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ELSE => Shift(yy_state_498) + T_ELSE => Shift(yy_state_500) T_EOF | T_RPAREN | T_COMMA @@ -35400,34 +36185,34 @@ fn yy_state_497(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(3, NT_if_expr, yy_action_563) + | T_AND => Reduce(3, NT_if_expr, yy_action_575) _ => Error } } ///| -fn yy_state_498(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_500(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - T_IF => Shift(yy_state_495) - NT_if_expr => Shift(yy_state_499) - NT_block_expr => Shift(yy_state_500) + T_IF => Shift(yy_state_497) + NT_if_expr => Shift(yy_state_501) + NT_block_expr => Shift(yy_state_502) _ => Error } } ///| -fn yy_state_499(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_if_expr, yy_action_562) +fn yy_state_501(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_if_expr, yy_action_574) } ///| -fn yy_state_500(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_if_expr, yy_action_561) +fn yy_state_502(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_if_expr, yy_action_573) } ///| -fn yy_state_501(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_503(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -35469,13 +36254,13 @@ fn yy_state_501(_lookahead : YYSymbol) -> YYDecision { NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) NT_infix_expr => Shift(yy_state_383) - NT_pipe_expr => Shift(yy_state_502) + NT_pipe_expr => Shift(yy_state_504) _ => Error } } ///| -fn yy_state_502(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_504(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PIPE => Shift(yy_state_448) T_EOF @@ -35486,13 +36271,13 @@ fn yy_state_502(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(2, NT_try_expr, yy_action_560) + | T_AND => Reduce(2, NT_try_expr, yy_action_572) _ => Error } } ///| -fn yy_state_503(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_505(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -35534,13 +36319,13 @@ fn yy_state_503(_lookahead : YYSymbol) -> YYDecision { NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) NT_infix_expr => Shift(yy_state_383) - NT_pipe_expr => Shift(yy_state_504) + NT_pipe_expr => Shift(yy_state_506) _ => Error } } ///| -fn yy_state_504(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_506(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PIPE => Shift(yy_state_448) T_EOF @@ -35551,13 +36336,13 @@ fn yy_state_504(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(2, NT_try_expr, yy_action_559) + | T_AND => Reduce(2, NT_try_expr, yy_action_571) _ => Error } } ///| -fn yy_state_505(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_507(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -35599,23 +36384,23 @@ fn yy_state_505(_lookahead : YYSymbol) -> YYDecision { NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) NT_infix_expr => Shift(yy_state_383) - NT_pipe_expr => Shift(yy_state_506) + NT_pipe_expr => Shift(yy_state_508) _ => Error } } ///| -fn yy_state_506(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_508(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PIPE => Shift(yy_state_448) - NT_catch_keyword => Shift(yy_state_507) - T_CATCH => Shift(yy_state_516) + NT_catch_keyword => Shift(yy_state_509) + T_CATCH => Shift(yy_state_518) _ => Error } } ///| -fn yy_state_507(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_509(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) NT_qual_ident_ty => Shift(yy_state_24) @@ -35644,31 +36429,31 @@ fn yy_state_507(_lookahead : YYSymbol) -> YYDecision { NT_single_pattern_case => Shift(yy_state_454) T_ELLIPSIS => Shift(yy_state_457) NT_pattern => Shift(yy_state_458) - NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_508) - NT_single_pattern_cases => Shift(yy_state_509) - NT_list_semis_single_pattern_case_ => Shift(yy_state_515) - T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_589) + NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_510) + NT_single_pattern_cases => Shift(yy_state_511) + NT_list_semis_single_pattern_case_ => Shift(yy_state_517) + T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_601) _ => Error } } ///| -fn yy_state_508(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_semis_single_pattern_case_, yy_action_558) +fn yy_state_510(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_semis_single_pattern_case_, yy_action_570) } ///| -fn yy_state_509(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_511(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_510) + T_RBRACE => Shift(yy_state_512) _ => Error } } ///| -fn yy_state_510(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_512(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_NORAISE => Shift(yy_state_511) + T_NORAISE => Shift(yy_state_513) T_EOF | T_RPAREN | T_COMMA @@ -35677,21 +36462,21 @@ fn yy_state_510(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(5, NT_try_expr, yy_action_557) + | T_AND => Reduce(5, NT_try_expr, yy_action_569) _ => Error } } ///| -fn yy_state_511(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_513(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_512) + T_LBRACE => Shift(yy_state_514) _ => Error } } ///| -fn yy_state_512(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_514(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) NT_qual_ident_ty => Shift(yy_state_24) @@ -35720,135 +36505,135 @@ fn yy_state_512(_lookahead : YYSymbol) -> YYDecision { NT_single_pattern_case => Shift(yy_state_454) T_ELLIPSIS => Shift(yy_state_457) NT_pattern => Shift(yy_state_458) - NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_508) - NT_single_pattern_cases => Shift(yy_state_513) - NT_list_semis_single_pattern_case_ => Shift(yy_state_515) - T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_589) + NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_510) + NT_single_pattern_cases => Shift(yy_state_515) + NT_list_semis_single_pattern_case_ => Shift(yy_state_517) + T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_601) _ => Error } } ///| -fn yy_state_513(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_515(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_514) + T_RBRACE => Shift(yy_state_516) _ => Error } } ///| -fn yy_state_514(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(9, NT_try_expr, yy_action_555) +fn yy_state_516(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_try_expr, yy_action_568) } ///| -fn yy_state_515(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_single_pattern_cases, yy_action_554) +fn yy_state_517(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_single_pattern_cases, yy_action_567) } ///| -fn yy_state_516(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_518(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_517) - T_LBRACE => Shift(yy_state_519) + T_EXCLAMATION => Shift(yy_state_519) + T_LBRACE => Shift(yy_state_521) _ => Error } } ///| -fn yy_state_517(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_519(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_518) + T_LBRACE => Shift(yy_state_520) _ => Error } } ///| -fn yy_state_518(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_catch_keyword, yy_action_553) +fn yy_state_520(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_catch_keyword, yy_action_566) } ///| -fn yy_state_519(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_catch_keyword, yy_action_552) +fn yy_state_521(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_catch_keyword, yy_action_565) } ///| -fn yy_state_520(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_522(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_521) - T_LOOP => Shift(yy_state_590) - T_WHILE => Shift(yy_state_595) + T_FOR => Shift(yy_state_523) + T_LOOP => Shift(yy_state_592) + T_WHILE => Shift(yy_state_597) _ => Error } } ///| -fn yy_state_521(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_523(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_foreach_binder => Shift(yy_state_522) + NT_foreach_binder => Shift(yy_state_524) NT_non_empty_list_commas_rev_separated_pair_binder_EQUAL_expr__ => - Shift(yy_state_523) - NT_non_empty_list_commas_rev_foreach_binder_ => Shift(yy_state_545) - T_UNDERSCORE => Shift(yy_state_548) + Shift(yy_state_525) + NT_non_empty_list_commas_rev_foreach_binder_ => Shift(yy_state_547) + T_UNDERSCORE => Shift(yy_state_550) NT_non_empty_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__ => - Shift(yy_state_551) - T_LIDENT => Shift(yy_state_552) - NT_non_empty_list_commas_foreach_binder_ => Shift(yy_state_555) - NT_for_binders => Shift(yy_state_562) + Shift(yy_state_553) + T_LIDENT => Shift(yy_state_554) + NT_non_empty_list_commas_foreach_binder_ => Shift(yy_state_557) + NT_for_binders => Shift(yy_state_564) NT_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__ => - Shift(yy_state_589) + Shift(yy_state_591) T_SEMI | T_LBRACE => Reduce( 0, NT_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__, - yy_action_551, + yy_action_564, ) _ => Error } } ///| -fn yy_state_522(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_524(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_foreach_binder_, - yy_action_550, + yy_action_563, ) } ///| -fn yy_state_523(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_525(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_524) + T_COMMA => Shift(yy_state_526) T_SEMI | T_LBRACE => Reduce( 1, NT_non_empty_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__, - yy_action_549, + yy_action_562, ) _ => Error } } ///| -fn yy_state_524(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_526(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_525) + T_LIDENT => Shift(yy_state_527) _ => Error } } ///| -fn yy_state_525(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_527(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_526) + T_EQUAL => Shift(yy_state_528) _ => Error } } ///| -fn yy_state_526(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_528(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -35902,48 +36687,48 @@ fn yy_state_526(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - NT_expr => Shift(yy_state_527) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + NT_expr => Shift(yy_state_529) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_527(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_529(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 5, NT_non_empty_list_commas_rev_separated_pair_binder_EQUAL_expr__, - yy_action_548, + yy_action_561, ) } ///| -fn yy_state_528(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_530(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_529) + T_COLON => Shift(yy_state_531) _ => Error } } ///| -fn yy_state_529(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_loop_label_colon, yy_action_547) +fn yy_state_531(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_loop_label_colon, yy_action_560) } ///| -fn yy_state_530(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_532(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_193) - T_FAT_ARROW => Shift(yy_state_531) + T_FAT_ARROW => Shift(yy_state_533) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -35979,13 +36764,13 @@ fn yy_state_530(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_531(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_533(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36039,51 +36824,51 @@ fn yy_state_531(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr_statement_no_break_continue_return => Shift(yy_state_532) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr_statement_no_break_continue_return => Shift(yy_state_534) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_532(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_expr, yy_action_546) +fn yy_state_534(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_arrow_fn_expr, yy_action_559) } ///| -fn yy_state_533(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_535(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_expr_statement_no_break_continue_return, - yy_action_545, + yy_action_558, ) } ///| -fn yy_state_534(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_536(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_535) - T_AUGMENTED_ASSIGNMENT => Shift(yy_state_537) + T_EQUAL => Shift(yy_state_537) + T_AUGMENTED_ASSIGNMENT => Shift(yy_state_539) _ => Error } } ///| -fn yy_state_535(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_537(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36137,32 +36922,32 @@ fn yy_state_535(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_536) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_538) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_536(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_538(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_expr_statement_no_break_continue_return, - yy_action_543, + yy_action_556, ) } ///| -fn yy_state_537(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_539(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36216,41 +37001,41 @@ fn yy_state_537(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_538) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_540) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_538(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_540(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_expr_statement_no_break_continue_return, - yy_action_540, + yy_action_553, ) } ///| -fn yy_state_539(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_541(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_expr_statement_no_break_continue_return, - yy_action_539, + yy_action_552, ) } ///| -fn yy_state_540(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_542(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36304,43 +37089,43 @@ fn yy_state_540(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_541) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_543) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_541(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_543(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_expr_statement_no_break_continue_return, - yy_action_538, + yy_action_551, ) } ///| -fn yy_state_542(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_544(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_DOT_UIDENT => Shift(yy_state_190) - T_DOT_LIDENT => Shift(yy_state_543) + T_DOT_LIDENT => Shift(yy_state_545) _ => Error } } ///| -fn yy_state_543(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_545(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(2, NT_qual_ident, yy_action_537) + T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(2, NT_qual_ident, yy_action_550) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -36377,18 +37162,18 @@ fn yy_state_543(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(2, NT_qual_ident_simple_expr, yy_action_758) - T_COLONCOLON => Reduce(2, NT_qual_ident_ty, yy_action_871) + | T_LEXMATCH_QUESTION => Reduce(2, NT_qual_ident_simple_expr, yy_action_770) + T_COLONCOLON => Reduce(2, NT_qual_ident_ty, yy_action_883) _ => Error } } ///| -fn yy_state_544(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_546(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_193) - T_FAT_ARROW => Shift(yy_state_531) - T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(1, NT_qual_ident, yy_action_536) + T_FAT_ARROW => Shift(yy_state_533) + T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(1, NT_qual_ident, yy_action_549) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -36424,76 +37209,76 @@ fn yy_state_544(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_545(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_547(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_546) - NT_option_COMMA_ => Shift(yy_state_550) - T_IN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_COMMA => Shift(yy_state_548) + NT_option_COMMA_ => Shift(yy_state_552) + T_IN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_546(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_548(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_foreach_binder => Shift(yy_state_547) - T_UNDERSCORE => Shift(yy_state_548) - T_LIDENT => Shift(yy_state_549) - T_IN => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_foreach_binder => Shift(yy_state_549) + T_UNDERSCORE => Shift(yy_state_550) + T_LIDENT => Shift(yy_state_551) + T_IN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_547(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_549(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_foreach_binder_, - yy_action_535, + yy_action_548, ) } ///| -fn yy_state_548(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_foreach_binder, yy_action_534) +fn yy_state_550(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_foreach_binder, yy_action_547) } ///| -fn yy_state_549(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_foreach_binder, yy_action_533) +fn yy_state_551(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_foreach_binder, yy_action_546) } ///| -fn yy_state_550(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_foreach_binder_, yy_action_532) +fn yy_state_552(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_commas_foreach_binder_, yy_action_545) } ///| -fn yy_state_551(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_553(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__, - yy_action_531, + yy_action_544, ) } ///| -fn yy_state_552(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_554(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_553) - T_COMMA | T_IN => Reduce(1, NT_foreach_binder, yy_action_533) + T_EQUAL => Shift(yy_state_555) + T_COMMA | T_IN => Reduce(1, NT_foreach_binder, yy_action_546) _ => Error } } ///| -fn yy_state_553(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_555(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36547,40 +37332,40 @@ fn yy_state_553(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_554) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_556) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_554(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_556(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_separated_pair_binder_EQUAL_expr__, - yy_action_529, + yy_action_542, ) } ///| -fn yy_state_555(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_557(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_IN => Shift(yy_state_556) + T_IN => Shift(yy_state_558) _ => Error } } ///| -fn yy_state_556(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_558(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36634,35 +37419,35 @@ fn yy_state_556(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_557) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_559) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_557(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_559(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_558) + NT_block_expr => Shift(yy_state_560) _ => Error } } ///| -fn yy_state_558(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_560(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_optional_else => Shift(yy_state_559) - T_ELSE => Shift(yy_state_560) + NT_optional_else => Shift(yy_state_561) + T_ELSE => Shift(yy_state_562) T_EOF | T_RPAREN | T_COMMA @@ -36671,45 +37456,45 @@ fn yy_state_558(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(0, NT_optional_else, yy_action_528) + | T_AND => Reduce(0, NT_optional_else, yy_action_541) _ => Error } } ///| -fn yy_state_559(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_foreach_expr, yy_action_527) +fn yy_state_561(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_foreach_expr, yy_action_540) } ///| -fn yy_state_560(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_562(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_561) + NT_block_expr => Shift(yy_state_563) _ => Error } } ///| -fn yy_state_561(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_optional_else, yy_action_526) +fn yy_state_563(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_optional_else, yy_action_539) } ///| -fn yy_state_562(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_564(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_563) - T_SEMI => Shift(yy_state_580) + NT_block_expr => Shift(yy_state_565) + T_SEMI => Shift(yy_state_582) _ => Error } } ///| -fn yy_state_563(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_565(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ELSE => Shift(yy_state_560) - NT_optional_else => Shift(yy_state_564) + T_ELSE => Shift(yy_state_562) + NT_optional_else => Shift(yy_state_566) T_EOF | T_RPAREN | T_COMMA @@ -36719,16 +37504,16 @@ fn yy_state_563(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AND - | T_WHERE => Reduce(0, NT_optional_else, yy_action_528) + | T_WHERE => Reduce(0, NT_optional_else, yy_action_541) _ => Error } } ///| -fn yy_state_564(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_566(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_optional_where_clause => Shift(yy_state_565) - T_WHERE => Shift(yy_state_566) + NT_optional_where_clause => Shift(yy_state_567) + T_WHERE => Shift(yy_state_568) T_EOF | T_RPAREN | T_COMMA @@ -36737,46 +37522,46 @@ fn yy_state_564(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(0, NT_optional_where_clause, yy_action_525) + | T_AND => Reduce(0, NT_optional_where_clause, yy_action_538) _ => Error } } ///| -fn yy_state_565(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_for_expr, yy_action_524) +fn yy_state_567(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_for_expr, yy_action_537) } ///| -fn yy_state_566(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_568(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_567) + T_LBRACE => Shift(yy_state_569) _ => Error } } ///| -fn yy_state_567(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_569(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_568) - NT_non_empty_list_commas_rev_labeled_expr_ => Shift(yy_state_571) - NT_non_empty_list_commas_labeled_expr_ => Shift(yy_state_577) - NT_list_commas_labeled_expr_ => Shift(yy_state_578) - T_RBRACE => Reduce(0, NT_list_commas_labeled_expr_, yy_action_523) + T_LIDENT => Shift(yy_state_570) + NT_non_empty_list_commas_rev_labeled_expr_ => Shift(yy_state_573) + NT_non_empty_list_commas_labeled_expr_ => Shift(yy_state_579) + NT_list_commas_labeled_expr_ => Shift(yy_state_580) + T_RBRACE => Reduce(0, NT_list_commas_labeled_expr_, yy_action_536) _ => Error } } ///| -fn yy_state_568(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_570(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_569) + T_COLON => Shift(yy_state_571) _ => Error } } ///| -fn yy_state_569(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_571(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36830,64 +37615,64 @@ fn yy_state_569(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_570) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_572) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_570(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_572(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_labeled_expr_, - yy_action_522, + yy_action_535, ) } ///| -fn yy_state_571(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_573(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_COMMA_ => Shift(yy_state_572) - T_COMMA => Shift(yy_state_573) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + NT_option_COMMA_ => Shift(yy_state_574) + T_COMMA => Shift(yy_state_575) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_572(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_labeled_expr_, yy_action_521) +fn yy_state_574(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_commas_labeled_expr_, yy_action_534) } ///| -fn yy_state_573(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_575(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_574) - T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_863) + T_LIDENT => Shift(yy_state_576) + T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_574(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_576(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_575) + T_COLON => Shift(yy_state_577) _ => Error } } ///| -fn yy_state_575(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_577(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -36941,50 +37726,50 @@ fn yy_state_575(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_576) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_578) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_576(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_578(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 5, NT_non_empty_list_commas_rev_labeled_expr_, - yy_action_520, + yy_action_533, ) } ///| -fn yy_state_577(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_labeled_expr_, yy_action_519) +fn yy_state_579(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_labeled_expr_, yy_action_532) } ///| -fn yy_state_578(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_580(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_579) + T_RBRACE => Shift(yy_state_581) _ => Error } } ///| -fn yy_state_579(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_optional_where_clause, yy_action_518) +fn yy_state_581(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_optional_where_clause, yy_action_531) } ///| -fn yy_state_580(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_582(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37025,15 +37810,15 @@ fn yy_state_580(_lookahead : YYSymbol) -> YYDecision { NT_prefix_expr => Shift(yy_state_198) NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) - NT_infix_expr => Shift(yy_state_581) - NT_option_infix_expr_ => Shift(yy_state_582) - T_SEMI => Reduce(0, NT_option_infix_expr_, yy_action_517) + NT_infix_expr => Shift(yy_state_583) + NT_option_infix_expr_ => Shift(yy_state_584) + T_SEMI => Reduce(0, NT_option_infix_expr_, yy_action_530) _ => Error } } ///| -fn yy_state_581(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_583(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_BARBAR => Shift(yy_state_384) T_AMPERAMPER => Shift(yy_state_386) @@ -37046,61 +37831,61 @@ fn yy_state_581(_lookahead : YYSymbol) -> YYDecision { T_INFIX2 => Shift(yy_state_400) T_INFIX3 => Shift(yy_state_402) T_INFIX4 => Shift(yy_state_404) - T_SEMI => Reduce(1, NT_option_infix_expr_, yy_action_516) + T_SEMI => Reduce(1, NT_option_infix_expr_, yy_action_529) _ => Error } } ///| -fn yy_state_582(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_584(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_583) + T_SEMI => Shift(yy_state_585) _ => Error } } ///| -fn yy_state_583(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_585(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_non_empty_list_commas_rev_separated_pair_binder_EQUAL_expr__ => - Shift(yy_state_523) + Shift(yy_state_525) NT_non_empty_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__ => - Shift(yy_state_551) - T_LIDENT => Shift(yy_state_584) + Shift(yy_state_553) + T_LIDENT => Shift(yy_state_586) NT_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__ => - Shift(yy_state_585) + Shift(yy_state_587) T_LBRACE => Reduce( 0, NT_list_commas_no_trailing_separated_pair_binder_EQUAL_expr__, - yy_action_551, + yy_action_564, ) _ => Error } } ///| -fn yy_state_584(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_586(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_553) + T_EQUAL => Shift(yy_state_555) _ => Error } } ///| -fn yy_state_585(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_587(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_586) + NT_block_expr => Shift(yy_state_588) _ => Error } } ///| -fn yy_state_586(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_588(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ELSE => Shift(yy_state_560) - NT_optional_else => Shift(yy_state_587) + T_ELSE => Shift(yy_state_562) + NT_optional_else => Shift(yy_state_589) T_EOF | T_RPAREN | T_COMMA @@ -37110,16 +37895,16 @@ fn yy_state_586(_lookahead : YYSymbol) -> YYDecision { | T_LBRACE | T_RBRACE | T_AND - | T_WHERE => Reduce(0, NT_optional_else, yy_action_528) + | T_WHERE => Reduce(0, NT_optional_else, yy_action_541) _ => Error } } ///| -fn yy_state_587(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_589(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WHERE => Shift(yy_state_566) - NT_optional_where_clause => Shift(yy_state_588) + T_WHERE => Shift(yy_state_568) + NT_optional_where_clause => Shift(yy_state_590) T_EOF | T_RPAREN | T_COMMA @@ -37128,23 +37913,23 @@ fn yy_state_587(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(0, NT_optional_where_clause, yy_action_525) + | T_AND => Reduce(0, NT_optional_where_clause, yy_action_538) _ => Error } } ///| -fn yy_state_588(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(10, NT_for_expr, yy_action_515) +fn yy_state_590(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(10, NT_for_expr, yy_action_528) } ///| -fn yy_state_589(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_for_binders, yy_action_514) +fn yy_state_591(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_for_binders, yy_action_527) } ///| -fn yy_state_590(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_592(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37185,13 +37970,13 @@ fn yy_state_590(_lookahead : YYSymbol) -> YYDecision { NT_prefix_expr => Shift(yy_state_198) NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) - NT_infix_expr => Shift(yy_state_591) + NT_infix_expr => Shift(yy_state_593) _ => Error } } ///| -fn yy_state_591(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_593(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_BARBAR => Shift(yy_state_384) T_AMPERAMPER => Shift(yy_state_386) @@ -37204,13 +37989,13 @@ fn yy_state_591(_lookahead : YYSymbol) -> YYDecision { T_INFIX2 => Shift(yy_state_400) T_INFIX3 => Shift(yy_state_402) T_INFIX4 => Shift(yy_state_404) - T_LBRACE => Shift(yy_state_592) + T_LBRACE => Shift(yy_state_594) _ => Error } } ///| -fn yy_state_592(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_594(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) NT_qual_ident_ty => Shift(yy_state_24) @@ -37239,28 +38024,28 @@ fn yy_state_592(_lookahead : YYSymbol) -> YYDecision { NT_single_pattern_case => Shift(yy_state_454) T_ELLIPSIS => Shift(yy_state_457) NT_pattern => Shift(yy_state_458) - NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_508) - NT_list_semis_single_pattern_case_ => Shift(yy_state_593) - T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_589) + NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_510) + NT_list_semis_single_pattern_case_ => Shift(yy_state_595) + T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_601) _ => Error } } ///| -fn yy_state_593(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_595(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_594) + T_RBRACE => Shift(yy_state_596) _ => Error } } ///| -fn yy_state_594(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_loop_expr, yy_action_512) +fn yy_state_596(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_loop_expr, yy_action_525) } ///| -fn yy_state_595(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_597(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37301,13 +38086,13 @@ fn yy_state_595(_lookahead : YYSymbol) -> YYDecision { NT_prefix_expr => Shift(yy_state_198) NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) - NT_infix_expr => Shift(yy_state_596) + NT_infix_expr => Shift(yy_state_598) _ => Error } } ///| -fn yy_state_596(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_598(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) T_BARBAR => Shift(yy_state_384) @@ -37321,16 +38106,16 @@ fn yy_state_596(_lookahead : YYSymbol) -> YYDecision { T_INFIX2 => Shift(yy_state_400) T_INFIX3 => Shift(yy_state_402) T_INFIX4 => Shift(yy_state_404) - NT_block_expr => Shift(yy_state_597) + NT_block_expr => Shift(yy_state_599) _ => Error } } ///| -fn yy_state_597(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_599(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ELSE => Shift(yy_state_560) - NT_optional_else => Shift(yy_state_598) + T_ELSE => Shift(yy_state_562) + NT_optional_else => Shift(yy_state_600) T_EOF | T_RPAREN | T_COMMA @@ -37339,23 +38124,23 @@ fn yy_state_597(_lookahead : YYSymbol) -> YYDecision { | T_RBRACKET | T_LBRACE | T_RBRACE - | T_AND => Reduce(0, NT_optional_else, yy_action_528) + | T_AND => Reduce(0, NT_optional_else, yy_action_541) _ => Error } } ///| -fn yy_state_598(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_while_expr, yy_action_511) +fn yy_state_600(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_while_expr, yy_action_524) } ///| -fn yy_state_599(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_expr_statement, yy_action_510) +fn yy_state_601(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_expr_statement, yy_action_523) } ///| -fn yy_state_600(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_602(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37409,35 +38194,35 @@ fn yy_state_600(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_601) - NT_option_expr_ => Shift(yy_state_602) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_SEMI | T_RBRACE => Reduce(0, NT_option_expr_, yy_action_509) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_603) + NT_option_expr_ => Shift(yy_state_604) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_SEMI | T_RBRACE => Reduce(0, NT_option_expr_, yy_action_522) _ => Error } } ///| -fn yy_state_601(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_expr_, yy_action_508) +fn yy_state_603(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_option_expr_, yy_action_521) } ///| -fn yy_state_602(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_expr_statement, yy_action_507) +fn yy_state_604(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_expr_statement, yy_action_520) } ///| -fn yy_state_603(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_605(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37491,43 +38276,43 @@ fn yy_state_603(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_604) - NT_non_empty_list_commas_rev_expr_ => Shift(yy_state_605) - NT_non_empty_list_commas_no_trailing_expr_ => Shift(yy_state_608) - NT_list_commas_no_trailing_expr_ => Shift(yy_state_609) - T_POST_LABEL => Shift(yy_state_610) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_606) + NT_non_empty_list_commas_rev_expr_ => Shift(yy_state_607) + NT_non_empty_list_commas_no_trailing_expr_ => Shift(yy_state_610) + NT_list_commas_no_trailing_expr_ => Shift(yy_state_611) + T_POST_LABEL => Shift(yy_state_612) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) T_SEMI | T_RBRACE => - Reduce(0, NT_list_commas_no_trailing_expr_, yy_action_506) + Reduce(0, NT_list_commas_no_trailing_expr_, yy_action_519) _ => Error } } ///| -fn yy_state_604(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_non_empty_list_commas_rev_expr_, yy_action_505) +fn yy_state_606(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_non_empty_list_commas_rev_expr_, yy_action_518) } ///| -fn yy_state_605(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_607(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_606) + T_COMMA => Shift(yy_state_608) T_SEMI | T_RBRACE => - Reduce(1, NT_non_empty_list_commas_no_trailing_expr_, yy_action_504) + Reduce(1, NT_non_empty_list_commas_no_trailing_expr_, yy_action_517) _ => Error } } ///| -fn yy_state_606(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_608(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37581,38 +38366,38 @@ fn yy_state_606(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_607) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_609) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_607(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_commas_rev_expr_, yy_action_503) +fn yy_state_609(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_non_empty_list_commas_rev_expr_, yy_action_516) } ///| -fn yy_state_608(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_no_trailing_expr_, yy_action_502) +fn yy_state_610(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_no_trailing_expr_, yy_action_515) } ///| -fn yy_state_609(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_expr_statement, yy_action_501) +fn yy_state_611(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_expr_statement, yy_action_514) } ///| -fn yy_state_610(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_612(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37666,34 +38451,34 @@ fn yy_state_610(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_COLON => Shift(yy_state_529) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_604) - NT_non_empty_list_commas_rev_expr_ => Shift(yy_state_605) - NT_non_empty_list_commas_no_trailing_expr_ => Shift(yy_state_608) - NT_list_commas_no_trailing_expr_ => Shift(yy_state_611) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_COLON => Shift(yy_state_531) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_606) + NT_non_empty_list_commas_rev_expr_ => Shift(yy_state_607) + NT_non_empty_list_commas_no_trailing_expr_ => Shift(yy_state_610) + NT_list_commas_no_trailing_expr_ => Shift(yy_state_613) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) T_SEMI | T_RBRACE => - Reduce(0, NT_list_commas_no_trailing_expr_, yy_action_506) + Reduce(0, NT_list_commas_no_trailing_expr_, yy_action_519) _ => Error } } ///| -fn yy_state_611(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_expr_statement, yy_action_500) +fn yy_state_613(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_expr_statement, yy_action_513) } ///| -fn yy_state_612(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_614(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37747,30 +38532,30 @@ fn yy_state_612(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_601) - NT_option_expr_ => Shift(yy_state_613) - T_POST_LABEL => Shift(yy_state_614) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_SEMI | T_RBRACE => Reduce(0, NT_option_expr_, yy_action_509) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_603) + NT_option_expr_ => Shift(yy_state_615) + T_POST_LABEL => Shift(yy_state_616) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_SEMI | T_RBRACE => Reduce(0, NT_option_expr_, yy_action_522) _ => Error } } ///| -fn yy_state_613(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_expr_statement, yy_action_499) +fn yy_state_615(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_expr_statement, yy_action_512) } ///| -fn yy_state_614(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_616(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37824,82 +38609,237 @@ fn yy_state_614(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_COLON => Shift(yy_state_529) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_601) - NT_option_expr_ => Shift(yy_state_615) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_SEMI | T_RBRACE => Reduce(0, NT_option_expr_, yy_action_509) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_COLON => Shift(yy_state_531) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_603) + NT_option_expr_ => Shift(yy_state_617) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_SEMI | T_RBRACE => Reduce(0, NT_option_expr_, yy_action_522) _ => Error } } ///| -fn yy_state_615(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_expr_statement, yy_action_498) +fn yy_state_617(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_expr_statement, yy_action_511) } ///| -fn yy_state_616(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_semis_lex_case_, yy_action_497) +fn yy_state_618(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_multiline_string => Shift(yy_state_2) + T_MULTILINE_INTERP => Shift(yy_state_4) + T_MULTILINE_STRING => Shift(yy_state_5) + T_STRING => Shift(yy_state_6) + T_FLOAT => Shift(yy_state_7) + T_DOUBLE => Shift(yy_state_8) + T_INT => Shift(yy_state_9) + T_CHAR => Shift(yy_state_10) + T_BYTES => Shift(yy_state_11) + T_BYTE => Shift(yy_state_12) + T_FALSE => Shift(yy_state_13) + T_TRUE => Shift(yy_state_14) + T_INTERP => Shift(yy_state_15) + NT_non_empty_list_multiline_string_ => Shift(yy_state_16) + NT_simple_constant => Shift(yy_state_17) + T_AMPER => Shift(yy_state_18) + NT_qual_ident_ty => Shift(yy_state_24) + NT_tuple_expr => Shift(yy_state_25) + T_LBRACKET => Shift(yy_state_26) + NT_constr => Shift(yy_state_34) + NT_qual_ident_simple_expr => Shift(yy_state_35) + NT_atomic_expr => Shift(yy_state_36) + NT_anony_fn => Shift(yy_state_37) + T_LBRACE => Shift(yy_state_38) + T_FN => Shift(yy_state_47) + NT_type_name => Shift(yy_state_130) + T_ASYNC => Shift(yy_state_142) + T_EXCLAMATION => Shift(yy_state_168) + T_MINUS => Shift(yy_state_184) + T_PLUS => Shift(yy_state_186) + T_UIDENT => Shift(yy_state_188) + NT_prefix_expr => Shift(yy_state_198) + NT_range_expr => Shift(yy_state_209) + NT_postfix_expr => Shift(yy_state_382) + NT_infix_expr => Shift(yy_state_383) + T_UNDERSCORE => Shift(yy_state_406) + NT_qual_ident => Shift(yy_state_408) + NT_simple_expr => Shift(yy_state_409) + T_LPAREN => Shift(yy_state_414) + NT_pipe_expr => Shift(yy_state_447) + NT_arrow_fn_expr => Shift(yy_state_463) + NT_simple_try_expr => Shift(yy_state_464) + NT_lexmatch_expr => Shift(yy_state_465) + NT_match_expr => Shift(yy_state_466) + NT_if_expr => Shift(yy_state_467) + NT_try_expr => Shift(yy_state_468) + NT_while_expr => Shift(yy_state_469) + NT_foreach_expr => Shift(yy_state_470) + NT_for_expr => Shift(yy_state_471) + NT_loop_expr => Shift(yy_state_472) + T_LEXMATCH => Shift(yy_state_473) + NT_lexmatch_header => Shift(yy_state_479) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + NT_expr_statement => Shift(yy_state_619) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + _ => Error + } } ///| -fn yy_state_617(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_619(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_lex_case, yy_action_510) +} + +///| +fn yy_state_620(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_semis_lex_case_, yy_action_509) +} + +///| +fn yy_state_621(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_618) + T_RBRACE => Shift(yy_state_622) _ => Error } } ///| -fn yy_state_618(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_lexmatch_expr, yy_action_496) +fn yy_state_622(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_lexmatch_expr, yy_action_508) } ///| -fn yy_state_619(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_single_pattern_case, yy_action_495) +fn yy_state_623(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_single_pattern_case, yy_action_507) } ///| -fn yy_state_620(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_624(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_semis_single_pattern_case_, - yy_action_494, + yy_action_506, ) } ///| -fn yy_state_621(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_625(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_622) + T_RBRACE => Shift(yy_state_626) _ => Error } } ///| -fn yy_state_622(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_simple_try_expr, yy_action_493) +fn yy_state_626(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_NORAISE => Shift(yy_state_627) + T_EOF + | T_RPAREN + | T_COMMA + | T_COLON + | T_SEMI + | T_RBRACKET + | T_LBRACE + | T_RBRACE + | T_AND => Reduce(4, NT_simple_try_expr, yy_action_505) + _ => Error + } } ///| -fn yy_state_623(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_627(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LBRACE => Shift(yy_state_628) + _ => Error + } +} + +///| +fn yy_state_628(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_AMPER => Shift(yy_state_18) + NT_qual_ident_ty => Shift(yy_state_24) + T_UIDENT => Shift(yy_state_188) + T_LBRACE => Shift(yy_state_243) + T_LBRACKET => Shift(yy_state_247) + T_LPAREN => Shift(yy_state_261) + NT_constr => Shift(yy_state_262) + T_LIDENT => Shift(yy_state_275) + T_UNDERSCORE => Shift(yy_state_280) + T_BYTES => Shift(yy_state_281) + T_STRING => Shift(yy_state_282) + T_MINUS => Shift(yy_state_283) + T_FLOAT => Shift(yy_state_287) + T_DOUBLE => Shift(yy_state_288) + T_BYTE => Shift(yy_state_289) + T_INT => Shift(yy_state_290) + T_CHAR => Shift(yy_state_291) + T_FALSE => Shift(yy_state_292) + T_TRUE => Shift(yy_state_293) + NT_simple_pattern => Shift(yy_state_294) + NT_type_name => Shift(yy_state_297) + T_PACKAGE_NAME => Shift(yy_state_300) + NT_range_pattern => Shift(yy_state_303) + NT_or_pattern => Shift(yy_state_306) + NT_single_pattern_case => Shift(yy_state_454) + T_ELLIPSIS => Shift(yy_state_457) + NT_pattern => Shift(yy_state_458) + NT_non_empty_list_semis_single_pattern_case_ => Shift(yy_state_510) + NT_list_semis_single_pattern_case_ => Shift(yy_state_517) + NT_single_pattern_cases => Shift(yy_state_629) + T_RBRACE => Reduce(0, NT_list_semis_single_pattern_case_, yy_action_601) + _ => Error + } +} + +///| +fn yy_state_629(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_630) + _ => Error + } +} + +///| +fn yy_state_630(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_simple_try_expr, yy_action_503) +} + +///| +fn yy_state_631(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_193) T_COLON => Shift(yy_state_429) - T_FAT_ARROW => Shift(yy_state_531) - T_COMMA => Shift(yy_state_624) - T_RPAREN => Shift(yy_state_628) + T_FAT_ARROW => Shift(yy_state_533) + T_COMMA => Shift(yy_state_632) + T_RPAREN => Shift(yy_state_636) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -37926,13 +38866,13 @@ fn yy_state_623(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_624(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_632(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -37989,37 +38929,37 @@ fn yy_state_624(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_623) - NT_non_empty_tuple_elems_with_prefix => Shift(yy_state_625) - NT_arrow_fn_prefix_no_constraint => Shift(yy_state_626) - T_RPAREN => Shift(yy_state_627) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_631) + NT_non_empty_tuple_elems_with_prefix => Shift(yy_state_633) + NT_arrow_fn_prefix_no_constraint => Shift(yy_state_634) + T_RPAREN => Shift(yy_state_635) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_625(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_tuple_elems_with_prefix, yy_action_492) +fn yy_state_633(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_non_empty_tuple_elems_with_prefix, yy_action_502) } ///| -fn yy_state_626(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_491) +fn yy_state_634(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_501) } ///| -fn yy_state_627(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_635(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Reduce(3, NT_arrow_fn_prefix, yy_action_600) + T_FAT_ARROW => Reduce(3, NT_arrow_fn_prefix, yy_action_612) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -38057,15 +38997,15 @@ fn yy_state_627(_lookahead : YYSymbol) -> YYDecision { | T_IS | T_AND | T_LEXMATCH_QUESTION => - Reduce(3, NT_arrow_fn_prefix_no_constraint, yy_action_489) + Reduce(3, NT_arrow_fn_prefix_no_constraint, yy_action_499) _ => Error } } ///| -fn yy_state_628(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_636(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Reduce(2, NT_arrow_fn_prefix, yy_action_599) + T_FAT_ARROW => Reduce(2, NT_arrow_fn_prefix, yy_action_611) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -38103,15 +39043,15 @@ fn yy_state_628(_lookahead : YYSymbol) -> YYDecision { | T_IS | T_AND | T_LEXMATCH_QUESTION => - Reduce(2, NT_arrow_fn_prefix_no_constraint, yy_action_487) + Reduce(2, NT_arrow_fn_prefix_no_constraint, yy_action_497) _ => Error } } ///| -fn yy_state_629(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_637(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Shift(yy_state_630) + T_FAT_ARROW => Shift(yy_state_638) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -38148,13 +39088,13 @@ fn yy_state_629(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(2, NT_tuple_expr, yy_action_774) + | T_LEXMATCH_QUESTION => Reduce(2, NT_tuple_expr, yy_action_786) _ => Error } } ///| -fn yy_state_630(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_638(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38208,41 +39148,41 @@ fn yy_state_630(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_631) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_639) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_631(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_arrow_fn_expr, yy_action_486) +fn yy_state_639(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_arrow_fn_expr, yy_action_496) } ///| -fn yy_state_632(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_640(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Shift(yy_state_633) + T_FAT_ARROW => Shift(yy_state_641) _ => Error } } ///| -fn yy_state_633(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_641(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38296,39 +39236,39 @@ fn yy_state_633(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_634) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_642) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_634(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_arrow_fn_expr, yy_action_485) +fn yy_state_642(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_arrow_fn_expr, yy_action_495) } ///| -fn yy_state_635(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_643(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_193) - T_FAT_ARROW => Shift(yy_state_531) - T_COMMA => Shift(yy_state_624) - T_RPAREN => Shift(yy_state_628) - T_COLON => Shift(yy_state_636) + T_FAT_ARROW => Shift(yy_state_533) + T_COMMA => Shift(yy_state_632) + T_RPAREN => Shift(yy_state_636) + T_COLON => Shift(yy_state_644) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -38355,13 +39295,13 @@ fn yy_state_635(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_636(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_644(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -38370,24 +39310,24 @@ fn yy_state_636(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_637) + NT_type_ => Shift(yy_state_645) _ => Error } } ///| -fn yy_state_637(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_645(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_431) - T_RPAREN => Shift(yy_state_638) + T_RPAREN => Shift(yy_state_646) _ => Error } } ///| -fn yy_state_638(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_646(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Reduce(4, NT_arrow_fn_prefix, yy_action_602) + T_FAT_ARROW => Reduce(4, NT_arrow_fn_prefix, yy_action_614) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -38424,23 +39364,23 @@ fn yy_state_638(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(5, NT_tuple_expr, yy_action_484) + | T_LEXMATCH_QUESTION => Reduce(5, NT_tuple_expr, yy_action_494) _ => Error } } ///| -fn yy_state_639(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_647(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_529) - T_EQUAL => Shift(yy_state_640) - T_RPAREN | T_COMMA => Reduce(1, NT_argument, yy_action_483) + T_COLON => Shift(yy_state_531) + T_EQUAL => Shift(yy_state_648) + T_RPAREN | T_COMMA => Reduce(1, NT_argument, yy_action_493) _ => Error } } ///| -fn yy_state_640(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_648(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38494,33 +39434,33 @@ fn yy_state_640(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_641) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_649) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_641(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_argument, yy_action_482) +fn yy_state_649(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_argument, yy_action_492) } ///| -fn yy_state_642(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_650(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Shift(yy_state_531) - NT_optional_question => Shift(yy_state_643) - T_QUESTION => Shift(yy_state_646) - T_EQUAL => Reduce(0, NT_optional_question, yy_action_481) + T_FAT_ARROW => Shift(yy_state_533) + NT_optional_question => Shift(yy_state_651) + T_QUESTION => Shift(yy_state_654) + T_EQUAL => Reduce(0, NT_optional_question, yy_action_491) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -38549,21 +39489,21 @@ fn yy_state_642(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_643(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_651(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_644) + T_EQUAL => Shift(yy_state_652) _ => Error } } ///| -fn yy_state_644(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_652(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38617,46 +39557,46 @@ fn yy_state_644(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_645) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_653) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_645(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_argument, yy_action_479) +fn yy_state_653(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_argument, yy_action_489) } ///| -fn yy_state_646(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_654(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_194) - T_EQUAL => Reduce(1, NT_optional_question, yy_action_478) - T_RPAREN | T_COMMA => Reduce(2, NT_argument, yy_action_477) + T_EQUAL => Reduce(1, NT_optional_question, yy_action_488) + T_RPAREN | T_COMMA => Reduce(2, NT_argument, yy_action_487) _ => Error } } ///| -fn yy_state_647(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_655(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_648) + T_LPAREN => Shift(yy_state_656) _ => Error } } ///| -fn yy_state_648(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_656(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38714,37 +39654,37 @@ fn yy_state_648(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_649) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_657) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_649(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_657(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_650) + T_RPAREN => Shift(yy_state_658) _ => Error } } ///| -fn yy_state_650(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_expr, yy_action_476) +fn yy_state_658(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_simple_expr, yy_action_486) } ///| -fn yy_state_651(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_659(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38802,37 +39742,37 @@ fn yy_state_651(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_652) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_660) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_652(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_660(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_653) + T_RPAREN => Shift(yy_state_661) _ => Error } } ///| -fn yy_state_653(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_simple_expr, yy_action_475) +fn yy_state_661(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_simple_expr, yy_action_485) } ///| -fn yy_state_654(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_662(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38886,33 +39826,33 @@ fn yy_state_654(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_option_expr_ => Shift(yy_state_655) - NT_expr => Shift(yy_state_659) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_COLON => Reduce(0, NT_option_expr_, yy_action_509) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_option_expr_ => Shift(yy_state_663) + NT_expr => Shift(yy_state_667) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_COLON => Reduce(0, NT_option_expr_, yy_action_522) _ => Error } } ///| -fn yy_state_655(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_663(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_656) + T_COLON => Shift(yy_state_664) _ => Error } } ///| -fn yy_state_656(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_664(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -38966,49 +39906,49 @@ fn yy_state_656(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_601) - NT_option_expr_ => Shift(yy_state_657) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACKET => Reduce(0, NT_option_expr_, yy_action_509) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_603) + NT_option_expr_ => Shift(yy_state_665) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACKET => Reduce(0, NT_option_expr_, yy_action_522) _ => Error } } ///| -fn yy_state_657(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_665(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_658) + T_RBRACKET => Shift(yy_state_666) _ => Error } } ///| -fn yy_state_658(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_simple_expr, yy_action_474) +fn yy_state_666(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_simple_expr, yy_action_484) } ///| -fn yy_state_659(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_667(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_660) - T_COLON => Reduce(1, NT_option_expr_, yy_action_508) + T_RBRACKET => Shift(yy_state_668) + T_COLON => Reduce(1, NT_option_expr_, yy_action_521) _ => Error } } ///| -fn yy_state_660(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_668(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(4, NT_left_value, yy_action_472) + T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(4, NT_left_value, yy_action_482) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -39045,15 +39985,15 @@ fn yy_state_660(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(4, NT_simple_expr, yy_action_473) + | T_LEXMATCH_QUESTION => Reduce(4, NT_simple_expr, yy_action_483) _ => Error } } ///| -fn yy_state_661(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_669(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(2, NT_left_value, yy_action_470) + T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(2, NT_left_value, yy_action_480) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -39090,18 +40030,18 @@ fn yy_state_661(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(2, NT_simple_expr, yy_action_781) + | T_LEXMATCH_QUESTION => Reduce(2, NT_simple_expr, yy_action_793) _ => Error } } ///| -fn yy_state_662(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_670(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_QUESTION => Shift(yy_state_663) - T_EXCLAMATION => Shift(yy_state_667) - T_LPAREN => Shift(yy_state_671) - T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(2, NT_left_value, yy_action_467) + T_QUESTION => Shift(yy_state_671) + T_EXCLAMATION => Shift(yy_state_675) + T_LPAREN => Shift(yy_state_679) + T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(2, NT_left_value, yy_action_477) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -39135,21 +40075,21 @@ fn yy_state_662(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(2, NT_simple_expr, yy_action_469) + | T_LEXMATCH_QUESTION => Reduce(2, NT_simple_expr, yy_action_479) _ => Error } } ///| -fn yy_state_663(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_671(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_664) + T_LPAREN => Shift(yy_state_672) _ => Error } } ///| -fn yy_state_664(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_672(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -39207,45 +40147,45 @@ fn yy_state_664(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_665) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_673) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_665(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_673(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_666) + T_RPAREN => Shift(yy_state_674) _ => Error } } ///| -fn yy_state_666(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_simple_expr, yy_action_466) +fn yy_state_674(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_simple_expr, yy_action_476) } ///| -fn yy_state_667(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_675(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_668) + T_LPAREN => Shift(yy_state_676) _ => Error } } ///| -fn yy_state_668(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_676(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -39303,37 +40243,37 @@ fn yy_state_668(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_669) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_677) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_669(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_677(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_670) + T_RPAREN => Shift(yy_state_678) _ => Error } } ///| -fn yy_state_670(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_simple_expr, yy_action_465) +fn yy_state_678(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_simple_expr, yy_action_475) } ///| -fn yy_state_671(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_679(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -39391,47 +40331,47 @@ fn yy_state_671(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_672) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_680) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_672(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_680(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_673) + T_RPAREN => Shift(yy_state_681) _ => Error } } ///| -fn yy_state_673(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_expr, yy_action_464) +fn yy_state_681(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_simple_expr, yy_action_474) } ///| -fn yy_state_674(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_expr, yy_action_463) +fn yy_state_682(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_arrow_fn_expr, yy_action_473) } ///| -fn yy_state_675(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_683(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_FAT_ARROW => Shift(yy_state_407) - T_COLON => Shift(yy_state_676) - T_COMMA => Shift(yy_state_679) - T_RPAREN => Shift(yy_state_682) + T_COLON => Shift(yy_state_684) + T_COMMA => Shift(yy_state_687) + T_RPAREN => Shift(yy_state_690) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -39459,13 +40399,13 @@ fn yy_state_675(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_775) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_787) _ => Error } } ///| -fn yy_state_676(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_684(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -39474,26 +40414,26 @@ fn yy_state_676(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_677) + NT_type_ => Shift(yy_state_685) _ => Error } } ///| -fn yy_state_677(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_685(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_678) + T_RPAREN => Shift(yy_state_686) _ => Error } } ///| -fn yy_state_678(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_tuple_expr, yy_action_597) +fn yy_state_686(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_tuple_expr, yy_action_609) } ///| -fn yy_state_679(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_687(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -39550,33 +40490,33 @@ fn yy_state_679(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_RPAREN => Shift(yy_state_680) - T_UNDERSCORE => Shift(yy_state_681) - T_LIDENT => Shift(yy_state_683) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_RPAREN => Shift(yy_state_688) + T_UNDERSCORE => Shift(yy_state_689) + T_LIDENT => Shift(yy_state_691) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_680(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_594) +fn yy_state_688(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_606) } ///| -fn yy_state_681(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_689(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_FAT_ARROW => Shift(yy_state_407) - T_COMMA => Shift(yy_state_679) - T_RPAREN => Shift(yy_state_682) + T_COMMA => Shift(yy_state_687) + T_RPAREN => Shift(yy_state_690) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -39604,23 +40544,23 @@ fn yy_state_681(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_775) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_expr, yy_action_787) _ => Error } } ///| -fn yy_state_682(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_arrow_fn_prefix_no_constraint, yy_action_593) +fn yy_state_690(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_arrow_fn_prefix_no_constraint, yy_action_605) } ///| -fn yy_state_683(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_691(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_193) - T_FAT_ARROW => Shift(yy_state_531) - T_COMMA => Shift(yy_state_684) - T_RPAREN => Shift(yy_state_686) + T_FAT_ARROW => Shift(yy_state_533) + T_COMMA => Shift(yy_state_692) + T_RPAREN => Shift(yy_state_694) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -39647,13 +40587,13 @@ fn yy_state_683(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_684(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_692(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -39708,42 +40648,42 @@ fn yy_state_684(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_non_empty_tuple_elems_with_prefix => Shift(yy_state_625) - NT_arrow_fn_prefix_no_constraint => Shift(yy_state_626) - T_UNDERSCORE => Shift(yy_state_681) - T_LIDENT => Shift(yy_state_683) - T_RPAREN => Shift(yy_state_685) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_non_empty_tuple_elems_with_prefix => Shift(yy_state_633) + NT_arrow_fn_prefix_no_constraint => Shift(yy_state_634) + T_UNDERSCORE => Shift(yy_state_689) + T_LIDENT => Shift(yy_state_691) + T_RPAREN => Shift(yy_state_693) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_685(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_489) +fn yy_state_693(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_arrow_fn_prefix_no_constraint, yy_action_499) } ///| -fn yy_state_686(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_arrow_fn_prefix_no_constraint, yy_action_487) +fn yy_state_694(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_arrow_fn_prefix_no_constraint, yy_action_497) } ///| -fn yy_state_687(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_695(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_193) - T_FAT_ARROW => Shift(yy_state_531) - T_COMMA => Shift(yy_state_684) - T_RPAREN => Shift(yy_state_686) - T_COLON => Shift(yy_state_688) + T_FAT_ARROW => Shift(yy_state_533) + T_COMMA => Shift(yy_state_692) + T_RPAREN => Shift(yy_state_694) + T_COLON => Shift(yy_state_696) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -39770,13 +40710,13 @@ fn yy_state_687(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_688(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_696(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -39785,52 +40725,52 @@ fn yy_state_688(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_689) + NT_type_ => Shift(yy_state_697) _ => Error } } ///| -fn yy_state_689(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_697(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_690) + T_RPAREN => Shift(yy_state_698) _ => Error } } ///| -fn yy_state_690(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_tuple_expr, yy_action_484) +fn yy_state_698(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_tuple_expr, yy_action_494) } ///| -fn yy_state_691(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_prefix_expr, yy_action_462) +fn yy_state_699(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_prefix_expr, yy_action_472) } ///| -fn yy_state_692(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_700(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_693) + T_RPAREN => Shift(yy_state_701) _ => Error } } ///| -fn yy_state_693(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_simple_expr, yy_action_460) +fn yy_state_701(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_simple_expr, yy_action_470) } ///| -fn yy_state_694(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_702(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_695) + T_LPAREN => Shift(yy_state_703) _ => Error } } ///| -fn yy_state_695(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_703(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -39888,37 +40828,37 @@ fn yy_state_695(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_696) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_704) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_696(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_704(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_697) + T_RPAREN => Shift(yy_state_705) _ => Error } } ///| -fn yy_state_697(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_simple_expr, yy_action_458) +fn yy_state_705(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_simple_expr, yy_action_468) } ///| -fn yy_state_698(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_706(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -39976,41 +40916,41 @@ fn yy_state_698(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_699) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_707) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_699(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_707(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_700) + T_RPAREN => Shift(yy_state_708) _ => Error } } ///| -fn yy_state_700(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_simple_expr, yy_action_456) +fn yy_state_708(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_simple_expr, yy_action_466) } ///| -fn yy_state_701(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_709(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_QUESTION => Shift(yy_state_663) - T_EXCLAMATION => Shift(yy_state_667) - T_LPAREN => Shift(yy_state_671) + T_QUESTION => Shift(yy_state_671) + T_EXCLAMATION => Shift(yy_state_675) + T_LPAREN => Shift(yy_state_679) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -40047,13 +40987,13 @@ fn yy_state_701(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_EXCLUSIVE_REV | T_IS | T_AND - | T_LEXMATCH_QUESTION => Reduce(2, NT_simple_expr, yy_action_469) + | T_LEXMATCH_QUESTION => Reduce(2, NT_simple_expr, yy_action_479) _ => Error } } ///| -fn yy_state_702(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_710(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -40107,44 +41047,44 @@ fn yy_state_702(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_option_expr_ => Shift(yy_state_655) - NT_expr => Shift(yy_state_703) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_COLON => Reduce(0, NT_option_expr_, yy_action_509) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_option_expr_ => Shift(yy_state_663) + NT_expr => Shift(yy_state_711) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_COLON => Reduce(0, NT_option_expr_, yy_action_522) _ => Error } } ///| -fn yy_state_703(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_711(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_704) - T_COLON => Reduce(1, NT_option_expr_, yy_action_508) + T_RBRACKET => Shift(yy_state_712) + T_COLON => Reduce(1, NT_option_expr_, yy_action_521) _ => Error } } ///| -fn yy_state_704(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_simple_expr, yy_action_473) +fn yy_state_712(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_simple_expr, yy_action_483) } ///| -fn yy_state_705(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_parameter, yy_action_455) +fn yy_state_713(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_parameter, yy_action_465) } ///| -fn yy_state_706(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_714(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -40153,22 +41093,22 @@ fn yy_state_706(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_707) + NT_type_ => Shift(yy_state_715) _ => Error } } ///| -fn yy_state_707(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_715(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_708) - T_RPAREN | T_COMMA => Reduce(3, NT_parameter, yy_action_452) + T_EQUAL => Shift(yy_state_716) + T_RPAREN | T_COMMA => Reduce(3, NT_parameter, yy_action_462) _ => Error } } ///| -fn yy_state_708(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_716(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -40222,48 +41162,48 @@ fn yy_state_708(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_709) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_717) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_709(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_parameter, yy_action_451) +fn yy_state_717(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_parameter, yy_action_461) } ///| -fn yy_state_710(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_718(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_QUESTION => Shift(yy_state_711) - T_COLON => Shift(yy_state_718) - T_RPAREN | T_COMMA => Reduce(1, NT_parameter, yy_action_450) + T_QUESTION => Shift(yy_state_719) + T_COLON => Shift(yy_state_726) + T_RPAREN | T_COMMA => Reduce(1, NT_parameter, yy_action_460) _ => Error } } ///| -fn yy_state_711(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_719(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_712) - T_EQUAL => Shift(yy_state_716) - T_RPAREN | T_COMMA => Reduce(2, NT_parameter, yy_action_449) + T_COLON => Shift(yy_state_720) + T_EQUAL => Shift(yy_state_724) + T_RPAREN | T_COMMA => Reduce(2, NT_parameter, yy_action_459) _ => Error } } ///| -fn yy_state_712(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_720(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -40272,22 +41212,22 @@ fn yy_state_712(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_713) + NT_type_ => Shift(yy_state_721) _ => Error } } ///| -fn yy_state_713(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_721(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_714) - T_RPAREN | T_COMMA => Reduce(4, NT_parameter, yy_action_448) + T_EQUAL => Shift(yy_state_722) + T_RPAREN | T_COMMA => Reduce(4, NT_parameter, yy_action_458) _ => Error } } ///| -fn yy_state_714(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_722(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -40341,28 +41281,28 @@ fn yy_state_714(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_715) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_723) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_715(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_parameter, yy_action_447) +fn yy_state_723(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_parameter, yy_action_457) } ///| -fn yy_state_716(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_724(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -40416,28 +41356,28 @@ fn yy_state_716(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_717) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_725) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_717(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_parameter, yy_action_446) +fn yy_state_725(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_parameter, yy_action_456) } ///| -fn yy_state_718(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_726(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -40446,27 +41386,27 @@ fn yy_state_718(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_719) + NT_type_ => Shift(yy_state_727) _ => Error } } ///| -fn yy_state_719(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_parameter, yy_action_445) +fn yy_state_727(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_parameter, yy_action_455) } ///| -fn yy_state_720(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_728(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_721) - T_RPAREN | T_COMMA => Reduce(1, NT_parameter, yy_action_444) + T_COLON => Shift(yy_state_729) + T_RPAREN | T_COMMA => Reduce(1, NT_parameter, yy_action_454) _ => Error } } ///| -fn yy_state_721(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_729(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -40475,50 +41415,50 @@ fn yy_state_721(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_722) + NT_type_ => Shift(yy_state_730) _ => Error } } ///| -fn yy_state_722(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_parameter, yy_action_443) +fn yy_state_730(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_parameter, yy_action_453) } ///| -fn yy_state_723(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_parameter_, yy_action_442) +fn yy_state_731(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_parameter_, yy_action_452) } ///| -fn yy_state_724(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_732(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_725) + T_RPAREN => Shift(yy_state_733) _ => Error } } ///| -fn yy_state_725(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_parameters, yy_action_440) +fn yy_state_733(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_parameters, yy_action_450) } ///| -fn yy_state_726(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_optional_bang, yy_action_439) +fn yy_state_734(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_optional_bang, yy_action_449) } ///| -fn yy_state_727(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_735(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_list_commas_with_trailing_info_record_defn_single_, - yy_action_438, + yy_action_448, ) } ///| -fn yy_state_728(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_736(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -40572,100 +41512,100 @@ fn yy_state_728(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_729) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_737) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_729(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_737(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_730) - T_RBRACE => Shift(yy_state_736) + T_COMMA => Shift(yy_state_738) + T_RBRACE => Shift(yy_state_744) _ => Error } } ///| -fn yy_state_730(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_738(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_record_defn_single => Shift(yy_state_134) T_LIDENT => Shift(yy_state_139) - NT_non_empty_list_commas_rev_record_defn_single_ => Shift(yy_state_731) - NT_non_empty_list_commas_record_defn_single_ => Shift(yy_state_733) - NT_list_commas_record_defn_single_ => Shift(yy_state_734) - T_RBRACE => Reduce(0, NT_list_commas_record_defn_single_, yy_action_437) + NT_non_empty_list_commas_rev_record_defn_single_ => Shift(yy_state_739) + NT_non_empty_list_commas_record_defn_single_ => Shift(yy_state_741) + NT_list_commas_record_defn_single_ => Shift(yy_state_742) + T_RBRACE => Reduce(0, NT_list_commas_record_defn_single_, yy_action_447) _ => Error } } ///| -fn yy_state_731(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_739(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_COMMA => Shift(yy_state_137) - NT_option_COMMA_ => Shift(yy_state_732) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + NT_option_COMMA_ => Shift(yy_state_740) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_732(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_740(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_record_defn_single_, - yy_action_436, + yy_action_446, ) } ///| -fn yy_state_733(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_record_defn_single_, yy_action_435) +fn yy_state_741(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_record_defn_single_, yy_action_445) } ///| -fn yy_state_734(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_742(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_735) + T_RBRACE => Shift(yy_state_743) _ => Error } } ///| -fn yy_state_735(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(8, NT_simple_expr, yy_action_433) +fn yy_state_743(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_simple_expr, yy_action_443) } ///| -fn yy_state_736(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_simple_expr, yy_action_431) +fn yy_state_744(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_simple_expr, yy_action_441) } ///| -fn yy_state_737(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_745(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_738) + T_RBRACE => Shift(yy_state_746) _ => Error } } ///| -fn yy_state_738(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_simple_expr, yy_action_430) +fn yy_state_746(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_simple_expr, yy_action_440) } ///| -fn yy_state_739(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_747(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -40706,13 +41646,13 @@ fn yy_state_739(_lookahead : YYSymbol) -> YYDecision { NT_prefix_expr => Shift(yy_state_198) NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) - NT_infix_expr => Shift(yy_state_740) + NT_infix_expr => Shift(yy_state_748) _ => Error } } ///| -fn yy_state_740(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_748(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_BARBAR => Shift(yy_state_384) T_AMPERAMPER => Shift(yy_state_386) @@ -40725,33 +41665,33 @@ fn yy_state_740(_lookahead : YYSymbol) -> YYDecision { T_INFIX2 => Shift(yy_state_400) T_INFIX3 => Shift(yy_state_402) T_INFIX4 => Shift(yy_state_404) - T_ELSE => Shift(yy_state_741) - T_SEMI | T_RBRACE => Reduce(2, NT_guard_statement, yy_action_429) + T_ELSE => Shift(yy_state_749) + T_SEMI | T_RBRACE => Reduce(2, NT_guard_statement, yy_action_439) _ => Error } } ///| -fn yy_state_741(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_749(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_742) + NT_block_expr => Shift(yy_state_750) _ => Error } } ///| -fn yy_state_742(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_guard_statement, yy_action_428) +fn yy_state_750(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_guard_statement, yy_action_438) } ///| -fn yy_state_743(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_statement, yy_action_427) +fn yy_state_751(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_statement, yy_action_437) } ///| -fn yy_state_744(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_752(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -40793,166 +41733,166 @@ fn yy_state_744(_lookahead : YYSymbol) -> YYDecision { NT_range_expr => Shift(yy_state_209) NT_postfix_expr => Shift(yy_state_382) NT_infix_expr => Shift(yy_state_383) - NT_pipe_expr => Shift(yy_state_745) + NT_pipe_expr => Shift(yy_state_753) _ => Error } } ///| -fn yy_state_745(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_753(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PIPE => Shift(yy_state_448) - T_SEMI | T_RBRACE => Reduce(2, NT_statement, yy_action_426) + T_SEMI | T_RBRACE => Reduce(2, NT_statement, yy_action_436) _ => Error } } ///| -fn yy_state_746(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_statement, yy_action_425) +fn yy_state_754(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_statement, yy_action_435) } ///| -fn yy_state_747(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_755(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_optional_bang => Shift(yy_state_48) - T_EXCLAMATION => Shift(yy_state_726) - T_LIDENT => Shift(yy_state_748) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + T_LIDENT => Shift(yy_state_756) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_748(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_756(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_749) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_757) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_749(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_757(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_750) + NT_parameters => Shift(yy_state_758) _ => Error } } ///| -fn yy_state_750(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_758(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_751) - T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_759) + T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_751(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_759(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_752) + NT_block_expr => Shift(yy_state_760) _ => Error } } ///| -fn yy_state_752(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_statement, yy_action_424) +fn yy_state_760(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_statement, yy_action_434) } ///| -fn yy_state_753(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_761(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_754) + T_FN => Shift(yy_state_762) _ => Error } } ///| -fn yy_state_754(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_762(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_optional_bang => Shift(yy_state_144) - T_EXCLAMATION => Shift(yy_state_726) - T_LIDENT => Shift(yy_state_755) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + T_LIDENT => Shift(yy_state_763) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_755(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_763(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_756) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_764) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_756(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_764(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_757) + NT_parameters => Shift(yy_state_765) _ => Error } } ///| -fn yy_state_757(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_765(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_758) - T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_766) + T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_758(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_766(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_759) + NT_block_expr => Shift(yy_state_767) _ => Error } } ///| -fn yy_state_759(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_statement, yy_action_423) +fn yy_state_767(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_statement, yy_action_433) } ///| -fn yy_state_760(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_768(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_761) + T_LIDENT => Shift(yy_state_769) _ => Error } } ///| -fn yy_state_761(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_769(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_762) - T_EQUAL => Shift(yy_state_783) + T_COLON => Shift(yy_state_770) + T_EQUAL => Shift(yy_state_791) _ => Error } } ///| -fn yy_state_762(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_770(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -40961,36 +41901,36 @@ fn yy_state_762(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_763) + NT_type_ => Shift(yy_state_771) _ => Error } } ///| -fn yy_state_763(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_771(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_764) + T_EQUAL => Shift(yy_state_772) _ => Error } } ///| -fn yy_state_764(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_772(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_FN => Shift(yy_state_47) T_ASYNC => Shift(yy_state_142) - T_UNDERSCORE => Shift(yy_state_765) - T_LIDENT => Shift(yy_state_766) - T_LPAREN => Shift(yy_state_767) - NT_letand_func => Shift(yy_state_769) - NT_anony_fn => Shift(yy_state_778) - NT_arrow_fn_expr => Shift(yy_state_779) + T_UNDERSCORE => Shift(yy_state_773) + T_LIDENT => Shift(yy_state_774) + T_LPAREN => Shift(yy_state_775) + NT_letand_func => Shift(yy_state_777) + NT_anony_fn => Shift(yy_state_786) + NT_arrow_fn_expr => Shift(yy_state_787) _ => Error } } ///| -fn yy_state_765(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_773(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_FAT_ARROW => Shift(yy_state_407) _ => Error @@ -40998,78 +41938,78 @@ fn yy_state_765(_lookahead : YYSymbol) -> YYDecision { } ///| -fn yy_state_766(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_774(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Shift(yy_state_531) + T_FAT_ARROW => Shift(yy_state_533) _ => Error } } ///| -fn yy_state_767(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_775(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_UNDERSCORE => Shift(yy_state_421) T_LIDENT => Shift(yy_state_428) - NT_arrow_fn_prefix => Shift(yy_state_632) - T_RPAREN => Shift(yy_state_768) + NT_arrow_fn_prefix => Shift(yy_state_640) + T_RPAREN => Shift(yy_state_776) _ => Error } } ///| -fn yy_state_768(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_776(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FAT_ARROW => Shift(yy_state_630) + T_FAT_ARROW => Shift(yy_state_638) _ => Error } } ///| -fn yy_state_769(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_777(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_and_func => Shift(yy_state_770) - T_AND => Shift(yy_state_772) - NT_list_and_func_ => Shift(yy_state_782) - T_SEMI | T_RBRACE => Reduce(0, NT_list_and_func_, yy_action_422) + NT_and_func => Shift(yy_state_778) + T_AND => Shift(yy_state_780) + NT_list_and_func_ => Shift(yy_state_790) + T_SEMI | T_RBRACE => Reduce(0, NT_list_and_func_, yy_action_432) _ => Error } } ///| -fn yy_state_770(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_778(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_and_func => Shift(yy_state_770) - NT_list_and_func_ => Shift(yy_state_771) - T_AND => Shift(yy_state_772) - T_SEMI | T_RBRACE => Reduce(0, NT_list_and_func_, yy_action_422) + NT_and_func => Shift(yy_state_778) + NT_list_and_func_ => Shift(yy_state_779) + T_AND => Shift(yy_state_780) + T_SEMI | T_RBRACE => Reduce(0, NT_list_and_func_, yy_action_432) _ => Error } } ///| -fn yy_state_771(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_list_and_func_, yy_action_421) +fn yy_state_779(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_list_and_func_, yy_action_431) } ///| -fn yy_state_772(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_780(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_773) + T_LIDENT => Shift(yy_state_781) _ => Error } } ///| -fn yy_state_773(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_781(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_774) - T_EQUAL => Shift(yy_state_780) + T_COLON => Shift(yy_state_782) + T_EQUAL => Shift(yy_state_788) _ => Error } } ///| -fn yy_state_774(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_782(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -41078,107 +42018,107 @@ fn yy_state_774(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_775) + NT_type_ => Shift(yy_state_783) _ => Error } } ///| -fn yy_state_775(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_783(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_776) + T_EQUAL => Shift(yy_state_784) _ => Error } } ///| -fn yy_state_776(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_784(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_FN => Shift(yy_state_47) T_ASYNC => Shift(yy_state_142) - T_UNDERSCORE => Shift(yy_state_765) - T_LIDENT => Shift(yy_state_766) - T_LPAREN => Shift(yy_state_767) - NT_letand_func => Shift(yy_state_777) - NT_anony_fn => Shift(yy_state_778) - NT_arrow_fn_expr => Shift(yy_state_779) + T_UNDERSCORE => Shift(yy_state_773) + T_LIDENT => Shift(yy_state_774) + T_LPAREN => Shift(yy_state_775) + NT_letand_func => Shift(yy_state_785) + NT_anony_fn => Shift(yy_state_786) + NT_arrow_fn_expr => Shift(yy_state_787) _ => Error } } ///| -fn yy_state_777(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_and_func, yy_action_420) +fn yy_state_785(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_and_func, yy_action_430) } ///| -fn yy_state_778(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_letand_func, yy_action_419) +fn yy_state_786(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_letand_func, yy_action_429) } ///| -fn yy_state_779(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_letand_func, yy_action_418) +fn yy_state_787(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_letand_func, yy_action_428) } ///| -fn yy_state_780(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_788(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_FN => Shift(yy_state_47) T_ASYNC => Shift(yy_state_142) - T_UNDERSCORE => Shift(yy_state_765) - T_LIDENT => Shift(yy_state_766) - T_LPAREN => Shift(yy_state_767) - NT_anony_fn => Shift(yy_state_778) - NT_arrow_fn_expr => Shift(yy_state_779) - NT_letand_func => Shift(yy_state_781) + T_UNDERSCORE => Shift(yy_state_773) + T_LIDENT => Shift(yy_state_774) + T_LPAREN => Shift(yy_state_775) + NT_anony_fn => Shift(yy_state_786) + NT_arrow_fn_expr => Shift(yy_state_787) + NT_letand_func => Shift(yy_state_789) _ => Error } } ///| -fn yy_state_781(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_and_func, yy_action_417) +fn yy_state_789(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_and_func, yy_action_427) } ///| -fn yy_state_782(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_statement, yy_action_416) +fn yy_state_790(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_statement, yy_action_426) } ///| -fn yy_state_783(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_791(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_FN => Shift(yy_state_47) T_ASYNC => Shift(yy_state_142) - T_UNDERSCORE => Shift(yy_state_765) - T_LIDENT => Shift(yy_state_766) - T_LPAREN => Shift(yy_state_767) - NT_anony_fn => Shift(yy_state_778) - NT_arrow_fn_expr => Shift(yy_state_779) - NT_letand_func => Shift(yy_state_784) + T_UNDERSCORE => Shift(yy_state_773) + T_LIDENT => Shift(yy_state_774) + T_LPAREN => Shift(yy_state_775) + NT_anony_fn => Shift(yy_state_786) + NT_arrow_fn_expr => Shift(yy_state_787) + NT_letand_func => Shift(yy_state_792) _ => Error } } ///| -fn yy_state_784(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_792(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_and_func => Shift(yy_state_770) - T_AND => Shift(yy_state_772) - NT_list_and_func_ => Shift(yy_state_785) - T_SEMI | T_RBRACE => Reduce(0, NT_list_and_func_, yy_action_422) + NT_and_func => Shift(yy_state_778) + T_AND => Shift(yy_state_780) + NT_list_and_func_ => Shift(yy_state_793) + T_SEMI | T_RBRACE => Reduce(0, NT_list_and_func_, yy_action_432) _ => Error } } ///| -fn yy_state_785(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_statement, yy_action_415) +fn yy_state_793(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_statement, yy_action_425) } ///| -fn yy_state_786(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_794(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) NT_qual_ident_ty => Shift(yy_state_24) @@ -41204,31 +42144,31 @@ fn yy_state_786(_lookahead : YYSymbol) -> YYDecision { T_PACKAGE_NAME => Shift(yy_state_300) NT_range_pattern => Shift(yy_state_303) NT_or_pattern => Shift(yy_state_306) - T_MUTABLE => Shift(yy_state_787) - NT_pattern => Shift(yy_state_795) + T_MUTABLE => Shift(yy_state_795) + NT_pattern => Shift(yy_state_803) _ => Error } } ///| -fn yy_state_787(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_795(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_788) + T_LIDENT => Shift(yy_state_796) _ => Error } } ///| -fn yy_state_788(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_796(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_789) - T_EQUAL => Shift(yy_state_793) + T_COLON => Shift(yy_state_797) + T_EQUAL => Shift(yy_state_801) _ => Error } } ///| -fn yy_state_789(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_797(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -41237,21 +42177,21 @@ fn yy_state_789(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_790) + NT_type_ => Shift(yy_state_798) _ => Error } } ///| -fn yy_state_790(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_798(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_791) + T_EQUAL => Shift(yy_state_799) _ => Error } } ///| -fn yy_state_791(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_799(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -41305,28 +42245,28 @@ fn yy_state_791(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_792) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_800) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_792(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_statement, yy_action_414) +fn yy_state_800(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_statement, yy_action_424) } ///| -fn yy_state_793(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_801(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -41380,38 +42320,38 @@ fn yy_state_793(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_794) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_802) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_794(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_statement, yy_action_413) +fn yy_state_802(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_statement, yy_action_423) } ///| -fn yy_state_795(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_803(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AS => Shift(yy_state_308) - T_COLON => Shift(yy_state_796) - T_EQUAL => Shift(yy_state_800) + T_COLON => Shift(yy_state_804) + T_EQUAL => Shift(yy_state_808) _ => Error } } ///| -fn yy_state_796(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_804(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -41420,21 +42360,21 @@ fn yy_state_796(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_797) + NT_type_ => Shift(yy_state_805) _ => Error } } ///| -fn yy_state_797(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_805(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_798) + T_EQUAL => Shift(yy_state_806) _ => Error } } ///| -fn yy_state_798(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_806(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -41488,28 +42428,28 @@ fn yy_state_798(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_799) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_807) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_799(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_statement, yy_action_412) +fn yy_state_807(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_statement, yy_action_422) } ///| -fn yy_state_800(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_808(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -41563,70 +42503,70 @@ fn yy_state_800(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_801) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_809) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_801(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_statement, yy_action_411) +fn yy_state_809(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_statement, yy_action_421) } ///| -fn yy_state_802(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_semis_rev_statement_, yy_action_410) +fn yy_state_810(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_semis_rev_statement_, yy_action_420) } ///| -fn yy_state_803(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_811(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_804) + T_RBRACE => Shift(yy_state_812) _ => Error } } ///| -fn yy_state_804(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_block_expr, yy_action_409) +fn yy_state_812(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_block_expr, yy_action_419) } ///| -fn yy_state_805(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_map_expr_elem_, yy_action_408) +fn yy_state_813(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_map_expr_elem_, yy_action_418) } ///| -fn yy_state_806(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_814(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_SEMI => Shift(yy_state_128) - NT_option_SEMI_ => Shift(yy_state_807) - T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_800) + NT_option_SEMI_ => Shift(yy_state_815) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| -fn yy_state_807(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_815(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_none_empty_list_semis_rev_with_trailing_info_statement_, - yy_action_407, + yy_action_417, ) } ///| -fn yy_state_808(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_816(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_INFIX1 | T_INFIX2 @@ -41657,40 +42597,40 @@ fn yy_state_808(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_atomic_expr, yy_action_874) - T_COLON => Reduce(1, NT_map_syntax_key, yy_action_654) + | T_LEXMATCH_QUESTION => Reduce(1, NT_atomic_expr, yy_action_886) + T_COLON => Reduce(1, NT_map_syntax_key, yy_action_666) _ => Error } } ///| -fn yy_state_809(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_817(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_810) + T_RBRACE => Shift(yy_state_818) _ => Error } } ///| -fn yy_state_810(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_expr, yy_action_406) +fn yy_state_818(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_simple_expr, yy_action_416) } ///| -fn yy_state_811(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_819(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_812) + T_RBRACE => Shift(yy_state_820) _ => Error } } ///| -fn yy_state_812(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_expr, yy_action_404) +fn yy_state_820(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_simple_expr, yy_action_414) } ///| -fn yy_state_813(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_821(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -41744,76 +42684,76 @@ fn yy_state_813(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_814) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_822) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_814(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_822(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_815) - T_RBRACE => Shift(yy_state_818) + T_COMMA => Shift(yy_state_823) + T_RBRACE => Shift(yy_state_826) _ => Error } } ///| -fn yy_state_815(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_823(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_record_defn_single => Shift(yy_state_134) T_LIDENT => Shift(yy_state_139) - NT_non_empty_list_commas_rev_record_defn_single_ => Shift(yy_state_731) - NT_non_empty_list_commas_record_defn_single_ => Shift(yy_state_733) - NT_list_commas_record_defn_single_ => Shift(yy_state_816) - T_RBRACE => Reduce(0, NT_list_commas_record_defn_single_, yy_action_437) + NT_non_empty_list_commas_rev_record_defn_single_ => Shift(yy_state_739) + NT_non_empty_list_commas_record_defn_single_ => Shift(yy_state_741) + NT_list_commas_record_defn_single_ => Shift(yy_state_824) + T_RBRACE => Reduce(0, NT_list_commas_record_defn_single_, yy_action_447) _ => Error } } ///| -fn yy_state_816(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_824(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_817) + T_RBRACE => Shift(yy_state_825) _ => Error } } ///| -fn yy_state_817(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_simple_expr, yy_action_403) +fn yy_state_825(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_simple_expr, yy_action_413) } ///| -fn yy_state_818(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_simple_expr, yy_action_401) +fn yy_state_826(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_simple_expr, yy_action_411) } ///| -fn yy_state_819(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_827(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_820) + T_RBRACE => Shift(yy_state_828) _ => Error } } ///| -fn yy_state_820(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_expr, yy_action_400) +fn yy_state_828(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_simple_expr, yy_action_410) } ///| -fn yy_state_821(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_829(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -41849,15 +42789,15 @@ fn yy_state_821(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_188) T_PACKAGE_NAME => Shift(yy_state_189) T_LIDENT => Shift(yy_state_192) - T_FLOAT => Shift(yy_state_822) - T_DOUBLE => Shift(yy_state_823) - T_INT => Shift(yy_state_824) + T_FLOAT => Shift(yy_state_830) + T_DOUBLE => Shift(yy_state_831) + T_INT => Shift(yy_state_832) _ => Error } } ///| -fn yy_state_822(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_830(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_INFIX1 | T_INFIX2 @@ -41888,14 +42828,14 @@ fn yy_state_822(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_constant, yy_action_884) - T_COLON => Reduce(2, NT_map_syntax_key, yy_action_657) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_constant, yy_action_896) + T_COLON => Reduce(2, NT_map_syntax_key, yy_action_669) _ => Error } } ///| -fn yy_state_823(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_831(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_INFIX1 | T_INFIX2 @@ -41926,14 +42866,14 @@ fn yy_state_823(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_constant, yy_action_883) - T_COLON => Reduce(2, NT_map_syntax_key, yy_action_656) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_constant, yy_action_895) + T_COLON => Reduce(2, NT_map_syntax_key, yy_action_668) _ => Error } } ///| -fn yy_state_824(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_832(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_INFIX1 | T_INFIX2 @@ -41964,20 +42904,20 @@ fn yy_state_824(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_constant, yy_action_882) - T_COLON => Reduce(2, NT_map_syntax_key, yy_action_655) + | T_LEXMATCH_QUESTION => Reduce(1, NT_simple_constant, yy_action_894) + T_COLON => Reduce(2, NT_map_syntax_key, yy_action_667) _ => Error } } ///| -fn yy_state_825(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_833(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_QUESTION => Shift(yy_state_193) - T_FAT_ARROW => Shift(yy_state_531) - T_COLON => Shift(yy_state_826) - T_COMMA => Shift(yy_state_831) - T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(1, NT_qual_ident, yy_action_536) + T_FAT_ARROW => Shift(yy_state_533) + T_COLON => Shift(yy_state_834) + T_COMMA => Shift(yy_state_839) + T_AUGMENTED_ASSIGNMENT | T_EQUAL => Reduce(1, NT_qual_ident, yy_action_549) T_INFIX1 | T_INFIX2 | T_INFIX3 @@ -42006,13 +42946,13 @@ fn yy_state_825(_lookahead : YYSymbol) -> YYDecision { | T_RANGE_INCLUSIVE_REV | T_RANGE_EXCLUSIVE_REV | T_IS - | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_757) + | T_LEXMATCH_QUESTION => Reduce(1, NT_qual_ident_simple_expr, yy_action_769) _ => Error } } ///| -fn yy_state_826(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_834(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -42066,228 +43006,228 @@ fn yy_state_826(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_827) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_835) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_827(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_835(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_828) - NT_option_COMMA_ => Shift(yy_state_830) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + T_COMMA => Shift(yy_state_836) + NT_option_COMMA_ => Shift(yy_state_838) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_828(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_836(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_record_defn_single => Shift(yy_state_134) NT_non_empty_list_commas_rev_record_defn_single_ => Shift(yy_state_135) T_LIDENT => Shift(yy_state_139) NT_non_empty_list_commas_with_trailing_info_record_defn_single_ => - Shift(yy_state_829) - T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_863) + Shift(yy_state_837) + T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_829(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_record_defn, yy_action_399) +fn yy_state_837(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_record_defn, yy_action_409) } ///| -fn yy_state_830(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_record_defn, yy_action_397) +fn yy_state_838(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_record_defn, yy_action_407) } ///| -fn yy_state_831(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_839(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_record_defn_single => Shift(yy_state_134) NT_non_empty_list_commas_rev_record_defn_single_ => Shift(yy_state_135) T_LIDENT => Shift(yy_state_139) NT_non_empty_list_commas_with_trailing_info_record_defn_single_ => - Shift(yy_state_727) - NT_list_commas_with_trailing_info_record_defn_single_ => Shift(yy_state_832) + Shift(yy_state_735) + NT_list_commas_with_trailing_info_record_defn_single_ => Shift(yy_state_840) T_RBRACE => Reduce( 0, NT_list_commas_with_trailing_info_record_defn_single_, - yy_action_795, + yy_action_807, ) _ => Error } } ///| -fn yy_state_832(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_record_defn, yy_action_395) +fn yy_state_840(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_record_defn, yy_action_405) } ///| -fn yy_state_833(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_spreadable_elem, yy_action_394) +fn yy_state_841(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_spreadable_elem, yy_action_404) } ///| -fn yy_state_834(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_spreadable_elem_, yy_action_393) +fn yy_state_842(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_spreadable_elem_, yy_action_403) } ///| -fn yy_state_835(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_843(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_836) + T_RBRACKET => Shift(yy_state_844) _ => Error } } ///| -fn yy_state_836(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_simple_expr, yy_action_392) +fn yy_state_844(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_simple_expr, yy_action_402) } ///| -fn yy_state_837(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_845(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EOF => Shift(yy_state_838) + T_EOF => Shift(yy_state_846) _ => Error } } ///| -fn yy_state_838(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_expression, yy_action_391) +fn yy_state_846(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_expression, yy_action_401) } ///| -fn yy_state_839(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_847(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_structure => Shift(yy_state_840) - NT_structure_item => Shift(yy_state_841) - T_ATTRIBUTE => Shift(yy_state_845) - T_ENUM => Shift(yy_state_847) - T_STRUCT => Shift(yy_state_861) - T_SUBERROR => Shift(yy_state_864) - T_TYPE => Shift(yy_state_866) - T_USING => Shift(yy_state_869) - T_ENUMVIEW => Shift(yy_state_894) - T_IMPL => Shift(yy_state_951) - T_TEST => Shift(yy_state_1053) - T_TRAITALIAS => Shift(yy_state_1059) - T_TYPEALIAS => Shift(yy_state_1078) - T_TRAIT => Shift(yy_state_1087) - T_FNALIAS => Shift(yy_state_1154) - NT_declare_fun_header => Shift(yy_state_1191) - NT_fun_header => Shift(yy_state_1192) - NT_extern_fun_header => Shift(yy_state_1200) - NT_val_header => Shift(yy_state_1205) - NT_enum_header => Shift(yy_state_1208) - NT_struct_header => Shift(yy_state_1213) - NT_suberror_header => Shift(yy_state_1222) - NT_type_header => Shift(yy_state_1230) - T_CONST => Shift(yy_state_1237) - T_LET => Shift(yy_state_1241) - T_EXTERN => Shift(yy_state_1245) - T_FN => Shift(yy_state_1261) - T_DECLARE => Shift(yy_state_1268) - NT_non_empty_list_attribute_ => Shift(yy_state_1365) - T_PUB => Shift(yy_state_1738) - T_PRIV => Shift(yy_state_1828) - NT_fun_header_generic => Shift(yy_state_1917) - T_ASYNC => Shift(yy_state_1920) - NT_non_empty_list_semis_structure_item_ => Shift(yy_state_1928) - NT_list_semis_structure_item_ => Shift(yy_state_1929) - T_EOF => Reduce(0, NT_list_semis_structure_item_, yy_action_390) + NT_structure => Shift(yy_state_848) + NT_structure_item => Shift(yy_state_849) + T_ATTRIBUTE => Shift(yy_state_853) + T_ENUM => Shift(yy_state_855) + T_STRUCT => Shift(yy_state_869) + T_SUBERROR => Shift(yy_state_872) + T_TYPE => Shift(yy_state_874) + T_USING => Shift(yy_state_877) + T_ENUMVIEW => Shift(yy_state_902) + T_IMPL => Shift(yy_state_959) + T_TEST => Shift(yy_state_1061) + T_TRAITALIAS => Shift(yy_state_1067) + T_TYPEALIAS => Shift(yy_state_1086) + T_TRAIT => Shift(yy_state_1095) + T_FNALIAS => Shift(yy_state_1162) + NT_declare_fun_header => Shift(yy_state_1199) + NT_fun_header => Shift(yy_state_1200) + NT_extern_fun_header => Shift(yy_state_1208) + NT_val_header => Shift(yy_state_1213) + NT_enum_header => Shift(yy_state_1216) + NT_struct_header => Shift(yy_state_1221) + NT_suberror_header => Shift(yy_state_1270) + NT_type_header => Shift(yy_state_1278) + T_CONST => Shift(yy_state_1285) + T_LET => Shift(yy_state_1289) + T_EXTERN => Shift(yy_state_1293) + T_FN => Shift(yy_state_1309) + T_DECLARE => Shift(yy_state_1316) + NT_non_empty_list_attribute_ => Shift(yy_state_1413) + T_PUB => Shift(yy_state_1786) + T_PRIV => Shift(yy_state_1876) + NT_fun_header_generic => Shift(yy_state_1965) + T_ASYNC => Shift(yy_state_1968) + NT_non_empty_list_semis_structure_item_ => Shift(yy_state_1976) + NT_list_semis_structure_item_ => Shift(yy_state_1977) + T_EOF => Reduce(0, NT_list_semis_structure_item_, yy_action_400) _ => Error } } ///| -fn yy_state_840(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_848(_lookahead : YYSymbol) -> YYDecision { Accept } ///| -fn yy_state_841(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_849(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_SEMI_ => Shift(yy_state_842) - T_SEMI => Shift(yy_state_843) - T_EOF => Reduce(0, NT_option_SEMI_, yy_action_800) + NT_option_SEMI_ => Shift(yy_state_850) + T_SEMI => Shift(yy_state_851) + T_EOF => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| -fn yy_state_842(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_semis_structure_item_, yy_action_389) +fn yy_state_850(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_semis_structure_item_, yy_action_399) } ///| -fn yy_state_843(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_851(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_structure_item => Shift(yy_state_841) - NT_non_empty_list_semis_structure_item_ => Shift(yy_state_844) - T_ATTRIBUTE => Shift(yy_state_845) - T_ENUM => Shift(yy_state_847) - T_STRUCT => Shift(yy_state_861) - T_SUBERROR => Shift(yy_state_864) - T_TYPE => Shift(yy_state_866) - T_USING => Shift(yy_state_869) - T_ENUMVIEW => Shift(yy_state_894) - T_IMPL => Shift(yy_state_951) - T_TEST => Shift(yy_state_1053) - T_TRAITALIAS => Shift(yy_state_1059) - T_TYPEALIAS => Shift(yy_state_1078) - T_TRAIT => Shift(yy_state_1087) - T_FNALIAS => Shift(yy_state_1154) - NT_declare_fun_header => Shift(yy_state_1191) - NT_fun_header => Shift(yy_state_1192) - NT_extern_fun_header => Shift(yy_state_1200) - NT_val_header => Shift(yy_state_1205) - NT_enum_header => Shift(yy_state_1208) - NT_struct_header => Shift(yy_state_1213) - NT_suberror_header => Shift(yy_state_1222) - NT_type_header => Shift(yy_state_1230) - T_CONST => Shift(yy_state_1237) - T_LET => Shift(yy_state_1241) - T_EXTERN => Shift(yy_state_1245) - T_FN => Shift(yy_state_1261) - T_DECLARE => Shift(yy_state_1268) - NT_non_empty_list_attribute_ => Shift(yy_state_1365) - T_PUB => Shift(yy_state_1738) - T_PRIV => Shift(yy_state_1828) - NT_fun_header_generic => Shift(yy_state_1917) - T_ASYNC => Shift(yy_state_1920) - T_EOF => Reduce(1, NT_option_SEMI_, yy_action_798) + NT_structure_item => Shift(yy_state_849) + NT_non_empty_list_semis_structure_item_ => Shift(yy_state_852) + T_ATTRIBUTE => Shift(yy_state_853) + T_ENUM => Shift(yy_state_855) + T_STRUCT => Shift(yy_state_869) + T_SUBERROR => Shift(yy_state_872) + T_TYPE => Shift(yy_state_874) + T_USING => Shift(yy_state_877) + T_ENUMVIEW => Shift(yy_state_902) + T_IMPL => Shift(yy_state_959) + T_TEST => Shift(yy_state_1061) + T_TRAITALIAS => Shift(yy_state_1067) + T_TYPEALIAS => Shift(yy_state_1086) + T_TRAIT => Shift(yy_state_1095) + T_FNALIAS => Shift(yy_state_1162) + NT_declare_fun_header => Shift(yy_state_1199) + NT_fun_header => Shift(yy_state_1200) + NT_extern_fun_header => Shift(yy_state_1208) + NT_val_header => Shift(yy_state_1213) + NT_enum_header => Shift(yy_state_1216) + NT_struct_header => Shift(yy_state_1221) + NT_suberror_header => Shift(yy_state_1270) + NT_type_header => Shift(yy_state_1278) + T_CONST => Shift(yy_state_1285) + T_LET => Shift(yy_state_1289) + T_EXTERN => Shift(yy_state_1293) + T_FN => Shift(yy_state_1309) + T_DECLARE => Shift(yy_state_1316) + NT_non_empty_list_attribute_ => Shift(yy_state_1413) + T_PUB => Shift(yy_state_1786) + T_PRIV => Shift(yy_state_1876) + NT_fun_header_generic => Shift(yy_state_1965) + T_ASYNC => Shift(yy_state_1968) + T_EOF => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } ///| -fn yy_state_844(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_semis_structure_item_, yy_action_388) +fn yy_state_852(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_non_empty_list_semis_structure_item_, yy_action_398) } ///| -fn yy_state_845(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_853(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_non_empty_list_attribute_ => Shift(yy_state_846) + T_ATTRIBUTE => Shift(yy_state_853) + NT_non_empty_list_attribute_ => Shift(yy_state_854) T_LIDENT | T_UIDENT | T_PUB @@ -42310,200 +43250,200 @@ fn yy_state_845(_lookahead : YYSymbol) -> YYDecision { | T_TEST | T_SUBERROR | T_ENUMVIEW - | T_DECLARE => Reduce(1, NT_non_empty_list_attribute_, yy_action_387) + | T_DECLARE => Reduce(1, NT_non_empty_list_attribute_, yy_action_397) _ => Error } } ///| -fn yy_state_846(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_attribute_, yy_action_385) +fn yy_state_854(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_attribute_, yy_action_395) } ///| -fn yy_state_847(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_855(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_848) + T_UIDENT => Shift(yy_state_856) _ => Error } } ///| -fn yy_state_848(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_856(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) - NT_optional_type_parameters_no_constraints => Shift(yy_state_859) + T_LBRACKET => Shift(yy_state_857) + NT_optional_type_parameters_no_constraints => Shift(yy_state_867) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) + Shift(yy_state_868) T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_849(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_857(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_decl_binder => Shift(yy_state_850) - NT_non_empty_list_commas_id_type_decl_binder__ => Shift(yy_state_851) - NT_non_empty_list_commas_rev_id_type_decl_binder__ => Shift(yy_state_853) - T_UNDERSCORE => Shift(yy_state_856) - T_UIDENT => Shift(yy_state_857) + NT_type_decl_binder => Shift(yy_state_858) + NT_non_empty_list_commas_id_type_decl_binder__ => Shift(yy_state_859) + NT_non_empty_list_commas_rev_id_type_decl_binder__ => Shift(yy_state_861) + T_UNDERSCORE => Shift(yy_state_864) + T_UIDENT => Shift(yy_state_865) _ => Error } } ///| -fn yy_state_850(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_858(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_id_type_decl_binder__, - yy_action_383, + yy_action_393, ) } ///| -fn yy_state_851(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_859(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_852) + T_RBRACKET => Shift(yy_state_860) _ => Error } } ///| -fn yy_state_852(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_860(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_381, + yy_action_391, ) } ///| -fn yy_state_853(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_861(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_854) - NT_option_COMMA_ => Shift(yy_state_858) - T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_865) + T_COMMA => Shift(yy_state_862) + NT_option_COMMA_ => Shift(yy_state_866) + T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_854(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_862(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_decl_binder => Shift(yy_state_855) - T_UNDERSCORE => Shift(yy_state_856) - T_UIDENT => Shift(yy_state_857) - T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_type_decl_binder => Shift(yy_state_863) + T_UNDERSCORE => Shift(yy_state_864) + T_UIDENT => Shift(yy_state_865) + T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_855(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_863(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_id_type_decl_binder__, - yy_action_379, + yy_action_389, ) } ///| -fn yy_state_856(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_type_decl_binder, yy_action_378) +fn yy_state_864(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_type_decl_binder, yy_action_388) } ///| -fn yy_state_857(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_type_decl_binder, yy_action_377) +fn yy_state_865(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_type_decl_binder, yy_action_387) } ///| -fn yy_state_858(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_866(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_id_type_decl_binder__, - yy_action_376, + yy_action_386, ) } ///| -fn yy_state_859(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_enum_header, yy_action_375) +fn yy_state_867(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_enum_header, yy_action_385) } ///| -fn yy_state_860(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_868(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_optional_type_parameters_no_constraints, - yy_action_374, + yy_action_384, ) } ///| -fn yy_state_861(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_869(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_862) + T_UIDENT => Shift(yy_state_870) _ => Error } } ///| -fn yy_state_862(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_870(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_863) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_871) T_LPAREN | T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_863(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_struct_header, yy_action_373) +fn yy_state_871(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_struct_header, yy_action_383) } ///| -fn yy_state_864(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_872(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_865) + T_UIDENT => Shift(yy_state_873) _ => Error } } ///| -fn yy_state_865(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_suberror_header, yy_action_372) +fn yy_state_873(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_suberror_header, yy_action_382) } ///| -fn yy_state_866(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_874(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_867) + T_UIDENT => Shift(yy_state_875) _ => Error } } ///| -fn yy_state_867(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_875(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_868) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_876) T_UIDENT | T_EOF | T_DERIVE @@ -42517,419 +43457,419 @@ fn yy_state_867(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_868(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_header, yy_action_371) +fn yy_state_876(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_type_header, yy_action_381) } ///| -fn yy_state_869(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_877(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_870) + T_PACKAGE_NAME => Shift(yy_state_878) _ => Error } } ///| -fn yy_state_870(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_878(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_871) + T_LBRACE => Shift(yy_state_879) _ => Error } } ///| -fn yy_state_871(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_879(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_using_binder => Shift(yy_state_872) - NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_873) - T_TRAIT => Shift(yy_state_877) - T_TYPE => Shift(yy_state_881) - T_UIDENT => Shift(yy_state_885) - T_LIDENT => Shift(yy_state_888) - NT_non_empty_list_commas_using_binder_ => Shift(yy_state_891) - NT_list_commas_using_binder_ => Shift(yy_state_892) - T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_370) + NT_using_binder => Shift(yy_state_880) + NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_881) + T_TRAIT => Shift(yy_state_885) + T_TYPE => Shift(yy_state_889) + T_UIDENT => Shift(yy_state_893) + T_LIDENT => Shift(yy_state_896) + NT_non_empty_list_commas_using_binder_ => Shift(yy_state_899) + NT_list_commas_using_binder_ => Shift(yy_state_900) + T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_380) _ => Error } } ///| -fn yy_state_872(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_880(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_using_binder_, - yy_action_369, + yy_action_379, ) } ///| -fn yy_state_873(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_881(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_COMMA_ => Shift(yy_state_874) - T_COMMA => Shift(yy_state_875) - T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_865) + NT_option_COMMA_ => Shift(yy_state_882) + T_COMMA => Shift(yy_state_883) + T_RBRACE => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_874(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_using_binder_, yy_action_368) +fn yy_state_882(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_commas_using_binder_, yy_action_378) } ///| -fn yy_state_875(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_883(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_using_binder => Shift(yy_state_876) - T_TRAIT => Shift(yy_state_877) - T_TYPE => Shift(yy_state_881) - T_UIDENT => Shift(yy_state_885) - T_LIDENT => Shift(yy_state_888) - T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_using_binder => Shift(yy_state_884) + T_TRAIT => Shift(yy_state_885) + T_TYPE => Shift(yy_state_889) + T_UIDENT => Shift(yy_state_893) + T_LIDENT => Shift(yy_state_896) + T_RBRACE => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_876(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_884(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_using_binder_, - yy_action_367, + yy_action_377, ) } ///| -fn yy_state_877(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_885(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_878) + T_UIDENT => Shift(yy_state_886) _ => Error } } ///| -fn yy_state_878(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_886(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_879) - T_COMMA | T_RBRACE => Reduce(2, NT_using_binder, yy_action_366) + T_AS => Shift(yy_state_887) + T_COMMA | T_RBRACE => Reduce(2, NT_using_binder, yy_action_376) _ => Error } } ///| -fn yy_state_879(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_887(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_880) + T_UIDENT => Shift(yy_state_888) _ => Error } } ///| -fn yy_state_880(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_using_binder, yy_action_365) +fn yy_state_888(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_using_binder, yy_action_375) } ///| -fn yy_state_881(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_889(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_882) + T_UIDENT => Shift(yy_state_890) _ => Error } } ///| -fn yy_state_882(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_890(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_883) - T_COMMA | T_RBRACE => Reduce(2, NT_using_binder, yy_action_364) + T_AS => Shift(yy_state_891) + T_COMMA | T_RBRACE => Reduce(2, NT_using_binder, yy_action_374) _ => Error } } ///| -fn yy_state_883(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_891(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_884) + T_UIDENT => Shift(yy_state_892) _ => Error } } ///| -fn yy_state_884(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_using_binder, yy_action_363) +fn yy_state_892(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_using_binder, yy_action_373) } ///| -fn yy_state_885(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_893(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_886) - T_COMMA | T_RBRACE => Reduce(1, NT_using_binder, yy_action_362) + T_AS => Shift(yy_state_894) + T_COMMA | T_RBRACE => Reduce(1, NT_using_binder, yy_action_372) _ => Error } } ///| -fn yy_state_886(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_894(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_887) + T_UIDENT => Shift(yy_state_895) _ => Error } } ///| -fn yy_state_887(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_using_binder, yy_action_361) +fn yy_state_895(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_using_binder, yy_action_371) } ///| -fn yy_state_888(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_896(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_889) - T_COMMA | T_RBRACE => Reduce(1, NT_using_binder, yy_action_360) + T_AS => Shift(yy_state_897) + T_COMMA | T_RBRACE => Reduce(1, NT_using_binder, yy_action_370) _ => Error } } ///| -fn yy_state_889(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_897(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_890) + T_LIDENT => Shift(yy_state_898) _ => Error } } ///| -fn yy_state_890(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_using_binder, yy_action_359) +fn yy_state_898(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_using_binder, yy_action_369) } ///| -fn yy_state_891(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_using_binder_, yy_action_358) +fn yy_state_899(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_using_binder_, yy_action_368) } ///| -fn yy_state_892(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_900(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_893) + T_RBRACE => Shift(yy_state_901) _ => Error } } ///| -fn yy_state_893(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_structure_item, yy_action_357) +fn yy_state_901(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_structure_item, yy_action_367) } ///| -fn yy_state_894(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_902(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_optional_type_parameters => Shift(yy_state_896) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_type_parameters => Shift(yy_state_903) + NT_optional_type_parameters => Shift(yy_state_904) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_895(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_type_parameters_, yy_action_355) +fn yy_state_903(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_option_type_parameters_, yy_action_365) } ///| -fn yy_state_896(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_904(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_897) + T_UIDENT => Shift(yy_state_905) _ => Error } } ///| -fn yy_state_897(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_905(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_898) + T_LBRACE => Shift(yy_state_906) _ => Error } } ///| -fn yy_state_898(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_906(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_927) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_935) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_899(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_907(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_SEMI_ => Shift(yy_state_900) - T_SEMI => Shift(yy_state_901) - T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_800) + NT_option_SEMI_ => Shift(yy_state_908) + T_SEMI => Shift(yy_state_909) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| -fn yy_state_900(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_semis_enum_constructor_, yy_action_353) +fn yy_state_908(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_semis_enum_constructor_, yy_action_363) } ///| -fn yy_state_901(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_909(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_902) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_798) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_910) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } ///| -fn yy_state_902(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_non_empty_list_semis_enum_constructor_, yy_action_352) +fn yy_state_910(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_non_empty_list_semis_enum_constructor_, yy_action_362) } ///| -fn yy_state_903(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_911(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_904) + T_UIDENT => Shift(yy_state_912) _ => Error } } ///| -fn yy_state_904(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_912(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_905) + T_LPAREN => Shift(yy_state_913) NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__ => - Shift(yy_state_919) + Shift(yy_state_927) T_EQUAL | T_SEMI | T_RBRACE => Reduce( 0, NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__, - yy_action_351, + yy_action_361, ) _ => Error } } ///| -fn yy_state_905(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_913(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_constructor_param => Shift(yy_state_906) - NT_non_empty_list_commas_constructor_param_ => Shift(yy_state_907) - NT_non_empty_list_commas_rev_constructor_param_ => Shift(yy_state_909) - T_MUTABLE => Shift(yy_state_913) - NT_option_MUTABLE_ => Shift(yy_state_914) + NT_constructor_param => Shift(yy_state_914) + NT_non_empty_list_commas_constructor_param_ => Shift(yy_state_915) + NT_non_empty_list_commas_rev_constructor_param_ => Shift(yy_state_917) + T_MUTABLE => Shift(yy_state_921) + NT_option_MUTABLE_ => Shift(yy_state_922) T_UIDENT | T_POST_LABEL | T_ASYNC | T_LPAREN | T_UNDERSCORE | T_AMPER - | T_PACKAGE_NAME => Reduce(0, NT_option_MUTABLE_, yy_action_350) + | T_PACKAGE_NAME => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_906(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_914(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_constructor_param_, - yy_action_349, + yy_action_359, ) } ///| -fn yy_state_907(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_915(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_908) + T_RPAREN => Shift(yy_state_916) _ => Error } } ///| -fn yy_state_908(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_916(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__, - yy_action_347, + yy_action_357, ) } ///| -fn yy_state_909(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_917(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_COMMA_ => Shift(yy_state_910) - T_COMMA => Shift(yy_state_911) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + NT_option_COMMA_ => Shift(yy_state_918) + T_COMMA => Shift(yy_state_919) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_910(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_918(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_constructor_param_, - yy_action_346, + yy_action_356, ) } ///| -fn yy_state_911(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_919(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_constructor_param => Shift(yy_state_912) - T_MUTABLE => Shift(yy_state_913) - NT_option_MUTABLE_ => Shift(yy_state_914) + NT_constructor_param => Shift(yy_state_920) + T_MUTABLE => Shift(yy_state_921) + NT_option_MUTABLE_ => Shift(yy_state_922) T_UIDENT | T_POST_LABEL | T_ASYNC | T_LPAREN | T_UNDERSCORE | T_AMPER - | T_PACKAGE_NAME => Reduce(0, NT_option_MUTABLE_, yy_action_350) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + | T_PACKAGE_NAME => Reduce(0, NT_option_MUTABLE_, yy_action_360) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_912(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_920(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_constructor_param_, - yy_action_345, + yy_action_355, ) } ///| -fn yy_state_913(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_MUTABLE_, yy_action_344) +fn yy_state_921(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_option_MUTABLE_, yy_action_354) } ///| -fn yy_state_914(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_922(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -42938,22 +43878,22 @@ fn yy_state_914(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - T_POST_LABEL => Shift(yy_state_915) - NT_type_ => Shift(yy_state_918) + T_POST_LABEL => Shift(yy_state_923) + NT_type_ => Shift(yy_state_926) _ => Error } } ///| -fn yy_state_915(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_923(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_916) + T_COLON => Shift(yy_state_924) _ => Error } } ///| -fn yy_state_916(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_924(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -42962,89 +43902,27 @@ fn yy_state_916(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_917) - _ => Error - } -} - -///| -fn yy_state_917(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_constructor_param, yy_action_343) -} - -///| -fn yy_state_918(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_constructor_param, yy_action_342) -} - -///| -fn yy_state_919(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_EQUAL => Shift(yy_state_920) - NT_option_eq_int_tag_ => Shift(yy_state_922) - T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_int_tag_, yy_action_341) - _ => Error - } -} - -///| -fn yy_state_920(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_INT => Shift(yy_state_921) - _ => Error - } -} - -///| -fn yy_state_921(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_option_eq_int_tag_, yy_action_339) -} - -///| -fn yy_state_922(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_enum_constructor, yy_action_338) -} - -///| -fn yy_state_923(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LPAREN => Shift(yy_state_905) - NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__ => - Shift(yy_state_924) - T_EQUAL | T_SEMI | T_RBRACE => - Reduce( - 0, - NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__, - yy_action_351, - ) - _ => Error - } -} - -///| -fn yy_state_924(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_EQUAL => Shift(yy_state_920) - NT_option_eq_int_tag_ => Shift(yy_state_925) - T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_int_tag_, yy_action_341) + NT_type_ => Shift(yy_state_925) _ => Error } } ///| fn yy_state_925(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_enum_constructor, yy_action_337) + ReduceNoLookahead(4, NT_constructor_param, yy_action_353) } ///| fn yy_state_926(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_semis_enum_constructor_, yy_action_336) + ReduceNoLookahead(2, NT_constructor_param, yy_action_352) } ///| fn yy_state_927(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_928) + T_EQUAL => Shift(yy_state_928) + NT_option_eq_int_tag_ => Shift(yy_state_930) + T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_int_tag_, yy_action_351) _ => Error } } @@ -43052,13 +43930,75 @@ fn yy_state_927(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_928(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_929) + T_INT => Shift(yy_state_929) _ => Error } } ///| fn yy_state_929(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_option_eq_int_tag_, yy_action_349) +} + +///| +fn yy_state_930(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_enum_constructor, yy_action_348) +} + +///| +fn yy_state_931(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_913) + NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__ => + Shift(yy_state_932) + T_EQUAL | T_SEMI | T_RBRACE => + Reduce( + 0, + NT_option_delimited_LPAREN_non_empty_list_commas_constructor_param__RPAREN__, + yy_action_361, + ) + _ => Error + } +} + +///| +fn yy_state_932(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_EQUAL => Shift(yy_state_928) + NT_option_eq_int_tag_ => Shift(yy_state_933) + T_SEMI | T_RBRACE => Reduce(0, NT_option_eq_int_tag_, yy_action_351) + _ => Error + } +} + +///| +fn yy_state_933(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_enum_constructor, yy_action_347) +} + +///| +fn yy_state_934(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_semis_enum_constructor_, yy_action_346) +} + +///| +fn yy_state_935(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_936) + _ => Error + } +} + +///| +fn yy_state_936(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FOR => Shift(yy_state_937) + _ => Error + } +} + +///| +fn yy_state_937(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -43067,294 +44007,294 @@ fn yy_state_929(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_930) + NT_type_ => Shift(yy_state_938) _ => Error } } ///| -fn yy_state_930(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_938(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_931) + T_WITH => Shift(yy_state_939) _ => Error } } ///| -fn yy_state_931(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_939(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_932) + T_LIDENT => Shift(yy_state_940) _ => Error } } ///| -fn yy_state_932(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_940(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_933) + NT_parameters => Shift(yy_state_941) _ => Error } } ///| -fn yy_state_933(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_941(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_934) + NT_block_expr => Shift(yy_state_942) _ => Error } } ///| -fn yy_state_934(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(12, NT_structure_item, yy_action_335) +fn yy_state_942(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(12, NT_structure_item, yy_action_345) } ///| -fn yy_state_935(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_optional_type_parameters, yy_action_334) +fn yy_state_943(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_optional_type_parameters, yy_action_344) } ///| -fn yy_state_936(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_944(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_tvar_binder => Shift(yy_state_937) - NT_non_empty_list_commas_rev_id_tvar_binder__ => Shift(yy_state_938) - T_UIDENT => Shift(yy_state_941) - NT_non_empty_list_commas_id_tvar_binder__ => Shift(yy_state_949) + NT_tvar_binder => Shift(yy_state_945) + NT_non_empty_list_commas_rev_id_tvar_binder__ => Shift(yy_state_946) + T_UIDENT => Shift(yy_state_949) + NT_non_empty_list_commas_id_tvar_binder__ => Shift(yy_state_957) _ => Error } } ///| -fn yy_state_937(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_945(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_id_tvar_binder__, - yy_action_333, + yy_action_343, ) } ///| -fn yy_state_938(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_946(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_939) - NT_option_COMMA_ => Shift(yy_state_948) - T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_865) + T_COMMA => Shift(yy_state_947) + NT_option_COMMA_ => Shift(yy_state_956) + T_RBRACKET => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_939(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_947(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_tvar_binder => Shift(yy_state_940) - T_UIDENT => Shift(yy_state_941) - T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_tvar_binder => Shift(yy_state_948) + T_UIDENT => Shift(yy_state_949) + T_RBRACKET => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_940(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_948(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_id_tvar_binder__, - yy_action_331, + yy_action_341, ) } ///| -fn yy_state_941(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_949(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_942) - T_COMMA | T_RBRACKET => Reduce(1, NT_tvar_binder, yy_action_330) + T_COLON => Shift(yy_state_950) + T_COMMA | T_RBRACKET => Reduce(1, NT_tvar_binder, yy_action_340) _ => Error } } ///| -fn yy_state_942(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_950(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) - NT_tvar_constraint => Shift(yy_state_943) - NT_qual_ident_ty => Shift(yy_state_946) - NT_separated_nonempty_list_PLUS_tvar_constraint_ => Shift(yy_state_947) + NT_tvar_constraint => Shift(yy_state_951) + NT_qual_ident_ty => Shift(yy_state_954) + NT_separated_nonempty_list_PLUS_tvar_constraint_ => Shift(yy_state_955) _ => Error } } ///| -fn yy_state_943(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_951(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PLUS => Shift(yy_state_944) + T_PLUS => Shift(yy_state_952) T_COMMA | T_RBRACKET | T_LBRACE => - Reduce(1, NT_separated_nonempty_list_PLUS_tvar_constraint_, yy_action_329) + Reduce(1, NT_separated_nonempty_list_PLUS_tvar_constraint_, yy_action_339) _ => Error } } ///| -fn yy_state_944(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_952(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) - NT_tvar_constraint => Shift(yy_state_943) - NT_separated_nonempty_list_PLUS_tvar_constraint_ => Shift(yy_state_945) - NT_qual_ident_ty => Shift(yy_state_946) + NT_tvar_constraint => Shift(yy_state_951) + NT_separated_nonempty_list_PLUS_tvar_constraint_ => Shift(yy_state_953) + NT_qual_ident_ty => Shift(yy_state_954) _ => Error } } ///| -fn yy_state_945(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_953(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_separated_nonempty_list_PLUS_tvar_constraint_, - yy_action_328, + yy_action_338, ) } ///| -fn yy_state_946(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_tvar_constraint, yy_action_327) +fn yy_state_954(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_tvar_constraint, yy_action_337) } ///| -fn yy_state_947(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_tvar_binder, yy_action_326) +fn yy_state_955(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_tvar_binder, yy_action_336) } ///| -fn yy_state_948(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_commas_id_tvar_binder__, yy_action_325) +fn yy_state_956(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_commas_id_tvar_binder__, yy_action_335) } ///| -fn yy_state_949(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_957(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACKET => Shift(yy_state_950) + T_RBRACKET => Shift(yy_state_958) _ => Error } } ///| -fn yy_state_950(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_type_parameters, yy_action_323) +fn yy_state_958(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_type_parameters, yy_action_333) } ///| -fn yy_state_951(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_959(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_952) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_960) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_952(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_960(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_953) + NT_type_name => Shift(yy_state_961) _ => Error } } ///| -fn yy_state_953(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_961(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_954) - T_FOR => Shift(yy_state_1045) + T_WITH => Shift(yy_state_962) + T_FOR => Shift(yy_state_1053) _ => Error } } ///| -fn yy_state_954(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_962(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_955) + T_LIDENT => Shift(yy_state_963) _ => Error } } ///| -fn yy_state_955(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_963(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_956) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_964) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_956(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_964(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_957) + NT_parameters => Shift(yy_state_965) _ => Error } } ///| -fn yy_state_957(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_965(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_958) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_966) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_958(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_966(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_impl_body => Shift(yy_state_959) - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) + NT_impl_body => Shift(yy_state_967) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) _ => Error } } ///| -fn yy_state_959(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(9, NT_structure_item, yy_action_322) +fn yy_state_967(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_structure_item, yy_action_332) } ///| -fn yy_state_960(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_968(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_961) + T_STRING => Shift(yy_state_969) _ => Error } } ///| -fn yy_state_961(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_impl_body, yy_action_321) +fn yy_state_969(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_impl_body, yy_action_331) } ///| -fn yy_state_962(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_impl_body, yy_action_320) +fn yy_state_970(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_impl_body, yy_action_330) } ///| -fn yy_state_963(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_971(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -43408,74 +44348,74 @@ fn yy_state_963(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_599) - T_RETURN => Shift(yy_state_600) - T_CONTINUE => Shift(yy_state_603) - T_BREAK => Shift(yy_state_612) - T_GUARD => Shift(yy_state_739) - NT_expr_statement => Shift(yy_state_743) - T_DEFER => Shift(yy_state_744) - NT_guard_statement => Shift(yy_state_746) - T_FN => Shift(yy_state_747) - T_ASYNC => Shift(yy_state_753) - T_LETREC => Shift(yy_state_760) - T_LET => Shift(yy_state_786) - NT_non_empty_list_semis_rev_statement_ => Shift(yy_state_802) - NT_local_types_and_stmts => Shift(yy_state_964) - NT_list_semis_rev_statement_ => Shift(yy_state_966) - NT_local_type_decl => Shift(yy_state_967) - T_TYPE => Shift(yy_state_970) - T_ENUM => Shift(yy_state_988) - T_STRUCT => Shift(yy_state_994) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACE => Reduce(0, NT_list_semis_rev_statement_, yy_action_802) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + T_GUARD => Shift(yy_state_747) + NT_expr_statement => Shift(yy_state_751) + T_DEFER => Shift(yy_state_752) + NT_guard_statement => Shift(yy_state_754) + T_FN => Shift(yy_state_755) + T_ASYNC => Shift(yy_state_761) + T_LETREC => Shift(yy_state_768) + T_LET => Shift(yy_state_794) + NT_non_empty_list_semis_rev_statement_ => Shift(yy_state_810) + NT_local_types_and_stmts => Shift(yy_state_972) + NT_list_semis_rev_statement_ => Shift(yy_state_974) + NT_local_type_decl => Shift(yy_state_975) + T_TYPE => Shift(yy_state_978) + T_ENUM => Shift(yy_state_996) + T_STRUCT => Shift(yy_state_1002) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACE => Reduce(0, NT_list_semis_rev_statement_, yy_action_814) _ => Error } } ///| -fn yy_state_964(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_972(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_965) + T_RBRACE => Shift(yy_state_973) _ => Error } } ///| -fn yy_state_965(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_block_expr_with_local_types, yy_action_319) +fn yy_state_973(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_block_expr_with_local_types, yy_action_329) } ///| -fn yy_state_966(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_local_types_and_stmts, yy_action_318) +fn yy_state_974(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_local_types_and_stmts, yy_action_328) } ///| -fn yy_state_967(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_975(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_SEMI => Shift(yy_state_968) - T_RBRACE => Reduce(1, NT_local_types_and_stmts, yy_action_317) + T_SEMI => Shift(yy_state_976) + T_RBRACE => Reduce(1, NT_local_types_and_stmts, yy_action_327) _ => Error } } ///| -fn yy_state_968(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_976(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -43529,60 +44469,60 @@ fn yy_state_968(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - NT_expr => Shift(yy_state_533) - NT_left_value => Shift(yy_state_534) - T_ELLIPSIS => Shift(yy_state_539) - T_RAISE => Shift(yy_state_540) - T_PACKAGE_NAME => Shift(yy_state_542) - T_LIDENT => Shift(yy_state_544) - NT_expr_statement_no_break_continue_return => Shift(yy_state_599) - T_RETURN => Shift(yy_state_600) - T_CONTINUE => Shift(yy_state_603) - T_BREAK => Shift(yy_state_612) - T_GUARD => Shift(yy_state_739) - NT_expr_statement => Shift(yy_state_743) - T_DEFER => Shift(yy_state_744) - NT_guard_statement => Shift(yy_state_746) - T_FN => Shift(yy_state_747) - T_ASYNC => Shift(yy_state_753) - T_LETREC => Shift(yy_state_760) - T_LET => Shift(yy_state_786) - NT_non_empty_list_semis_rev_statement_ => Shift(yy_state_802) - NT_list_semis_rev_statement_ => Shift(yy_state_966) - NT_local_type_decl => Shift(yy_state_967) - NT_local_types_and_stmts => Shift(yy_state_969) - T_TYPE => Shift(yy_state_970) - T_ENUM => Shift(yy_state_988) - T_STRUCT => Shift(yy_state_994) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RBRACE => Reduce(0, NT_list_semis_rev_statement_, yy_action_802) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + NT_expr => Shift(yy_state_535) + NT_left_value => Shift(yy_state_536) + T_ELLIPSIS => Shift(yy_state_541) + T_RAISE => Shift(yy_state_542) + T_PACKAGE_NAME => Shift(yy_state_544) + T_LIDENT => Shift(yy_state_546) + NT_expr_statement_no_break_continue_return => Shift(yy_state_601) + T_RETURN => Shift(yy_state_602) + T_CONTINUE => Shift(yy_state_605) + T_BREAK => Shift(yy_state_614) + T_GUARD => Shift(yy_state_747) + NT_expr_statement => Shift(yy_state_751) + T_DEFER => Shift(yy_state_752) + NT_guard_statement => Shift(yy_state_754) + T_FN => Shift(yy_state_755) + T_ASYNC => Shift(yy_state_761) + T_LETREC => Shift(yy_state_768) + T_LET => Shift(yy_state_794) + NT_non_empty_list_semis_rev_statement_ => Shift(yy_state_810) + NT_list_semis_rev_statement_ => Shift(yy_state_974) + NT_local_type_decl => Shift(yy_state_975) + NT_local_types_and_stmts => Shift(yy_state_977) + T_TYPE => Shift(yy_state_978) + T_ENUM => Shift(yy_state_996) + T_STRUCT => Shift(yy_state_1002) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RBRACE => Reduce(0, NT_list_semis_rev_statement_, yy_action_814) _ => Error } } ///| -fn yy_state_969(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_local_types_and_stmts, yy_action_316) +fn yy_state_977(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_local_types_and_stmts, yy_action_326) } ///| -fn yy_state_970(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_978(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_971) + T_UIDENT => Shift(yy_state_979) _ => Error } } ///| -fn yy_state_971(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_979(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -43591,108 +44531,108 @@ fn yy_state_971(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_972) + NT_type_ => Shift(yy_state_980) _ => Error } } ///| -fn yy_state_972(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_980(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_987) - T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_995) + T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_973(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_981(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_974) + T_LPAREN => Shift(yy_state_982) _ => Error } } ///| -fn yy_state_974(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_982(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_deriving_directive => Shift(yy_state_975) - NT_non_empty_list_commas_rev_deriving_directive_ => Shift(yy_state_976) - NT_type_name => Shift(yy_state_980) - NT_non_empty_list_commas_deriving_directive_ => Shift(yy_state_984) - NT_list_commas_deriving_directive_ => Shift(yy_state_985) - T_RPAREN => Reduce(0, NT_list_commas_deriving_directive_, yy_action_314) + NT_deriving_directive => Shift(yy_state_983) + NT_non_empty_list_commas_rev_deriving_directive_ => Shift(yy_state_984) + NT_type_name => Shift(yy_state_988) + NT_non_empty_list_commas_deriving_directive_ => Shift(yy_state_992) + NT_list_commas_deriving_directive_ => Shift(yy_state_993) + T_RPAREN => Reduce(0, NT_list_commas_deriving_directive_, yy_action_324) _ => Error } } ///| -fn yy_state_975(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_983(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_deriving_directive_, - yy_action_313, + yy_action_323, ) } ///| -fn yy_state_976(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_984(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_COMMA_ => Shift(yy_state_977) - T_COMMA => Shift(yy_state_978) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + NT_option_COMMA_ => Shift(yy_state_985) + T_COMMA => Shift(yy_state_986) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_977(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_985(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_deriving_directive_, - yy_action_312, + yy_action_322, ) } ///| -fn yy_state_978(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_986(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_deriving_directive => Shift(yy_state_979) - NT_type_name => Shift(yy_state_980) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_deriving_directive => Shift(yy_state_987) + NT_type_name => Shift(yy_state_988) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_979(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_987(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_deriving_directive_, - yy_action_311, + yy_action_321, ) } ///| -fn yy_state_980(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_988(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_981) - T_RPAREN | T_COMMA => Reduce(1, NT_deriving_directive, yy_action_310) + T_LPAREN => Shift(yy_state_989) + T_RPAREN | T_COMMA => Reduce(1, NT_deriving_directive, yy_action_320) _ => Error } } ///| -fn yy_state_981(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_989(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -43750,130 +44690,130 @@ fn yy_state_981(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_639) - T_LIDENT => Shift(yy_state_642) - NT_list_commas_argument_ => Shift(yy_state_982) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) - T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_780) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_647) + T_LIDENT => Shift(yy_state_650) + NT_list_commas_argument_ => Shift(yy_state_990) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) + T_RPAREN => Reduce(0, NT_list_commas_argument_, yy_action_792) _ => Error } } ///| -fn yy_state_982(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_990(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_983) + T_RPAREN => Shift(yy_state_991) _ => Error } } ///| -fn yy_state_983(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_deriving_directive, yy_action_309) +fn yy_state_991(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_deriving_directive, yy_action_319) } ///| -fn yy_state_984(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_deriving_directive_, yy_action_308) +fn yy_state_992(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_commas_deriving_directive_, yy_action_318) } ///| -fn yy_state_985(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_993(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_986) + T_RPAREN => Shift(yy_state_994) _ => Error } } ///| -fn yy_state_986(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_deriving_directive_list, yy_action_307) +fn yy_state_994(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_deriving_directive_list, yy_action_317) } ///| -fn yy_state_987(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_local_type_decl, yy_action_306) +fn yy_state_995(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_local_type_decl, yy_action_316) } ///| -fn yy_state_988(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_996(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_989) + T_UIDENT => Shift(yy_state_997) _ => Error } } ///| -fn yy_state_989(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_997(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_990) + T_LBRACE => Shift(yy_state_998) _ => Error } } ///| -fn yy_state_990(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_998(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_991) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_999) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_991(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_999(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_992) + T_RBRACE => Shift(yy_state_1000) _ => Error } } ///| -fn yy_state_992(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1000(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_993) - T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1001) + T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_993(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_local_type_decl, yy_action_305) +fn yy_state_1001(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_local_type_decl, yy_action_315) } ///| -fn yy_state_994(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1002(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_995) + T_UIDENT => Shift(yy_state_1003) _ => Error } } ///| -fn yy_state_995(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1003(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_996) - T_LBRACE => Shift(yy_state_1000) + T_LPAREN => Shift(yy_state_1004) + T_LBRACE => Shift(yy_state_1008) _ => Error } } ///| -fn yy_state_996(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1004(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -43884,147 +44824,147 @@ fn yy_state_996(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_non_empty_list_commas_type__ => Shift(yy_state_997) + NT_non_empty_list_commas_type__ => Shift(yy_state_1005) _ => Error } } ///| -fn yy_state_997(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1005(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_998) + T_RPAREN => Shift(yy_state_1006) _ => Error } } ///| -fn yy_state_998(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1006(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_999) - T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1007) + T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_999(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_local_type_decl, yy_action_304) +fn yy_state_1007(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_local_type_decl, yy_action_314) } ///| -fn yy_state_1000(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1008(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - T_MUTABLE => Shift(yy_state_913) - NT_record_decl_field => Shift(yy_state_1001) - NT_non_empty_list_attribute_ => Shift(yy_state_1005) - T_PUB => Shift(yy_state_1026) - T_PRIV => Shift(yy_state_1032) - NT_option_MUTABLE_ => Shift(yy_state_1037) - NT_non_empty_list_semis_record_decl_field_ => Shift(yy_state_1041) - NT_list_semis_record_decl_field_ => Shift(yy_state_1042) - T_RBRACE => Reduce(0, NT_list_semis_record_decl_field_, yy_action_303) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) + T_ATTRIBUTE => Shift(yy_state_853) + T_MUTABLE => Shift(yy_state_921) + NT_record_decl_field => Shift(yy_state_1009) + NT_non_empty_list_attribute_ => Shift(yy_state_1013) + T_PUB => Shift(yy_state_1034) + T_PRIV => Shift(yy_state_1040) + NT_option_MUTABLE_ => Shift(yy_state_1045) + NT_non_empty_list_semis_record_decl_field_ => Shift(yy_state_1049) + NT_list_semis_record_decl_field_ => Shift(yy_state_1050) + T_RBRACE => Reduce(0, NT_list_semis_record_decl_field_, yy_action_313) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_1001(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1009(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_SEMI_ => Shift(yy_state_1002) - T_SEMI => Shift(yy_state_1003) - T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_800) + NT_option_SEMI_ => Shift(yy_state_1010) + T_SEMI => Shift(yy_state_1011) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| -fn yy_state_1002(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1010(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_semis_record_decl_field_, - yy_action_302, + yy_action_312, ) } ///| -fn yy_state_1003(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1011(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - T_MUTABLE => Shift(yy_state_913) - NT_record_decl_field => Shift(yy_state_1001) - NT_non_empty_list_semis_record_decl_field_ => Shift(yy_state_1004) - NT_non_empty_list_attribute_ => Shift(yy_state_1005) - T_PUB => Shift(yy_state_1026) - T_PRIV => Shift(yy_state_1032) - NT_option_MUTABLE_ => Shift(yy_state_1037) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) - T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_798) + T_ATTRIBUTE => Shift(yy_state_853) + T_MUTABLE => Shift(yy_state_921) + NT_record_decl_field => Shift(yy_state_1009) + NT_non_empty_list_semis_record_decl_field_ => Shift(yy_state_1012) + NT_non_empty_list_attribute_ => Shift(yy_state_1013) + T_PUB => Shift(yy_state_1034) + T_PRIV => Shift(yy_state_1040) + NT_option_MUTABLE_ => Shift(yy_state_1045) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) + T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } ///| -fn yy_state_1004(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1012(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_semis_record_decl_field_, - yy_action_301, + yy_action_311, ) } ///| -fn yy_state_1005(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1013(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MUTABLE => Shift(yy_state_913) - T_PUB => Shift(yy_state_1006) - T_PRIV => Shift(yy_state_1017) - NT_option_MUTABLE_ => Shift(yy_state_1022) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) + T_MUTABLE => Shift(yy_state_921) + T_PUB => Shift(yy_state_1014) + T_PRIV => Shift(yy_state_1025) + NT_option_MUTABLE_ => Shift(yy_state_1030) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_1006(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1014(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_pub_attr => Shift(yy_state_1007) - T_LPAREN => Shift(yy_state_1012) - T_LIDENT | T_MUTABLE => Reduce(0, NT_pub_attr, yy_action_300) + NT_pub_attr => Shift(yy_state_1015) + T_LPAREN => Shift(yy_state_1020) + T_LIDENT | T_MUTABLE => Reduce(0, NT_pub_attr, yy_action_310) _ => Error } } ///| -fn yy_state_1007(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1015(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MUTABLE => Shift(yy_state_913) - NT_option_MUTABLE_ => Shift(yy_state_1008) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) + T_MUTABLE => Shift(yy_state_921) + NT_option_MUTABLE_ => Shift(yy_state_1016) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_1008(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1016(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1009) + T_LIDENT => Shift(yy_state_1017) _ => Error } } ///| -fn yy_state_1009(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1017(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1010) + T_COLON => Shift(yy_state_1018) _ => Error } } ///| -fn yy_state_1010(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1018(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44033,79 +44973,79 @@ fn yy_state_1010(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1011) + NT_type_ => Shift(yy_state_1019) _ => Error } } ///| -fn yy_state_1011(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(7, NT_record_decl_field, yy_action_299) +fn yy_state_1019(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_record_decl_field, yy_action_309) } ///| -fn yy_state_1012(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1020(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1013) - T_READONLY => Shift(yy_state_1015) + T_LIDENT => Shift(yy_state_1021) + T_READONLY => Shift(yy_state_1023) _ => Error } } ///| -fn yy_state_1013(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1021(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1014) + T_RPAREN => Shift(yy_state_1022) _ => Error } } ///| -fn yy_state_1014(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_pub_attr, yy_action_298) +fn yy_state_1022(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_pub_attr, yy_action_308) } ///| -fn yy_state_1015(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1023(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1016) + T_RPAREN => Shift(yy_state_1024) _ => Error } } ///| -fn yy_state_1016(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_pub_attr, yy_action_297) +fn yy_state_1024(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_pub_attr, yy_action_307) } ///| -fn yy_state_1017(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1025(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MUTABLE => Shift(yy_state_913) - NT_option_MUTABLE_ => Shift(yy_state_1018) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) + T_MUTABLE => Shift(yy_state_921) + NT_option_MUTABLE_ => Shift(yy_state_1026) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_1018(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1026(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1019) + T_LIDENT => Shift(yy_state_1027) _ => Error } } ///| -fn yy_state_1019(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1027(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1020) + T_COLON => Shift(yy_state_1028) _ => Error } } ///| -fn yy_state_1020(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1028(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44114,34 +45054,34 @@ fn yy_state_1020(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1021) + NT_type_ => Shift(yy_state_1029) _ => Error } } ///| -fn yy_state_1021(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_record_decl_field, yy_action_296) +fn yy_state_1029(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_record_decl_field, yy_action_306) } ///| -fn yy_state_1022(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1030(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1023) + T_LIDENT => Shift(yy_state_1031) _ => Error } } ///| -fn yy_state_1023(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1031(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1024) + T_COLON => Shift(yy_state_1032) _ => Error } } ///| -fn yy_state_1024(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1032(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44150,54 +45090,54 @@ fn yy_state_1024(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1025) + NT_type_ => Shift(yy_state_1033) _ => Error } } ///| -fn yy_state_1025(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_record_decl_field, yy_action_295) +fn yy_state_1033(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_record_decl_field, yy_action_305) } ///| -fn yy_state_1026(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1034(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1012) - NT_pub_attr => Shift(yy_state_1027) - T_LIDENT | T_MUTABLE => Reduce(0, NT_pub_attr, yy_action_300) + T_LPAREN => Shift(yy_state_1020) + NT_pub_attr => Shift(yy_state_1035) + T_LIDENT | T_MUTABLE => Reduce(0, NT_pub_attr, yy_action_310) _ => Error } } ///| -fn yy_state_1027(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1035(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MUTABLE => Shift(yy_state_913) - NT_option_MUTABLE_ => Shift(yy_state_1028) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) + T_MUTABLE => Shift(yy_state_921) + NT_option_MUTABLE_ => Shift(yy_state_1036) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_1028(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1036(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1029) + T_LIDENT => Shift(yy_state_1037) _ => Error } } ///| -fn yy_state_1029(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1037(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1030) + T_COLON => Shift(yy_state_1038) _ => Error } } ///| -fn yy_state_1030(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1038(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44206,44 +45146,44 @@ fn yy_state_1030(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1031) + NT_type_ => Shift(yy_state_1039) _ => Error } } ///| -fn yy_state_1031(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_record_decl_field, yy_action_294) +fn yy_state_1039(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_record_decl_field, yy_action_304) } ///| -fn yy_state_1032(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1040(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MUTABLE => Shift(yy_state_913) - NT_option_MUTABLE_ => Shift(yy_state_1033) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) + T_MUTABLE => Shift(yy_state_921) + NT_option_MUTABLE_ => Shift(yy_state_1041) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_1033(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1041(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1034) + T_LIDENT => Shift(yy_state_1042) _ => Error } } ///| -fn yy_state_1034(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1042(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1035) + T_COLON => Shift(yy_state_1043) _ => Error } } ///| -fn yy_state_1035(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1043(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44252,34 +45192,34 @@ fn yy_state_1035(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1036) + NT_type_ => Shift(yy_state_1044) _ => Error } } ///| -fn yy_state_1036(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_record_decl_field, yy_action_293) +fn yy_state_1044(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_record_decl_field, yy_action_303) } ///| -fn yy_state_1037(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1045(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1038) + T_LIDENT => Shift(yy_state_1046) _ => Error } } ///| -fn yy_state_1038(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1046(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1039) + T_COLON => Shift(yy_state_1047) _ => Error } } ///| -fn yy_state_1039(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1047(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44288,46 +45228,46 @@ fn yy_state_1039(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1040) + NT_type_ => Shift(yy_state_1048) _ => Error } } ///| -fn yy_state_1040(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_record_decl_field, yy_action_292) +fn yy_state_1048(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_record_decl_field, yy_action_302) } ///| -fn yy_state_1041(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_semis_record_decl_field_, yy_action_291) +fn yy_state_1049(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_list_semis_record_decl_field_, yy_action_301) } ///| -fn yy_state_1042(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1050(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1043) + T_RBRACE => Shift(yy_state_1051) _ => Error } } ///| -fn yy_state_1043(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1051(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1044) - T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1052) + T_SEMI | T_RBRACE => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1044(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_local_type_decl, yy_action_290) +fn yy_state_1052(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(6, NT_local_type_decl, yy_action_300) } ///| -fn yy_state_1045(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1053(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44336,522 +45276,522 @@ fn yy_state_1045(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1046) + NT_type_ => Shift(yy_state_1054) _ => Error } } ///| -fn yy_state_1046(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1054(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1047) - T_EOF | T_SEMI => Reduce(5, NT_structure_item, yy_action_289) + T_WITH => Shift(yy_state_1055) + T_EOF | T_SEMI => Reduce(5, NT_structure_item, yy_action_299) _ => Error } } ///| -fn yy_state_1047(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1055(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1048) + T_LIDENT => Shift(yy_state_1056) _ => Error } } ///| -fn yy_state_1048(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1056(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1049) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1057) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1049(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1057(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1050) + NT_parameters => Shift(yy_state_1058) _ => Error } } ///| -fn yy_state_1050(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1058(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1051) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1059) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1051(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1059(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1052) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1060) _ => Error } } ///| -fn yy_state_1052(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(11, NT_structure_item, yy_action_288) +fn yy_state_1060(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(11, NT_structure_item, yy_action_298) } ///| -fn yy_state_1053(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1061(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_1054) - NT_option_loced_string_ => Shift(yy_state_1055) - T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_287) + T_STRING => Shift(yy_state_1062) + NT_option_loced_string_ => Shift(yy_state_1063) + T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_297) _ => Error } } ///| -fn yy_state_1054(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_loced_string_, yy_action_285) +fn yy_state_1062(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_option_loced_string_, yy_action_295) } ///| -fn yy_state_1055(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1063(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1057) - T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_284) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1065) + T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1056(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_option_parameters_, yy_action_283) +fn yy_state_1064(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_option_parameters_, yy_action_293) } ///| -fn yy_state_1057(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1065(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_963) - NT_block_expr_with_local_types => Shift(yy_state_1058) + T_LBRACE => Shift(yy_state_971) + NT_block_expr_with_local_types => Shift(yy_state_1066) _ => Error } } ///| -fn yy_state_1058(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_structure_item, yy_action_282) +fn yy_state_1066(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_structure_item, yy_action_292) } ///| -fn yy_state_1059(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1067(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_PACKAGE_NAME => Shift(yy_state_1064) - NT_batch_type_alias_targets => Shift(yy_state_1077) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_PACKAGE_NAME => Shift(yy_state_1072) + NT_batch_type_alias_targets => Shift(yy_state_1085) _ => Error } } ///| -fn yy_state_1060(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1068(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1061) + T_AS => Shift(yy_state_1069) T_EOF | T_RPAREN | T_COMMA | T_SEMI => - Reduce(1, NT_batch_type_alias_target_UIDENT_, yy_action_281) + Reduce(1, NT_batch_type_alias_target_UIDENT_, yy_action_291) _ => Error } } ///| -fn yy_state_1061(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1069(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1062) + T_UIDENT => Shift(yy_state_1070) _ => Error } } ///| -fn yy_state_1062(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_batch_type_alias_target_UIDENT_, yy_action_280) +fn yy_state_1070(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_batch_type_alias_target_UIDENT_, yy_action_290) } ///| -fn yy_state_1063(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_batch_type_alias_targets, yy_action_279) +fn yy_state_1071(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_batch_type_alias_targets, yy_action_289) } ///| -fn yy_state_1064(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1072(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DOT_UIDENT => Shift(yy_state_1065) - T_DOT_LPAREN => Shift(yy_state_1068) - NT_batch_type_alias_target_DOT_UIDENT_ => Shift(yy_state_1076) + T_DOT_UIDENT => Shift(yy_state_1073) + T_DOT_LPAREN => Shift(yy_state_1076) + NT_batch_type_alias_target_DOT_UIDENT_ => Shift(yy_state_1084) _ => Error } } ///| -fn yy_state_1065(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1073(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1066) + T_AS => Shift(yy_state_1074) T_EOF | T_SEMI => - Reduce(1, NT_batch_type_alias_target_DOT_UIDENT_, yy_action_278) + Reduce(1, NT_batch_type_alias_target_DOT_UIDENT_, yy_action_288) _ => Error } } ///| -fn yy_state_1066(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1074(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1067) + T_UIDENT => Shift(yy_state_1075) _ => Error } } ///| -fn yy_state_1067(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_batch_type_alias_target_DOT_UIDENT_, yy_action_277) +fn yy_state_1075(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_batch_type_alias_target_DOT_UIDENT_, yy_action_287) } ///| -fn yy_state_1068(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1076(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1069) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1077) NT_non_empty_list_commas_rev_batch_type_alias_target_UIDENT__ => - Shift(yy_state_1070) + Shift(yy_state_1078) NT_non_empty_list_commas_batch_type_alias_target_UIDENT__ => - Shift(yy_state_1074) + Shift(yy_state_1082) _ => Error } } ///| -fn yy_state_1069(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1077(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_batch_type_alias_target_UIDENT__, - yy_action_276, + yy_action_286, ) } ///| -fn yy_state_1070(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1078(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_1071) - NT_option_COMMA_ => Shift(yy_state_1073) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_COMMA => Shift(yy_state_1079) + NT_option_COMMA_ => Shift(yy_state_1081) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_1071(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1079(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1072) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1080) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_1072(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1080(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_batch_type_alias_target_UIDENT__, - yy_action_275, + yy_action_285, ) } ///| -fn yy_state_1073(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1081(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_batch_type_alias_target_UIDENT__, - yy_action_274, + yy_action_284, ) } ///| -fn yy_state_1074(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1082(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1075) + T_RPAREN => Shift(yy_state_1083) _ => Error } } ///| -fn yy_state_1075(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_batch_type_alias_targets, yy_action_273) +fn yy_state_1083(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_batch_type_alias_targets, yy_action_283) } ///| -fn yy_state_1076(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_batch_type_alias_targets, yy_action_272) +fn yy_state_1084(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_batch_type_alias_targets, yy_action_282) } ///| -fn yy_state_1077(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_structure_item, yy_action_271) +fn yy_state_1085(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_structure_item, yy_action_281) } ///| -fn yy_state_1078(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1086(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) T_AMPER => Shift(yy_state_58) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_UIDENT => Shift(yy_state_1079) - T_PACKAGE_NAME => Shift(yy_state_1080) - NT_type_ => Shift(yy_state_1082) - NT_batch_type_alias_targets => Shift(yy_state_1086) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_UIDENT => Shift(yy_state_1087) + T_PACKAGE_NAME => Shift(yy_state_1088) + NT_type_ => Shift(yy_state_1090) + NT_batch_type_alias_targets => Shift(yy_state_1094) _ => Error } } ///| -fn yy_state_1079(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1087(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACKET => Shift(yy_state_68) - T_AS => Shift(yy_state_1061) - T_QUESTION => Reduce(1, NT_simple_type, yy_action_841) + T_AS => Shift(yy_state_1069) + T_QUESTION => Reduce(1, NT_simple_type, yy_action_853) T_EOF | T_SEMI => - Reduce(1, NT_batch_type_alias_target_UIDENT_, yy_action_281) + Reduce(1, NT_batch_type_alias_target_UIDENT_, yy_action_291) _ => Error } } ///| -fn yy_state_1080(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1088(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_DOT_LIDENT => Shift(yy_state_105) - T_DOT_LPAREN => Shift(yy_state_1068) - NT_batch_type_alias_target_DOT_UIDENT_ => Shift(yy_state_1076) - T_DOT_UIDENT => Shift(yy_state_1081) + T_DOT_LPAREN => Shift(yy_state_1076) + NT_batch_type_alias_target_DOT_UIDENT_ => Shift(yy_state_1084) + T_DOT_UIDENT => Shift(yy_state_1089) _ => Error } } ///| -fn yy_state_1081(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1089(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACKET => Shift(yy_state_62) - T_AS => Shift(yy_state_1066) + T_AS => Shift(yy_state_1074) T_EOF | T_SEMI => - Reduce(1, NT_batch_type_alias_target_DOT_UIDENT_, yy_action_278) - T_QUESTION => Reduce(2, NT_simple_type, yy_action_844) + Reduce(1, NT_batch_type_alias_target_DOT_UIDENT_, yy_action_288) + T_QUESTION => Reduce(2, NT_simple_type, yy_action_856) _ => Error } } ///| -fn yy_state_1082(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1090(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1083) + T_AS => Shift(yy_state_1091) _ => Error } } ///| -fn yy_state_1083(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1091(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1084) + T_UIDENT => Shift(yy_state_1092) _ => Error } } ///| -fn yy_state_1084(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1092(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1085) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1093) T_EOF | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1085(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_structure_item, yy_action_270) +fn yy_state_1093(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_structure_item, yy_action_280) } ///| -fn yy_state_1086(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_structure_item, yy_action_269) +fn yy_state_1094(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_structure_item, yy_action_279) } ///| -fn yy_state_1087(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1095(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1088) + T_UIDENT => Shift(yy_state_1096) _ => Error } } ///| -fn yy_state_1088(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1096(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1091) + Shift(yy_state_1099) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1089(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1097(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) - NT_tvar_constraint => Shift(yy_state_943) - NT_qual_ident_ty => Shift(yy_state_946) - NT_separated_nonempty_list_PLUS_tvar_constraint_ => Shift(yy_state_1090) + NT_tvar_constraint => Shift(yy_state_951) + NT_qual_ident_ty => Shift(yy_state_954) + NT_separated_nonempty_list_PLUS_tvar_constraint_ => Shift(yy_state_1098) _ => Error } } ///| -fn yy_state_1090(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1098(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_266, + yy_action_276, ) } ///| -fn yy_state_1091(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1099(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1092) + T_LBRACE => Shift(yy_state_1100) _ => Error } } ///| -fn yy_state_1092(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1100(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1152) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1160) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1093(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1101(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_SEMI_ => Shift(yy_state_1094) - T_SEMI => Shift(yy_state_1095) - T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_800) + NT_option_SEMI_ => Shift(yy_state_1102) + T_SEMI => Shift(yy_state_1103) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| -fn yy_state_1094(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1102(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_semis_trait_method_decl_, - yy_action_264, + yy_action_274, ) } ///| -fn yy_state_1095(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1103(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1096) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_798) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1104) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } ///| -fn yy_state_1096(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1104(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_semis_trait_method_decl_, - yy_action_263, + yy_action_273, ) } ///| -fn yy_state_1097(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1105(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1098) - T_ASYNC => Shift(yy_state_1125) + T_LIDENT => Shift(yy_state_1106) + T_ASYNC => Shift(yy_state_1133) _ => Error } } ///| -fn yy_state_1098(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1106(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1099) - T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1107) + T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1099(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1107(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1100) - T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1108) + T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1100(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1108(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1101) + T_LPAREN => Shift(yy_state_1109) _ => Error } } ///| -fn yy_state_1101(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1109(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44860,48 +45800,48 @@ fn yy_state_1101(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_trait_method_param => Shift(yy_state_1102) - NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1103) - T_POST_LABEL => Shift(yy_state_1107) - T_LIDENT => Shift(yy_state_1110) - NT_type_ => Shift(yy_state_1116) - NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1117) - NT_list_commas_trait_method_param_ => Shift(yy_state_1118) - T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_262) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) + NT_list_commas_trait_method_param_ => Shift(yy_state_1126) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) _ => Error } } ///| -fn yy_state_1102(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1110(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_trait_method_param_, - yy_action_261, + yy_action_271, ) } ///| -fn yy_state_1103(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1111(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_option_COMMA_ => Shift(yy_state_1104) - T_COMMA => Shift(yy_state_1105) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + NT_option_COMMA_ => Shift(yy_state_1112) + T_COMMA => Shift(yy_state_1113) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_1104(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1112(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_trait_method_param_, - yy_action_260, + yy_action_270, ) } ///| -fn yy_state_1105(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1113(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44910,34 +45850,34 @@ fn yy_state_1105(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_trait_method_param => Shift(yy_state_1106) - T_POST_LABEL => Shift(yy_state_1107) - T_LIDENT => Shift(yy_state_1110) - NT_type_ => Shift(yy_state_1116) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_trait_method_param => Shift(yy_state_1114) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_1106(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1114(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_trait_method_param_, - yy_action_259, + yy_action_269, ) } ///| -fn yy_state_1107(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1115(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1108) + T_COLON => Shift(yy_state_1116) _ => Error } } ///| -fn yy_state_1108(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1116(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44946,35 +45886,35 @@ fn yy_state_1108(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1109) + NT_type_ => Shift(yy_state_1117) _ => Error } } ///| -fn yy_state_1109(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_trait_method_param, yy_action_258) +fn yy_state_1117(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_trait_method_param, yy_action_268) } ///| -fn yy_state_1110(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1118(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_QUESTION => Shift(yy_state_1111) - T_COLON => Shift(yy_state_1114) + T_QUESTION => Shift(yy_state_1119) + T_COLON => Shift(yy_state_1122) _ => Error } } ///| -fn yy_state_1111(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1119(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1112) + T_COLON => Shift(yy_state_1120) _ => Error } } ///| -fn yy_state_1112(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1120(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -44983,18 +45923,18 @@ fn yy_state_1112(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1113) + NT_type_ => Shift(yy_state_1121) _ => Error } } ///| -fn yy_state_1113(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_trait_method_param, yy_action_257) +fn yy_state_1121(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_trait_method_param, yy_action_267) } ///| -fn yy_state_1114(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1122(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -45003,96 +45943,30 @@ fn yy_state_1114(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1115) - _ => Error - } -} - -///| -fn yy_state_1115(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_trait_method_param, yy_action_256) -} - -///| -fn yy_state_1116(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_trait_method_param, yy_action_255) -} - -///| -fn yy_state_1117(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_commas_trait_method_param_, yy_action_254) -} - -///| -fn yy_state_1118(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_RPAREN => Shift(yy_state_1119) - _ => Error - } -} - -///| -fn yy_state_1119(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - NT_error_annotation => Shift(yy_state_50) - T_THIN_ARROW => Shift(yy_state_51) - T_NORAISE => Shift(yy_state_83) - T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1120) - T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_850) - _ => Error - } -} - -///| -fn yy_state_1120(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_EQUAL => Shift(yy_state_1121) - NT_option_preceded_EQUAL_wildcard__ => Shift(yy_state_1124) - T_SEMI | T_RBRACE => - Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_253) - _ => Error - } -} - -///| -fn yy_state_1121(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - NT_wildcard => Shift(yy_state_1122) - T_UNDERSCORE => Shift(yy_state_1123) + NT_type_ => Shift(yy_state_1123) _ => Error } } -///| -fn yy_state_1122(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_option_preceded_EQUAL_wildcard__, yy_action_251) -} - ///| fn yy_state_1123(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_wildcard, yy_action_250) + ReduceNoLookahead(3, NT_trait_method_param, yy_action_266) } ///| fn yy_state_1124(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(9, NT_trait_method_decl, yy_action_249) + ReduceNoLookahead(1, NT_trait_method_param, yy_action_265) } ///| fn yy_state_1125(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LIDENT => Shift(yy_state_1126) - _ => Error - } + ReduceNoLookahead(1, NT_list_commas_trait_method_param_, yy_action_264) } ///| fn yy_state_1126(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1127) - T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_851) + T_RPAREN => Shift(yy_state_1127) _ => Error } } @@ -45100,11 +45974,12 @@ fn yy_state_1126(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1127(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1128) - T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_error_annotation => Shift(yy_state_50) + T_THIN_ARROW => Shift(yy_state_51) + T_NORAISE => Shift(yy_state_83) + T_RAISE => Shift(yy_state_84) + NT_func_return_type => Shift(yy_state_1128) + T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } @@ -45112,7 +45987,10 @@ fn yy_state_1127(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1128(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1129) + T_EQUAL => Shift(yy_state_1129) + NT_option_preceded_EQUAL_wildcard__ => Shift(yy_state_1132) + T_SEMI | T_RBRACE => + Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_263) _ => Error } } @@ -45120,68 +45998,41 @@ fn yy_state_1128(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1129(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ASYNC => Shift(yy_state_52) - T_UNDERSCORE => Shift(yy_state_57) - T_AMPER => Shift(yy_state_58) - T_PACKAGE_NAME => Shift(yy_state_60) - T_UIDENT => Shift(yy_state_67) - T_LPAREN => Shift(yy_state_71) - NT_simple_type => Shift(yy_state_100) - NT_trait_method_param => Shift(yy_state_1102) - NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1103) - T_POST_LABEL => Shift(yy_state_1107) - T_LIDENT => Shift(yy_state_1110) - NT_type_ => Shift(yy_state_1116) - NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1117) - NT_list_commas_trait_method_param_ => Shift(yy_state_1130) - T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_262) + NT_wildcard => Shift(yy_state_1130) + T_UNDERSCORE => Shift(yy_state_1131) _ => Error } } ///| fn yy_state_1130(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_RPAREN => Shift(yy_state_1131) - _ => Error - } + ReduceNoLookahead(2, NT_option_preceded_EQUAL_wildcard__, yy_action_261) } ///| fn yy_state_1131(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - NT_error_annotation => Shift(yy_state_50) - T_THIN_ARROW => Shift(yy_state_51) - T_NORAISE => Shift(yy_state_83) - T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1132) - T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_850) - _ => Error - } + ReduceNoLookahead(1, NT_wildcard, yy_action_260) } ///| fn yy_state_1132(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_EQUAL => Shift(yy_state_1121) - NT_option_preceded_EQUAL_wildcard__ => Shift(yy_state_1133) - T_SEMI | T_RBRACE => - Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_253) - _ => Error - } + ReduceNoLookahead(9, NT_trait_method_decl, yy_action_259) } ///| fn yy_state_1133(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(10, NT_trait_method_decl, yy_action_248) + match _lookahead { + T_LIDENT => Shift(yy_state_1134) + _ => Error + } } ///| fn yy_state_1134(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) + T_EXCLAMATION => Shift(yy_state_734) NT_optional_bang => Shift(yy_state_1135) - T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_851) + T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } @@ -45189,11 +46040,11 @@ fn yy_state_1134(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1135(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) NT_optional_type_parameters => Shift(yy_state_1136) - T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_356) + T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } @@ -45216,14 +46067,14 @@ fn yy_state_1137(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_trait_method_param => Shift(yy_state_1102) - NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1103) - T_POST_LABEL => Shift(yy_state_1107) - T_LIDENT => Shift(yy_state_1110) - NT_type_ => Shift(yy_state_1116) - NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1117) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) NT_list_commas_trait_method_param_ => Shift(yy_state_1138) - T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_262) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) _ => Error } } @@ -45244,7 +46095,7 @@ fn yy_state_1139(_lookahead : YYSymbol) -> YYDecision { T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) NT_func_return_type => Shift(yy_state_1140) - T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_850) + T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } @@ -45252,23 +46103,25 @@ fn yy_state_1139(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1140(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_1121) + T_EQUAL => Shift(yy_state_1129) NT_option_preceded_EQUAL_wildcard__ => Shift(yy_state_1141) T_SEMI | T_RBRACE => - Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_253) + Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_263) _ => Error } } ///| fn yy_state_1141(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(8, NT_trait_method_decl, yy_action_247) + ReduceNoLookahead(10, NT_trait_method_decl, yy_action_258) } ///| fn yy_state_1142(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1143) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1143) + T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } @@ -45276,9 +46129,11 @@ fn yy_state_1142(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1143(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1144) - T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_851) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1144) + T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } @@ -45286,25 +46141,13 @@ fn yy_state_1143(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1144(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1145) - T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_356) + T_LPAREN => Shift(yy_state_1145) _ => Error } } ///| fn yy_state_1145(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LPAREN => Shift(yy_state_1146) - _ => Error - } -} - -///| -fn yy_state_1146(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -45313,85 +46156,111 @@ fn yy_state_1146(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_trait_method_param => Shift(yy_state_1102) - NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1103) - T_POST_LABEL => Shift(yy_state_1107) - T_LIDENT => Shift(yy_state_1110) - NT_type_ => Shift(yy_state_1116) - NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1117) - NT_list_commas_trait_method_param_ => Shift(yy_state_1147) - T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_262) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) + NT_list_commas_trait_method_param_ => Shift(yy_state_1146) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) _ => Error } } ///| -fn yy_state_1147(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1146(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1148) + T_RPAREN => Shift(yy_state_1147) _ => Error } } ///| -fn yy_state_1148(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1147(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1149) - T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1148) + T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1149(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1148(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_1121) - NT_option_preceded_EQUAL_wildcard__ => Shift(yy_state_1150) + T_EQUAL => Shift(yy_state_1129) + NT_option_preceded_EQUAL_wildcard__ => Shift(yy_state_1149) T_SEMI | T_RBRACE => - Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_253) + Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_263) _ => Error } } +///| +fn yy_state_1149(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_trait_method_decl, yy_action_257) +} + ///| fn yy_state_1150(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(9, NT_trait_method_decl, yy_action_246) + match _lookahead { + T_LIDENT => Shift(yy_state_1151) + _ => Error + } } ///| fn yy_state_1151(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_list_semis_trait_method_decl_, yy_action_245) + match _lookahead { + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1152) + T_LPAREN | T_LBRACKET => Reduce(0, NT_optional_bang, yy_action_863) + _ => Error + } } ///| fn yy_state_1152(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1153) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1153) + T_LPAREN => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| fn yy_state_1153(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(6, NT_structure_item, yy_action_244) + match _lookahead { + T_LPAREN => Shift(yy_state_1154) + _ => Error + } } ///| fn yy_state_1154(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1155) - T_LIDENT => Shift(yy_state_1157) - NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1162) - T_PACKAGE_NAME => Shift(yy_state_1172) - NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1187) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1189) - NT_func_alias_targets => Shift(yy_state_1190) - T_LPAREN => - Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_243) + T_ASYNC => Shift(yy_state_52) + T_UNDERSCORE => Shift(yy_state_57) + T_AMPER => Shift(yy_state_58) + T_PACKAGE_NAME => Shift(yy_state_60) + T_UIDENT => Shift(yy_state_67) + T_LPAREN => Shift(yy_state_71) + NT_simple_type => Shift(yy_state_100) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) + NT_list_commas_trait_method_param_ => Shift(yy_state_1155) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) _ => Error } } @@ -45399,54 +46268,70 @@ fn yy_state_1154(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1155(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Shift(yy_state_1156) + T_RPAREN => Shift(yy_state_1156) _ => Error } } ///| fn yy_state_1156(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_alias_type_name_LIDENT_UIDENT_, yy_action_242) + match _lookahead { + NT_error_annotation => Shift(yy_state_50) + T_THIN_ARROW => Shift(yy_state_51) + T_NORAISE => Shift(yy_state_83) + T_RAISE => Shift(yy_state_84) + NT_func_return_type => Shift(yy_state_1157) + T_EQUAL | T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) + _ => Error + } } ///| fn yy_state_1157(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1158) - NT_option_preceded_AS_binder__ => Shift(yy_state_1160) - T_COLONCOLON => Shift(yy_state_1161) - T_EOF | T_SEMI => Reduce(0, NT_option_preceded_AS_binder__, yy_action_241) + T_EQUAL => Shift(yy_state_1129) + NT_option_preceded_EQUAL_wildcard__ => Shift(yy_state_1158) + T_SEMI | T_RBRACE => + Reduce(0, NT_option_preceded_EQUAL_wildcard__, yy_action_263) _ => Error } } ///| fn yy_state_1158(_lookahead : YYSymbol) -> YYDecision { - match _lookahead { - T_LIDENT => Shift(yy_state_1159) - _ => Error - } + ReduceNoLookahead(9, NT_trait_method_decl, yy_action_256) } ///| fn yy_state_1159(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_option_preceded_AS_binder__, yy_action_239) + ReduceNoLookahead(1, NT_list_semis_trait_method_decl_, yy_action_255) } ///| fn yy_state_1160(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_alias_target_LIDENT_, yy_action_238) + match _lookahead { + T_RBRACE => Shift(yy_state_1161) + _ => Error + } } ///| fn yy_state_1161(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_alias_type_name_LIDENT_UIDENT_, yy_action_237) + ReduceNoLookahead(6, NT_structure_item, yy_action_254) } ///| fn yy_state_1162(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1163) + T_UIDENT => Shift(yy_state_1163) + T_LIDENT => Shift(yy_state_1165) + NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1170) + T_PACKAGE_NAME => Shift(yy_state_1180) + NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1195) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1197) + NT_func_alias_targets => Shift(yy_state_1198) + T_LPAREN => + Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_253) _ => Error } } @@ -45454,348 +46339,403 @@ fn yy_state_1162(_lookahead : YYSymbol) -> YYDecision { ///| fn yy_state_1163(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_func_alias_target_LIDENT_ => Shift(yy_state_1164) - NT_non_empty_list_commas_rev_func_alias_target_LIDENT__ => - Shift(yy_state_1165) - T_LIDENT => Shift(yy_state_1168) - NT_non_empty_list_commas_func_alias_target_LIDENT__ => Shift(yy_state_1170) + T_COLONCOLON => Shift(yy_state_1164) _ => Error } } ///| fn yy_state_1164(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_func_alias_type_name_LIDENT_UIDENT_, yy_action_252) +} + +///| +fn yy_state_1165(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_AS => Shift(yy_state_1166) + NT_option_preceded_AS_binder__ => Shift(yy_state_1168) + T_COLONCOLON => Shift(yy_state_1169) + T_EOF | T_SEMI => Reduce(0, NT_option_preceded_AS_binder__, yy_action_251) + _ => Error + } +} + +///| +fn yy_state_1166(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_1167) + _ => Error + } +} + +///| +fn yy_state_1167(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_option_preceded_AS_binder__, yy_action_249) +} + +///| +fn yy_state_1168(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_func_alias_target_LIDENT_, yy_action_248) +} + +///| +fn yy_state_1169(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_func_alias_type_name_LIDENT_UIDENT_, yy_action_247) +} + +///| +fn yy_state_1170(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_1171) + _ => Error + } +} + +///| +fn yy_state_1171(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_func_alias_target_LIDENT_ => Shift(yy_state_1172) + NT_non_empty_list_commas_rev_func_alias_target_LIDENT__ => + Shift(yy_state_1173) + T_LIDENT => Shift(yy_state_1176) + NT_non_empty_list_commas_func_alias_target_LIDENT__ => Shift(yy_state_1178) + _ => Error + } +} + +///| +fn yy_state_1172(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 1, NT_non_empty_list_commas_rev_func_alias_target_LIDENT__, - yy_action_236, + yy_action_246, ) } ///| -fn yy_state_1165(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1173(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COMMA => Shift(yy_state_1166) - NT_option_COMMA_ => Shift(yy_state_1169) - T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_865) + T_COMMA => Shift(yy_state_1174) + NT_option_COMMA_ => Shift(yy_state_1177) + T_RPAREN => Reduce(0, NT_option_COMMA_, yy_action_877) _ => Error } } ///| -fn yy_state_1166(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1174(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_func_alias_target_LIDENT_ => Shift(yy_state_1167) - T_LIDENT => Shift(yy_state_1168) - T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_863) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1175) + T_LIDENT => Shift(yy_state_1176) + T_RPAREN => Reduce(1, NT_option_COMMA_, yy_action_875) _ => Error } } ///| -fn yy_state_1167(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1175(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 3, NT_non_empty_list_commas_rev_func_alias_target_LIDENT__, - yy_action_235, + yy_action_245, ) } ///| -fn yy_state_1168(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1176(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1158) - NT_option_preceded_AS_binder__ => Shift(yy_state_1160) + T_AS => Shift(yy_state_1166) + NT_option_preceded_AS_binder__ => Shift(yy_state_1168) T_EOF | T_RPAREN | T_COMMA | T_SEMI => - Reduce(0, NT_option_preceded_AS_binder__, yy_action_241) + Reduce(0, NT_option_preceded_AS_binder__, yy_action_251) _ => Error } } ///| -fn yy_state_1169(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1177(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_non_empty_list_commas_func_alias_target_LIDENT__, - yy_action_234, + yy_action_244, ) } ///| -fn yy_state_1170(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1178(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1171) + T_RPAREN => Shift(yy_state_1179) _ => Error } } ///| -fn yy_state_1171(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_func_alias_targets, yy_action_233) +fn yy_state_1179(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_func_alias_targets, yy_action_243) } ///| -fn yy_state_1172(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1180(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DOT_UIDENT => Shift(yy_state_1173) - T_DOT_LIDENT => Shift(yy_state_1175) - T_DOT_LPAREN => Shift(yy_state_1178) - NT_func_alias_type_name_DOT_LIDENT_DOT_UIDENT_ => Shift(yy_state_1181) - NT_func_alias_target_DOT_LIDENT_ => Shift(yy_state_1186) + T_DOT_UIDENT => Shift(yy_state_1181) + T_DOT_LIDENT => Shift(yy_state_1183) + T_DOT_LPAREN => Shift(yy_state_1186) + NT_func_alias_type_name_DOT_LIDENT_DOT_UIDENT_ => Shift(yy_state_1189) + NT_func_alias_target_DOT_LIDENT_ => Shift(yy_state_1194) _ => Error } } ///| -fn yy_state_1173(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1181(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Shift(yy_state_1174) + T_COLONCOLON => Shift(yy_state_1182) _ => Error } } ///| -fn yy_state_1174(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1182(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_func_alias_type_name_DOT_LIDENT_DOT_UIDENT_, - yy_action_232, + yy_action_242, ) } ///| -fn yy_state_1175(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1183(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1158) - T_COLONCOLON => Shift(yy_state_1176) - NT_option_preceded_AS_binder__ => Shift(yy_state_1177) - T_EOF | T_SEMI => Reduce(0, NT_option_preceded_AS_binder__, yy_action_241) + T_AS => Shift(yy_state_1166) + T_COLONCOLON => Shift(yy_state_1184) + NT_option_preceded_AS_binder__ => Shift(yy_state_1185) + T_EOF | T_SEMI => Reduce(0, NT_option_preceded_AS_binder__, yy_action_251) _ => Error } } ///| -fn yy_state_1176(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1184(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead( 2, NT_func_alias_type_name_DOT_LIDENT_DOT_UIDENT_, - yy_action_231, + yy_action_241, ) } ///| -fn yy_state_1177(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_alias_target_DOT_LIDENT_, yy_action_230) +fn yy_state_1185(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_func_alias_target_DOT_LIDENT_, yy_action_240) } ///| -fn yy_state_1178(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1186(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_func_alias_target_LIDENT_ => Shift(yy_state_1164) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1172) NT_non_empty_list_commas_rev_func_alias_target_LIDENT__ => - Shift(yy_state_1165) - T_LIDENT => Shift(yy_state_1168) - NT_non_empty_list_commas_func_alias_target_LIDENT__ => Shift(yy_state_1179) + Shift(yy_state_1173) + T_LIDENT => Shift(yy_state_1176) + NT_non_empty_list_commas_func_alias_target_LIDENT__ => Shift(yy_state_1187) _ => Error } } ///| -fn yy_state_1179(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1187(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1180) + T_RPAREN => Shift(yy_state_1188) _ => Error } } ///| -fn yy_state_1180(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_func_alias_targets, yy_action_229) +fn yy_state_1188(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_func_alias_targets, yy_action_239) } ///| -fn yy_state_1181(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1189(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1168) - T_LPAREN => Shift(yy_state_1182) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1185) + T_LIDENT => Shift(yy_state_1176) + T_LPAREN => Shift(yy_state_1190) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1193) _ => Error } } ///| -fn yy_state_1182(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1190(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_func_alias_target_LIDENT_ => Shift(yy_state_1164) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1172) NT_non_empty_list_commas_rev_func_alias_target_LIDENT__ => - Shift(yy_state_1165) - T_LIDENT => Shift(yy_state_1168) - NT_non_empty_list_commas_func_alias_target_LIDENT__ => Shift(yy_state_1183) + Shift(yy_state_1173) + T_LIDENT => Shift(yy_state_1176) + NT_non_empty_list_commas_func_alias_target_LIDENT__ => Shift(yy_state_1191) _ => Error } } ///| -fn yy_state_1183(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1191(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1184) + T_RPAREN => Shift(yy_state_1192) _ => Error } } ///| -fn yy_state_1184(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_func_alias_targets, yy_action_228) +fn yy_state_1192(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_func_alias_targets, yy_action_238) } ///| -fn yy_state_1185(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_func_alias_targets, yy_action_227) +fn yy_state_1193(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_func_alias_targets, yy_action_237) } ///| -fn yy_state_1186(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_alias_targets, yy_action_226) +fn yy_state_1194(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_func_alias_targets, yy_action_236) } ///| -fn yy_state_1187(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1195(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1168) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1188) + T_LIDENT => Shift(yy_state_1176) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1196) T_LPAREN => - Reduce(1, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_225) + Reduce(1, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_235) _ => Error } } ///| -fn yy_state_1188(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_func_alias_targets, yy_action_223) +fn yy_state_1196(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_func_alias_targets, yy_action_233) } ///| -fn yy_state_1189(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_func_alias_targets, yy_action_221) +fn yy_state_1197(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_func_alias_targets, yy_action_231) } ///| -fn yy_state_1190(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_structure_item, yy_action_220) +fn yy_state_1198(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_structure_item, yy_action_230) } ///| -fn yy_state_1191(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(1, NT_structure_item, yy_action_219) +fn yy_state_1199(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(1, NT_structure_item, yy_action_229) } ///| -fn yy_state_1192(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1200(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_963) - NT_block_expr_with_local_types => Shift(yy_state_1193) - T_EQUAL => Shift(yy_state_1194) + T_LBRACE => Shift(yy_state_971) + NT_block_expr_with_local_types => Shift(yy_state_1201) + T_EQUAL => Shift(yy_state_1202) _ => Error } } ///| -fn yy_state_1193(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_structure_item, yy_action_218) +fn yy_state_1201(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_structure_item, yy_action_228) } ///| -fn yy_state_1194(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1202(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MULTILINE_STRING => Shift(yy_state_1195) - NT_non_empty_list_MULTILINE_STRING_ => Shift(yy_state_1197) - T_STRING => Shift(yy_state_1198) + T_MULTILINE_STRING => Shift(yy_state_1203) + NT_non_empty_list_MULTILINE_STRING_ => Shift(yy_state_1205) + T_STRING => Shift(yy_state_1206) _ => Error } } ///| -fn yy_state_1195(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1203(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MULTILINE_STRING => Shift(yy_state_1195) - NT_non_empty_list_MULTILINE_STRING_ => Shift(yy_state_1196) + T_MULTILINE_STRING => Shift(yy_state_1203) + NT_non_empty_list_MULTILINE_STRING_ => Shift(yy_state_1204) T_EOF | T_SEMI => - Reduce(1, NT_non_empty_list_MULTILINE_STRING_, yy_action_217) + Reduce(1, NT_non_empty_list_MULTILINE_STRING_, yy_action_227) _ => Error } } ///| -fn yy_state_1196(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(2, NT_non_empty_list_MULTILINE_STRING_, yy_action_216) +fn yy_state_1204(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_non_empty_list_MULTILINE_STRING_, yy_action_226) } ///| -fn yy_state_1197(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_structure_item, yy_action_215) +fn yy_state_1205(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_structure_item, yy_action_225) } ///| -fn yy_state_1198(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1206(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_1199) - T_EOF | T_SEMI => Reduce(3, NT_structure_item, yy_action_214) + T_STRING => Shift(yy_state_1207) + T_EOF | T_SEMI => Reduce(3, NT_structure_item, yy_action_224) _ => Error } } ///| -fn yy_state_1199(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_structure_item, yy_action_213) +fn yy_state_1207(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_structure_item, yy_action_223) } ///| -fn yy_state_1200(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1208(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_1201) + T_EQUAL => Shift(yy_state_1209) _ => Error } } ///| -fn yy_state_1201(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1209(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_MULTILINE_STRING => Shift(yy_state_1195) - NT_non_empty_list_MULTILINE_STRING_ => Shift(yy_state_1202) - T_STRING => Shift(yy_state_1203) + T_MULTILINE_STRING => Shift(yy_state_1203) + NT_non_empty_list_MULTILINE_STRING_ => Shift(yy_state_1210) + T_STRING => Shift(yy_state_1211) _ => Error } } ///| -fn yy_state_1202(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_structure_item, yy_action_212) +fn yy_state_1210(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_structure_item, yy_action_222) } ///| -fn yy_state_1203(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1211(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_1204) - T_EOF | T_SEMI => Reduce(3, NT_structure_item, yy_action_211) + T_STRING => Shift(yy_state_1212) + T_EOF | T_SEMI => Reduce(3, NT_structure_item, yy_action_221) _ => Error } } ///| -fn yy_state_1204(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(4, NT_structure_item, yy_action_210) +fn yy_state_1212(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_structure_item, yy_action_220) } ///| -fn yy_state_1205(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1213(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_1206) + T_EQUAL => Shift(yy_state_1214) _ => Error } } ///| -fn yy_state_1206(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1214(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_multiline_string => Shift(yy_state_2) T_MULTILINE_INTERP => Shift(yy_state_4) @@ -45849,82 +46789,82 @@ fn yy_state_1206(_lookahead : YYSymbol) -> YYDecision { NT_loop_expr => Shift(yy_state_472) T_LEXMATCH => Shift(yy_state_473) NT_lexmatch_header => Shift(yy_state_479) - NT_match_header => Shift(yy_state_488) - T_MATCH => Shift(yy_state_492) - T_IF => Shift(yy_state_495) - T_TRY_EXCLAMATION => Shift(yy_state_501) - T_TRY_QUESTION => Shift(yy_state_503) - T_TRY => Shift(yy_state_505) - NT_loop_label_colon => Shift(yy_state_520) - T_POST_LABEL => Shift(yy_state_528) - T_LIDENT => Shift(yy_state_530) - NT_expr => Shift(yy_state_1207) - T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_890) + NT_match_header => Shift(yy_state_490) + T_MATCH => Shift(yy_state_494) + T_IF => Shift(yy_state_497) + T_TRY_EXCLAMATION => Shift(yy_state_503) + T_TRY_QUESTION => Shift(yy_state_505) + T_TRY => Shift(yy_state_507) + NT_loop_label_colon => Shift(yy_state_522) + T_POST_LABEL => Shift(yy_state_530) + T_LIDENT => Shift(yy_state_532) + NT_expr => Shift(yy_state_1215) + T_WHILE | T_LOOP | T_FOR => Reduce(0, NT_loop_label_colon, yy_action_902) _ => Error } } ///| -fn yy_state_1207(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(3, NT_structure_item, yy_action_209) +fn yy_state_1215(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(3, NT_structure_item, yy_action_219) } ///| -fn yy_state_1208(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1216(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1209) + T_LBRACE => Shift(yy_state_1217) _ => Error } } ///| -fn yy_state_1209(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1217(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_1210) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_1218) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_1210(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1218(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1211) + T_RBRACE => Shift(yy_state_1219) _ => Error } } ///| -fn yy_state_1211(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1219(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1212) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1220) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1212(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_structure_item, yy_action_208) +fn yy_state_1220(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_structure_item, yy_action_218) } ///| -fn yy_state_1213(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1221(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1214) - T_LBRACE => Shift(yy_state_1218) + T_LPAREN => Shift(yy_state_1222) + T_LBRACE => Shift(yy_state_1226) _ => Error } } ///| -fn yy_state_1214(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1222(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -45935,77 +46875,496 @@ fn yy_state_1214(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_non_empty_list_commas_type__ => Shift(yy_state_1215) + NT_non_empty_list_commas_type__ => Shift(yy_state_1223) _ => Error } } ///| -fn yy_state_1215(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1223(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RPAREN => Shift(yy_state_1216) + T_RPAREN => Shift(yy_state_1224) _ => Error } } ///| -fn yy_state_1216(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1224(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1217) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1225) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1217(_lookahead : YYSymbol) -> YYDecision { - ReduceNoLookahead(5, NT_structure_item, yy_action_207) +fn yy_state_1225(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(5, NT_structure_item, yy_action_217) } ///| -fn yy_state_1218(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1226(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - T_MUTABLE => Shift(yy_state_913) - NT_record_decl_field => Shift(yy_state_1001) - NT_non_empty_list_attribute_ => Shift(yy_state_1005) - T_PUB => Shift(yy_state_1026) - T_PRIV => Shift(yy_state_1032) - NT_option_MUTABLE_ => Shift(yy_state_1037) - NT_non_empty_list_semis_record_decl_field_ => Shift(yy_state_1041) - NT_list_semis_record_decl_field_ => Shift(yy_state_1219) - T_RBRACE => Reduce(0, NT_list_semis_record_decl_field_, yy_action_303) - T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_350) + T_ATTRIBUTE => Shift(yy_state_853) + T_MUTABLE => Shift(yy_state_921) + T_PUB => Shift(yy_state_1034) + T_PRIV => Shift(yy_state_1040) + NT_option_MUTABLE_ => Shift(yy_state_1045) + NT_record_decl_field => Shift(yy_state_1227) + NT_non_empty_list_semi_rev_aux_record_decl_field_ => Shift(yy_state_1228) + T_FN => Shift(yy_state_1234) + T_ASYNC => Shift(yy_state_1241) + NT_non_empty_list_attribute_ => Shift(yy_state_1249) + NT_record_constr_decl => Shift(yy_state_1265) + NT_record_decl_body => Shift(yy_state_1267) + T_RBRACE => Reduce(0, NT_record_decl_body, yy_action_216) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) _ => Error } } ///| -fn yy_state_1219(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1227(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 1, + NT_non_empty_list_semi_rev_aux_record_decl_field_, + yy_action_215, + ) +} + +///| +fn yy_state_1228(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1220) + NT_option_SEMI_ => Shift(yy_state_1229) + T_SEMI => Shift(yy_state_1230) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) _ => Error } } ///| -fn yy_state_1220(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1229(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_record_decl_body, yy_action_214) +} + +///| +fn yy_state_1230(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1221) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_ATTRIBUTE => Shift(yy_state_853) + T_MUTABLE => Shift(yy_state_921) + T_PUB => Shift(yy_state_1034) + T_PRIV => Shift(yy_state_1040) + NT_option_MUTABLE_ => Shift(yy_state_1045) + NT_record_decl_field => Shift(yy_state_1231) + NT_record_constr_decl => Shift(yy_state_1232) + T_FN => Shift(yy_state_1234) + T_ASYNC => Shift(yy_state_1241) + NT_non_empty_list_attribute_ => Shift(yy_state_1249) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) + T_RBRACE => Reduce(1, NT_option_SEMI_, yy_action_810) _ => Error } } ///| -fn yy_state_1221(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1231(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead( + 3, + NT_non_empty_list_semi_rev_aux_record_decl_field_, + yy_action_213, + ) +} + +///| +fn yy_state_1232(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_SEMI => Shift(yy_state_230) + NT_option_SEMI_ => Shift(yy_state_1233) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) + _ => Error + } +} + +///| +fn yy_state_1233(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(4, NT_record_decl_body, yy_action_212) +} + +///| +fn yy_state_1234(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1235) + T_LIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) + _ => Error + } +} + +///| +fn yy_state_1235(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_1236) + _ => Error + } +} + +///| +fn yy_state_1236(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_1237) + _ => Error + } +} + +///| +fn yy_state_1237(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ASYNC => Shift(yy_state_52) + T_UNDERSCORE => Shift(yy_state_57) + T_AMPER => Shift(yy_state_58) + T_PACKAGE_NAME => Shift(yy_state_60) + T_UIDENT => Shift(yy_state_67) + T_LPAREN => Shift(yy_state_71) + NT_simple_type => Shift(yy_state_100) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) + NT_list_commas_trait_method_param_ => Shift(yy_state_1238) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) + _ => Error + } +} + +///| +fn yy_state_1238(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_1239) + _ => Error + } +} + +///| +fn yy_state_1239(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_error_annotation => Shift(yy_state_50) + T_THIN_ARROW => Shift(yy_state_51) + T_NORAISE => Shift(yy_state_83) + T_RAISE => Shift(yy_state_84) + NT_func_return_type => Shift(yy_state_1240) + T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) + _ => Error + } +} + +///| +fn yy_state_1240(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(7, NT_record_constr_decl, yy_action_211) +} + +///| +fn yy_state_1241(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FN => Shift(yy_state_1242) + _ => Error + } +} + +///| +fn yy_state_1242(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1243) + T_LIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) + _ => Error + } +} + +///| +fn yy_state_1243(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_1244) + _ => Error + } +} + +///| +fn yy_state_1244(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_1245) + _ => Error + } +} + +///| +fn yy_state_1245(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ASYNC => Shift(yy_state_52) + T_UNDERSCORE => Shift(yy_state_57) + T_AMPER => Shift(yy_state_58) + T_PACKAGE_NAME => Shift(yy_state_60) + T_UIDENT => Shift(yy_state_67) + T_LPAREN => Shift(yy_state_71) + NT_simple_type => Shift(yy_state_100) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) + NT_list_commas_trait_method_param_ => Shift(yy_state_1246) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) + _ => Error + } +} + +///| +fn yy_state_1246(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_1247) + _ => Error + } +} + +///| +fn yy_state_1247(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_error_annotation => Shift(yy_state_50) + T_THIN_ARROW => Shift(yy_state_51) + T_NORAISE => Shift(yy_state_83) + T_RAISE => Shift(yy_state_84) + NT_func_return_type => Shift(yy_state_1248) + T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) + _ => Error + } +} + +///| +fn yy_state_1248(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_record_constr_decl, yy_action_210) +} + +///| +fn yy_state_1249(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_MUTABLE => Shift(yy_state_921) + T_PUB => Shift(yy_state_1014) + T_PRIV => Shift(yy_state_1025) + NT_option_MUTABLE_ => Shift(yy_state_1030) + T_FN => Shift(yy_state_1250) + T_ASYNC => Shift(yy_state_1257) + T_LIDENT => Reduce(0, NT_option_MUTABLE_, yy_action_360) + _ => Error + } +} + +///| +fn yy_state_1250(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1251) + T_LIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) + _ => Error + } +} + +///| +fn yy_state_1251(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_1252) + _ => Error + } +} + +///| +fn yy_state_1252(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_1253) + _ => Error + } +} + +///| +fn yy_state_1253(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ASYNC => Shift(yy_state_52) + T_UNDERSCORE => Shift(yy_state_57) + T_AMPER => Shift(yy_state_58) + T_PACKAGE_NAME => Shift(yy_state_60) + T_UIDENT => Shift(yy_state_67) + T_LPAREN => Shift(yy_state_71) + NT_simple_type => Shift(yy_state_100) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) + NT_list_commas_trait_method_param_ => Shift(yy_state_1254) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) + _ => Error + } +} + +///| +fn yy_state_1254(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_1255) + _ => Error + } +} + +///| +fn yy_state_1255(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_error_annotation => Shift(yy_state_50) + T_THIN_ARROW => Shift(yy_state_51) + T_NORAISE => Shift(yy_state_83) + T_RAISE => Shift(yy_state_84) + NT_func_return_type => Shift(yy_state_1256) + T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) + _ => Error + } +} + +///| +fn yy_state_1256(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(8, NT_record_constr_decl, yy_action_209) +} + +///| +fn yy_state_1257(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_FN => Shift(yy_state_1258) + _ => Error + } +} + +///| +fn yy_state_1258(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1259) + T_LIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) + _ => Error + } +} + +///| +fn yy_state_1259(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LIDENT => Shift(yy_state_1260) + _ => Error + } +} + +///| +fn yy_state_1260(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_LPAREN => Shift(yy_state_1261) + _ => Error + } +} + +///| +fn yy_state_1261(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_ASYNC => Shift(yy_state_52) + T_UNDERSCORE => Shift(yy_state_57) + T_AMPER => Shift(yy_state_58) + T_PACKAGE_NAME => Shift(yy_state_60) + T_UIDENT => Shift(yy_state_67) + T_LPAREN => Shift(yy_state_71) + NT_simple_type => Shift(yy_state_100) + NT_trait_method_param => Shift(yy_state_1110) + NT_non_empty_list_commas_rev_trait_method_param_ => Shift(yy_state_1111) + T_POST_LABEL => Shift(yy_state_1115) + T_LIDENT => Shift(yy_state_1118) + NT_type_ => Shift(yy_state_1124) + NT_non_empty_list_commas_trait_method_param_ => Shift(yy_state_1125) + NT_list_commas_trait_method_param_ => Shift(yy_state_1262) + T_RPAREN => Reduce(0, NT_list_commas_trait_method_param_, yy_action_272) + _ => Error + } +} + +///| +fn yy_state_1262(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RPAREN => Shift(yy_state_1263) + _ => Error + } +} + +///| +fn yy_state_1263(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + NT_error_annotation => Shift(yy_state_50) + T_THIN_ARROW => Shift(yy_state_51) + T_NORAISE => Shift(yy_state_83) + T_RAISE => Shift(yy_state_84) + NT_func_return_type => Shift(yy_state_1264) + T_SEMI | T_RBRACE => Reduce(0, NT_func_return_type, yy_action_862) + _ => Error + } +} + +///| +fn yy_state_1264(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(9, NT_record_constr_decl, yy_action_208) +} + +///| +fn yy_state_1265(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_SEMI => Shift(yy_state_230) + NT_option_SEMI_ => Shift(yy_state_1266) + T_RBRACE => Reduce(0, NT_option_SEMI_, yy_action_812) + _ => Error + } +} + +///| +fn yy_state_1266(_lookahead : YYSymbol) -> YYDecision { + ReduceNoLookahead(2, NT_record_decl_body, yy_action_207) +} + +///| +fn yy_state_1267(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_RBRACE => Shift(yy_state_1268) + _ => Error + } +} + +///| +fn yy_state_1268(_lookahead : YYSymbol) -> YYDecision { + match _lookahead { + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1269) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) + _ => Error + } +} + +///| +fn yy_state_1269(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_206) } ///| -fn yy_state_1222(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1270(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46014,73 +47373,73 @@ fn yy_state_1222(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1223) - T_LBRACE => Shift(yy_state_1224) - NT_option_type__ => Shift(yy_state_1228) + NT_type_ => Shift(yy_state_1271) + T_LBRACE => Shift(yy_state_1272) + NT_option_type__ => Shift(yy_state_1276) T_EOF | T_DERIVE | T_SEMI => Reduce(0, NT_option_type__, yy_action_205) _ => Error } } ///| -fn yy_state_1223(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1271(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_option_type__, yy_action_204) } ///| -fn yy_state_1224(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1272(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_1225) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_1273) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_1225(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1273(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1226) + T_RBRACE => Shift(yy_state_1274) _ => Error } } ///| -fn yy_state_1226(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1274(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1227) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1275) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1227(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1275(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_203) } ///| -fn yy_state_1228(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1276(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1229) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1277) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1229(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1277(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_202) } ///| -fn yy_state_1230(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1278(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46089,17 +47448,17 @@ fn yy_state_1230(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - T_DERIVE => Shift(yy_state_973) - T_EQUAL => Shift(yy_state_1231) - NT_type_ => Shift(yy_state_1234) - NT_deriving_directive_list => Shift(yy_state_1236) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + T_EQUAL => Shift(yy_state_1279) + NT_type_ => Shift(yy_state_1282) + NT_deriving_directive_list => Shift(yy_state_1284) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1231(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1279(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46108,65 +47467,65 @@ fn yy_state_1231(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1232) + NT_type_ => Shift(yy_state_1280) _ => Error } } ///| -fn yy_state_1232(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1280(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1233) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1281) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1233(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1281(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_structure_item, yy_action_201) } ///| -fn yy_state_1234(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1282(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1235) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1283) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1235(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1283(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_200) } ///| -fn yy_state_1236(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1284(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(2, NT_structure_item, yy_action_199) } ///| -fn yy_state_1237(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1285(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1238) + T_UIDENT => Shift(yy_state_1286) _ => Error } } ///| -fn yy_state_1238(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1286(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1239) + T_COLON => Shift(yy_state_1287) T_EQUAL => Reduce(2, NT_val_header, yy_action_198) _ => Error } } ///| -fn yy_state_1239(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1287(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46175,35 +47534,35 @@ fn yy_state_1239(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1240) + NT_type_ => Shift(yy_state_1288) _ => Error } } ///| -fn yy_state_1240(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1288(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_val_header, yy_action_197) } ///| -fn yy_state_1241(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1289(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1242) + T_LIDENT => Shift(yy_state_1290) _ => Error } } ///| -fn yy_state_1242(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1290(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1243) + T_COLON => Shift(yy_state_1291) T_EQUAL => Reduce(2, NT_val_header, yy_action_196) _ => Error } } ///| -fn yy_state_1243(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1291(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46212,188 +47571,188 @@ fn yy_state_1243(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1244) + NT_type_ => Shift(yy_state_1292) _ => Error } } ///| -fn yy_state_1244(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1292(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_val_header, yy_action_195) } ///| -fn yy_state_1245(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1293(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_1246) - T_STRING => Shift(yy_state_1250) + T_TYPE => Shift(yy_state_1294) + T_STRING => Shift(yy_state_1298) _ => Error } } ///| -fn yy_state_1246(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1294(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1247) + T_UIDENT => Shift(yy_state_1295) _ => Error } } ///| -fn yy_state_1247(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1295(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1248) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1296) T_EOF | T_DERIVE | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1248(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1296(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1249) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1297) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1249(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1297(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_194) } ///| -fn yy_state_1250(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1298(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1251) + T_FN => Shift(yy_state_1299) _ => Error } } ///| -fn yy_state_1251(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1299(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_fun_binder => Shift(yy_state_1252) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) + NT_fun_binder => Shift(yy_state_1300) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) _ => Error } } ///| -fn yy_state_1252(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1300(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1253) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1301) T_RAISE | T_EQUAL | T_LPAREN | T_LBRACKET | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_optional_bang, yy_action_851) + Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1253(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1301(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1254) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1302) T_RAISE | T_EQUAL | T_LPAREN | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1254(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1302(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1255) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1303) T_RAISE | T_EQUAL | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1255(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1303(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1256) - T_EQUAL => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1304) + T_EQUAL => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1256(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1304(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_extern_fun_header, yy_action_193) } ///| -fn yy_state_1257(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1305(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_fun_binder, yy_action_192) } ///| -fn yy_state_1258(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1306(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLONCOLON => Shift(yy_state_1259) + T_COLONCOLON => Shift(yy_state_1307) _ => Error } } ///| -fn yy_state_1259(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1307(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1260) + T_LIDENT => Shift(yy_state_1308) _ => Error } } ///| -fn yy_state_1260(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1308(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_fun_binder, yy_action_191) } ///| -fn yy_state_1261(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1309(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - T_LBRACKET => Shift(yy_state_936) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) - NT_fun_binder => Shift(yy_state_1262) - NT_type_parameters => Shift(yy_state_1265) + T_LBRACKET => Shift(yy_state_944) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) + NT_fun_binder => Shift(yy_state_1310) + NT_type_parameters => Shift(yy_state_1313) _ => Error } } ///| -fn yy_state_1262(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1310(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1263) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1311) T_EOF | T_RAISE | T_EQUAL @@ -46402,18 +47761,18 @@ fn yy_state_1262(_lookahead : YYSymbol) -> YYDecision { | T_LBRACKET | T_LBRACE | T_THIN_ARROW - | T_NORAISE => Reduce(0, NT_optional_bang, yy_action_851) + | T_NORAISE => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1263(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1311(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1264) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1312) T_EOF | T_RAISE | T_EQUAL @@ -46421,35 +47780,35 @@ fn yy_state_1263(_lookahead : YYSymbol) -> YYDecision { | T_SEMI | T_LBRACE | T_THIN_ARROW - | T_NORAISE => Reduce(0, NT_option_type_parameters_, yy_action_356) + | T_NORAISE => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1264(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1312(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_fun_header_generic, yy_action_190) } ///| -fn yy_state_1265(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1313(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) - NT_fun_binder => Shift(yy_state_1266) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) + NT_fun_binder => Shift(yy_state_1314) _ => Error } } ///| -fn yy_state_1266(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1314(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1267) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1315) T_EOF | T_RAISE | T_EQUAL @@ -46457,62 +47816,62 @@ fn yy_state_1266(_lookahead : YYSymbol) -> YYDecision { | T_SEMI | T_LBRACE | T_THIN_ARROW - | T_NORAISE => Reduce(0, NT_optional_bang, yy_action_851) + | T_NORAISE => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1267(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1315(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_fun_header_generic, yy_action_189) } ///| -fn yy_state_1268(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1316(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_SUBERROR => Shift(yy_state_1269) - T_TYPE => Shift(yy_state_1271) - T_IMPL => Shift(yy_state_1274) - T_TRAIT => Shift(yy_state_1279) - T_CONST => Shift(yy_state_1285) - T_LET => Shift(yy_state_1289) - T_PUB => Shift(yy_state_1293) - T_PRIV => Shift(yy_state_1326) - NT_fun_header_generic => Shift(yy_state_1358) - T_ASYNC => Shift(yy_state_1361) + T_FN => Shift(yy_state_1309) + T_SUBERROR => Shift(yy_state_1317) + T_TYPE => Shift(yy_state_1319) + T_IMPL => Shift(yy_state_1322) + T_TRAIT => Shift(yy_state_1327) + T_CONST => Shift(yy_state_1333) + T_LET => Shift(yy_state_1337) + T_PUB => Shift(yy_state_1341) + T_PRIV => Shift(yy_state_1374) + NT_fun_header_generic => Shift(yy_state_1406) + T_ASYNC => Shift(yy_state_1409) _ => Error } } ///| -fn yy_state_1269(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1317(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1270) + T_UIDENT => Shift(yy_state_1318) _ => Error } } ///| -fn yy_state_1270(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1318(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_suberror_header, yy_action_188) } ///| -fn yy_state_1271(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1319(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1272) + T_UIDENT => Shift(yy_state_1320) _ => Error } } ///| -fn yy_state_1272(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1320(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1273) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1321) T_UIDENT | T_EOF | T_DERIVE @@ -46526,52 +47885,52 @@ fn yy_state_1272(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1273(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1321(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_type_header, yy_action_187) } ///| -fn yy_state_1274(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1322(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1275) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1323) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1275(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1323(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1276) + NT_type_name => Shift(yy_state_1324) _ => Error } } ///| -fn yy_state_1276(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1324(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1277) + T_FOR => Shift(yy_state_1325) _ => Error } } ///| -fn yy_state_1277(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1325(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46580,95 +47939,95 @@ fn yy_state_1277(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1278) + NT_type_ => Shift(yy_state_1326) _ => Error } } ///| -fn yy_state_1278(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1326(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_186) } ///| -fn yy_state_1279(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1327(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1280) + T_UIDENT => Shift(yy_state_1328) _ => Error } } ///| -fn yy_state_1280(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1328(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1281) + Shift(yy_state_1329) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1281(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1329(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1282) + T_LBRACE => Shift(yy_state_1330) _ => Error } } ///| -fn yy_state_1282(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1330(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1283) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1331) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1283(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1331(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1284) + T_RBRACE => Shift(yy_state_1332) _ => Error } } ///| -fn yy_state_1284(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1332(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_185) } ///| -fn yy_state_1285(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1333(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1286) + T_UIDENT => Shift(yy_state_1334) _ => Error } } ///| -fn yy_state_1286(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1334(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1287) + T_COLON => Shift(yy_state_1335) T_EQUAL => Reduce(3, NT_val_header, yy_action_184) _ => Error } } ///| -fn yy_state_1287(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1335(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46677,35 +48036,35 @@ fn yy_state_1287(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1288) + NT_type_ => Shift(yy_state_1336) _ => Error } } ///| -fn yy_state_1288(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1336(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_val_header, yy_action_183) } ///| -fn yy_state_1289(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1337(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1290) + T_LIDENT => Shift(yy_state_1338) _ => Error } } ///| -fn yy_state_1290(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1338(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1291) + T_COLON => Shift(yy_state_1339) T_EQUAL => Reduce(3, NT_val_header, yy_action_182) _ => Error } } ///| -fn yy_state_1291(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1339(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46714,71 +48073,71 @@ fn yy_state_1291(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1292) + NT_type_ => Shift(yy_state_1340) _ => Error } } ///| -fn yy_state_1292(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1340(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_val_header, yy_action_181) } ///| -fn yy_state_1293(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1341(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1012) - NT_pub_attr => Shift(yy_state_1294) + T_LPAREN => Shift(yy_state_1020) + NT_pub_attr => Shift(yy_state_1342) T_TRAIT | T_IMPL | T_ASYNC | T_FN | T_LET | T_CONST | T_TYPE | T_SUBERROR => - Reduce(0, NT_pub_attr, yy_action_300) + Reduce(0, NT_pub_attr, yy_action_310) _ => Error } } ///| -fn yy_state_1294(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1342(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_SUBERROR => Shift(yy_state_1295) - T_TYPE => Shift(yy_state_1297) - T_IMPL => Shift(yy_state_1300) - T_TRAIT => Shift(yy_state_1305) - T_CONST => Shift(yy_state_1311) - T_LET => Shift(yy_state_1315) - NT_fun_header_generic => Shift(yy_state_1319) - T_ASYNC => Shift(yy_state_1322) + T_FN => Shift(yy_state_1309) + T_SUBERROR => Shift(yy_state_1343) + T_TYPE => Shift(yy_state_1345) + T_IMPL => Shift(yy_state_1348) + T_TRAIT => Shift(yy_state_1353) + T_CONST => Shift(yy_state_1359) + T_LET => Shift(yy_state_1363) + NT_fun_header_generic => Shift(yy_state_1367) + T_ASYNC => Shift(yy_state_1370) _ => Error } } ///| -fn yy_state_1295(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1343(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1296) + T_UIDENT => Shift(yy_state_1344) _ => Error } } ///| -fn yy_state_1296(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1344(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_suberror_header, yy_action_180) } ///| -fn yy_state_1297(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1345(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1298) + T_UIDENT => Shift(yy_state_1346) _ => Error } } ///| -fn yy_state_1298(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1346(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1299) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1347) T_UIDENT | T_EOF | T_DERIVE @@ -46792,52 +48151,52 @@ fn yy_state_1298(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1299(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1347(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_type_header, yy_action_179) } ///| -fn yy_state_1300(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1348(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1301) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1349) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1301(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1349(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1302) + NT_type_name => Shift(yy_state_1350) _ => Error } } ///| -fn yy_state_1302(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1350(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1303) + T_FOR => Shift(yy_state_1351) _ => Error } } ///| -fn yy_state_1303(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1351(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46846,95 +48205,95 @@ fn yy_state_1303(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1304) + NT_type_ => Shift(yy_state_1352) _ => Error } } ///| -fn yy_state_1304(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1352(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_178) } ///| -fn yy_state_1305(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1353(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1306) + T_UIDENT => Shift(yy_state_1354) _ => Error } } ///| -fn yy_state_1306(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1354(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1307) + Shift(yy_state_1355) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1307(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1355(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1308) + T_LBRACE => Shift(yy_state_1356) _ => Error } } ///| -fn yy_state_1308(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1356(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1309) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1357) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1309(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1357(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1310) + T_RBRACE => Shift(yy_state_1358) _ => Error } } ///| -fn yy_state_1310(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1358(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(9, NT_structure_item, yy_action_177) } ///| -fn yy_state_1311(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1359(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1312) + T_UIDENT => Shift(yy_state_1360) _ => Error } } ///| -fn yy_state_1312(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1360(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1313) + T_COLON => Shift(yy_state_1361) T_EQUAL => Reduce(5, NT_val_header, yy_action_176) _ => Error } } ///| -fn yy_state_1313(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1361(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46943,35 +48302,35 @@ fn yy_state_1313(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1314) + NT_type_ => Shift(yy_state_1362) _ => Error } } ///| -fn yy_state_1314(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1362(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_val_header, yy_action_175) } ///| -fn yy_state_1315(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1363(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1316) + T_LIDENT => Shift(yy_state_1364) _ => Error } } ///| -fn yy_state_1316(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1364(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1317) + T_COLON => Shift(yy_state_1365) T_EQUAL => Reduce(5, NT_val_header, yy_action_174) _ => Error } } ///| -fn yy_state_1317(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1365(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -46980,129 +48339,129 @@ fn yy_state_1317(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1318) + NT_type_ => Shift(yy_state_1366) _ => Error } } ///| -fn yy_state_1318(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1366(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_val_header, yy_action_173) } ///| -fn yy_state_1319(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1367(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1320) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1368) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1320(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1368(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1321) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1369) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1321(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1369(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_declare_fun_header, yy_action_172) } ///| -fn yy_state_1322(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1370(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1323) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1371) _ => Error } } ///| -fn yy_state_1323(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1371(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1324) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1372) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1324(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1372(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1325) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1373) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1325(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1373(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_declare_fun_header, yy_action_171) } ///| -fn yy_state_1326(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1374(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_SUBERROR => Shift(yy_state_1327) - T_TYPE => Shift(yy_state_1329) - T_IMPL => Shift(yy_state_1332) - T_TRAIT => Shift(yy_state_1337) - T_CONST => Shift(yy_state_1343) - T_LET => Shift(yy_state_1347) - NT_fun_header_generic => Shift(yy_state_1351) - T_ASYNC => Shift(yy_state_1354) + T_FN => Shift(yy_state_1309) + T_SUBERROR => Shift(yy_state_1375) + T_TYPE => Shift(yy_state_1377) + T_IMPL => Shift(yy_state_1380) + T_TRAIT => Shift(yy_state_1385) + T_CONST => Shift(yy_state_1391) + T_LET => Shift(yy_state_1395) + NT_fun_header_generic => Shift(yy_state_1399) + T_ASYNC => Shift(yy_state_1402) _ => Error } } ///| -fn yy_state_1327(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1375(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1328) + T_UIDENT => Shift(yy_state_1376) _ => Error } } ///| -fn yy_state_1328(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1376(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_suberror_header, yy_action_170) } ///| -fn yy_state_1329(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1377(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1330) + T_UIDENT => Shift(yy_state_1378) _ => Error } } ///| -fn yy_state_1330(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1378(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1331) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1379) T_UIDENT | T_EOF | T_DERIVE @@ -47116,52 +48475,52 @@ fn yy_state_1330(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1331(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1379(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_type_header, yy_action_169) } ///| -fn yy_state_1332(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1380(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1333) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1381) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1333(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1381(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1334) + NT_type_name => Shift(yy_state_1382) _ => Error } } ///| -fn yy_state_1334(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1382(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1335) + T_FOR => Shift(yy_state_1383) _ => Error } } ///| -fn yy_state_1335(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1383(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -47170,95 +48529,95 @@ fn yy_state_1335(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1336) + NT_type_ => Shift(yy_state_1384) _ => Error } } ///| -fn yy_state_1336(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1384(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_168) } ///| -fn yy_state_1337(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1385(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1338) + T_UIDENT => Shift(yy_state_1386) _ => Error } } ///| -fn yy_state_1338(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1386(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1339) + Shift(yy_state_1387) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1339(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1387(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1340) + T_LBRACE => Shift(yy_state_1388) _ => Error } } ///| -fn yy_state_1340(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1388(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1341) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1389) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1341(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1389(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1342) + T_RBRACE => Shift(yy_state_1390) _ => Error } } ///| -fn yy_state_1342(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1390(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_167) } ///| -fn yy_state_1343(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1391(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1344) + T_UIDENT => Shift(yy_state_1392) _ => Error } } ///| -fn yy_state_1344(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1392(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1345) + T_COLON => Shift(yy_state_1393) T_EQUAL => Reduce(4, NT_val_header, yy_action_166) _ => Error } } ///| -fn yy_state_1345(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1393(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -47267,35 +48626,35 @@ fn yy_state_1345(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1346) + NT_type_ => Shift(yy_state_1394) _ => Error } } ///| -fn yy_state_1346(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1394(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_165) } ///| -fn yy_state_1347(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1395(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1348) + T_LIDENT => Shift(yy_state_1396) _ => Error } } ///| -fn yy_state_1348(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1396(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1349) + T_COLON => Shift(yy_state_1397) T_EQUAL => Reduce(4, NT_val_header, yy_action_164) _ => Error } } ///| -fn yy_state_1349(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1397(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -47304,270 +48663,270 @@ fn yy_state_1349(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1350) + NT_type_ => Shift(yy_state_1398) _ => Error } } ///| -fn yy_state_1350(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1398(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_163) } ///| -fn yy_state_1351(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1399(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1352) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1400) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1352(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1400(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1353) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1401) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1353(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1401(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_declare_fun_header, yy_action_162) } ///| -fn yy_state_1354(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1402(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1355) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1403) _ => Error } } ///| -fn yy_state_1355(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1403(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1356) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1404) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1356(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1404(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1357) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1405) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1357(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1405(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_declare_fun_header, yy_action_161) } ///| -fn yy_state_1358(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1406(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1359) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1407) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1359(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1407(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1360) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1408) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1360(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1408(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_declare_fun_header, yy_action_160) } ///| -fn yy_state_1361(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1409(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1362) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1410) _ => Error } } ///| -fn yy_state_1362(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1410(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1363) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1411) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1363(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1411(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1364) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1412) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1364(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1412(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_declare_fun_header, yy_action_159) } ///| -fn yy_state_1365(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1413(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_ENUM => Shift(yy_state_1366) - T_STRUCT => Shift(yy_state_1369) - T_SUBERROR => Shift(yy_state_1372) - T_TYPE => Shift(yy_state_1374) - T_USING => Shift(yy_state_1377) - T_ENUMVIEW => Shift(yy_state_1382) - T_IMPL => Shift(yy_state_1394) - T_TEST => Shift(yy_state_1411) - T_TRAITALIAS => Shift(yy_state_1415) - T_TYPEALIAS => Shift(yy_state_1417) - T_TRAIT => Shift(yy_state_1423) - T_FNALIAS => Shift(yy_state_1429) - T_CONST => Shift(yy_state_1431) - T_LET => Shift(yy_state_1435) - T_EXTERN => Shift(yy_state_1439) - T_DECLARE => Shift(yy_state_1451) - T_PUB => Shift(yy_state_1548) - T_PRIV => Shift(yy_state_1638) - NT_fun_header_generic => Shift(yy_state_1727) - T_ASYNC => Shift(yy_state_1730) + T_FN => Shift(yy_state_1309) + T_ENUM => Shift(yy_state_1414) + T_STRUCT => Shift(yy_state_1417) + T_SUBERROR => Shift(yy_state_1420) + T_TYPE => Shift(yy_state_1422) + T_USING => Shift(yy_state_1425) + T_ENUMVIEW => Shift(yy_state_1430) + T_IMPL => Shift(yy_state_1442) + T_TEST => Shift(yy_state_1459) + T_TRAITALIAS => Shift(yy_state_1463) + T_TYPEALIAS => Shift(yy_state_1465) + T_TRAIT => Shift(yy_state_1471) + T_FNALIAS => Shift(yy_state_1477) + T_CONST => Shift(yy_state_1479) + T_LET => Shift(yy_state_1483) + T_EXTERN => Shift(yy_state_1487) + T_DECLARE => Shift(yy_state_1499) + T_PUB => Shift(yy_state_1596) + T_PRIV => Shift(yy_state_1686) + NT_fun_header_generic => Shift(yy_state_1775) + T_ASYNC => Shift(yy_state_1778) _ => Error } } ///| -fn yy_state_1366(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1414(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1367) + T_UIDENT => Shift(yy_state_1415) _ => Error } } ///| -fn yy_state_1367(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1415(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1368) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1416) T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1368(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1416(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_enum_header, yy_action_158) } ///| -fn yy_state_1369(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1417(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1370) + T_UIDENT => Shift(yy_state_1418) _ => Error } } ///| -fn yy_state_1370(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1418(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1371) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1419) T_LPAREN | T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1371(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1419(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_struct_header, yy_action_157) } ///| -fn yy_state_1372(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1420(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1373) + T_UIDENT => Shift(yy_state_1421) _ => Error } } ///| -fn yy_state_1373(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1421(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_suberror_header, yy_action_156) } ///| -fn yy_state_1374(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1422(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1375) + T_UIDENT => Shift(yy_state_1423) _ => Error } } ///| -fn yy_state_1375(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1423(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1376) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1424) T_UIDENT | T_EOF | T_DERIVE @@ -47581,122 +48940,122 @@ fn yy_state_1375(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1376(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1424(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_type_header, yy_action_155) } ///| -fn yy_state_1377(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1425(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_1378) + T_PACKAGE_NAME => Shift(yy_state_1426) _ => Error } } ///| -fn yy_state_1378(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1426(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1379) + T_LBRACE => Shift(yy_state_1427) _ => Error } } ///| -fn yy_state_1379(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1427(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_using_binder => Shift(yy_state_872) - NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_873) - T_TRAIT => Shift(yy_state_877) - T_TYPE => Shift(yy_state_881) - T_UIDENT => Shift(yy_state_885) - T_LIDENT => Shift(yy_state_888) - NT_non_empty_list_commas_using_binder_ => Shift(yy_state_891) - NT_list_commas_using_binder_ => Shift(yy_state_1380) - T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_370) + NT_using_binder => Shift(yy_state_880) + NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_881) + T_TRAIT => Shift(yy_state_885) + T_TYPE => Shift(yy_state_889) + T_UIDENT => Shift(yy_state_893) + T_LIDENT => Shift(yy_state_896) + NT_non_empty_list_commas_using_binder_ => Shift(yy_state_899) + NT_list_commas_using_binder_ => Shift(yy_state_1428) + T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_380) _ => Error } } ///| -fn yy_state_1380(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1428(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1381) + T_RBRACE => Shift(yy_state_1429) _ => Error } } ///| -fn yy_state_1381(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1429(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_154) } ///| -fn yy_state_1382(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1430(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1383) - T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1431) + T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1383(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1431(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1384) + T_UIDENT => Shift(yy_state_1432) _ => Error } } ///| -fn yy_state_1384(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1432(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1385) + T_LBRACE => Shift(yy_state_1433) _ => Error } } ///| -fn yy_state_1385(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1433(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_1386) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_1434) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_1386(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1434(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1387) + T_RBRACE => Shift(yy_state_1435) _ => Error } } ///| -fn yy_state_1387(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1435(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1388) + T_FOR => Shift(yy_state_1436) _ => Error } } ///| -fn yy_state_1388(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1436(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -47705,142 +49064,142 @@ fn yy_state_1388(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1389) + NT_type_ => Shift(yy_state_1437) _ => Error } } ///| -fn yy_state_1389(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1437(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1390) + T_WITH => Shift(yy_state_1438) _ => Error } } ///| -fn yy_state_1390(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1438(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1391) + T_LIDENT => Shift(yy_state_1439) _ => Error } } ///| -fn yy_state_1391(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1439(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1392) + NT_parameters => Shift(yy_state_1440) _ => Error } } ///| -fn yy_state_1392(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1440(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_1393) + NT_block_expr => Shift(yy_state_1441) _ => Error } } ///| -fn yy_state_1393(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1441(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(13, NT_structure_item, yy_action_153) } ///| -fn yy_state_1394(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1442(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1395) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1443) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1395(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1443(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1396) + NT_type_name => Shift(yy_state_1444) _ => Error } } ///| -fn yy_state_1396(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1444(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1397) - T_FOR => Shift(yy_state_1403) + T_WITH => Shift(yy_state_1445) + T_FOR => Shift(yy_state_1451) _ => Error } } ///| -fn yy_state_1397(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1445(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1398) + T_LIDENT => Shift(yy_state_1446) _ => Error } } ///| -fn yy_state_1398(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1446(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1399) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1447) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1399(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1447(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1400) + NT_parameters => Shift(yy_state_1448) _ => Error } } ///| -fn yy_state_1400(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1448(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1401) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1449) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1401(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1449(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1402) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1450) _ => Error } } ///| -fn yy_state_1402(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1450(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(10, NT_structure_item, yy_action_152) } ///| -fn yy_state_1403(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1451(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -47849,287 +49208,287 @@ fn yy_state_1403(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1404) + NT_type_ => Shift(yy_state_1452) _ => Error } } ///| -fn yy_state_1404(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1452(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1405) + T_WITH => Shift(yy_state_1453) T_EOF | T_SEMI => Reduce(6, NT_structure_item, yy_action_151) _ => Error } } ///| -fn yy_state_1405(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1453(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1406) + T_LIDENT => Shift(yy_state_1454) _ => Error } } ///| -fn yy_state_1406(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1454(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1407) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1455) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1407(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1455(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1408) + NT_parameters => Shift(yy_state_1456) _ => Error } } ///| -fn yy_state_1408(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1456(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1409) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1457) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1409(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1457(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1410) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1458) _ => Error } } ///| -fn yy_state_1410(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1458(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(12, NT_structure_item, yy_action_150) } ///| -fn yy_state_1411(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1459(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_1054) - NT_option_loced_string_ => Shift(yy_state_1412) - T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_287) + T_STRING => Shift(yy_state_1062) + NT_option_loced_string_ => Shift(yy_state_1460) + T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_297) _ => Error } } ///| -fn yy_state_1412(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1460(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1413) - T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_284) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1461) + T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1413(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1461(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_963) - NT_block_expr_with_local_types => Shift(yy_state_1414) + T_LBRACE => Shift(yy_state_971) + NT_block_expr_with_local_types => Shift(yy_state_1462) _ => Error } } ///| -fn yy_state_1414(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1462(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_149) } ///| -fn yy_state_1415(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1463(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_PACKAGE_NAME => Shift(yy_state_1064) - NT_batch_type_alias_targets => Shift(yy_state_1416) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_PACKAGE_NAME => Shift(yy_state_1072) + NT_batch_type_alias_targets => Shift(yy_state_1464) _ => Error } } ///| -fn yy_state_1416(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1464(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_148) } ///| -fn yy_state_1417(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1465(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) T_AMPER => Shift(yy_state_58) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_UIDENT => Shift(yy_state_1079) - T_PACKAGE_NAME => Shift(yy_state_1080) - NT_type_ => Shift(yy_state_1418) - NT_batch_type_alias_targets => Shift(yy_state_1422) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_UIDENT => Shift(yy_state_1087) + T_PACKAGE_NAME => Shift(yy_state_1088) + NT_type_ => Shift(yy_state_1466) + NT_batch_type_alias_targets => Shift(yy_state_1470) _ => Error } } ///| -fn yy_state_1418(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1466(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1419) + T_AS => Shift(yy_state_1467) _ => Error } } ///| -fn yy_state_1419(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1467(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1420) + T_UIDENT => Shift(yy_state_1468) _ => Error } } ///| -fn yy_state_1420(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1468(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1421) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1469) T_EOF | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1421(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1469(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_147) } ///| -fn yy_state_1422(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1470(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_146) } ///| -fn yy_state_1423(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1471(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1424) + T_UIDENT => Shift(yy_state_1472) _ => Error } } ///| -fn yy_state_1424(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1472(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1425) + Shift(yy_state_1473) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1425(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1473(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1426) + T_LBRACE => Shift(yy_state_1474) _ => Error } } ///| -fn yy_state_1426(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1474(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1427) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1475) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1427(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1475(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1428) + T_RBRACE => Shift(yy_state_1476) _ => Error } } ///| -fn yy_state_1428(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1476(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_145) } ///| -fn yy_state_1429(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1477(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1155) - T_LIDENT => Shift(yy_state_1157) - NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1162) - T_PACKAGE_NAME => Shift(yy_state_1172) - NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1187) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1189) - NT_func_alias_targets => Shift(yy_state_1430) + T_UIDENT => Shift(yy_state_1163) + T_LIDENT => Shift(yy_state_1165) + NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1170) + T_PACKAGE_NAME => Shift(yy_state_1180) + NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1195) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1197) + NT_func_alias_targets => Shift(yy_state_1478) T_LPAREN => - Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_243) + Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_253) _ => Error } } ///| -fn yy_state_1430(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1478(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_144) } ///| -fn yy_state_1431(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1479(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1432) + T_UIDENT => Shift(yy_state_1480) _ => Error } } ///| -fn yy_state_1432(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1480(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1433) + T_COLON => Shift(yy_state_1481) T_EQUAL => Reduce(3, NT_val_header, yy_action_143) _ => Error } } ///| -fn yy_state_1433(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1481(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48138,35 +49497,35 @@ fn yy_state_1433(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1434) + NT_type_ => Shift(yy_state_1482) _ => Error } } ///| -fn yy_state_1434(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1482(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_val_header, yy_action_142) } ///| -fn yy_state_1435(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1483(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1436) + T_LIDENT => Shift(yy_state_1484) _ => Error } } ///| -fn yy_state_1436(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1484(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1437) + T_COLON => Shift(yy_state_1485) T_EQUAL => Reduce(3, NT_val_header, yy_action_141) _ => Error } } ///| -fn yy_state_1437(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1485(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48175,187 +49534,187 @@ fn yy_state_1437(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1438) + NT_type_ => Shift(yy_state_1486) _ => Error } } ///| -fn yy_state_1438(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1486(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_val_header, yy_action_140) } ///| -fn yy_state_1439(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1487(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_1440) - T_STRING => Shift(yy_state_1444) + T_TYPE => Shift(yy_state_1488) + T_STRING => Shift(yy_state_1492) _ => Error } } ///| -fn yy_state_1440(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1488(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1441) + T_UIDENT => Shift(yy_state_1489) _ => Error } } ///| -fn yy_state_1441(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1489(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1442) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1490) T_EOF | T_DERIVE | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1442(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1490(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1443) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1491) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1443(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1491(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_139) } ///| -fn yy_state_1444(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1492(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1445) + T_FN => Shift(yy_state_1493) _ => Error } } ///| -fn yy_state_1445(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1493(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) - NT_fun_binder => Shift(yy_state_1446) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) + NT_fun_binder => Shift(yy_state_1494) _ => Error } } ///| -fn yy_state_1446(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1494(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1447) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1495) T_RAISE | T_EQUAL | T_LPAREN | T_LBRACKET | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_optional_bang, yy_action_851) + Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1447(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1495(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1448) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1496) T_RAISE | T_EQUAL | T_LPAREN | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1448(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1496(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1449) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1497) T_RAISE | T_EQUAL | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1449(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1497(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1450) - T_EQUAL => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1498) + T_EQUAL => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1450(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1498(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(9, NT_extern_fun_header, yy_action_138) } ///| -fn yy_state_1451(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1499(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_SUBERROR => Shift(yy_state_1452) - T_TYPE => Shift(yy_state_1454) - T_IMPL => Shift(yy_state_1457) - T_TRAIT => Shift(yy_state_1462) - T_CONST => Shift(yy_state_1468) - T_LET => Shift(yy_state_1472) - T_PUB => Shift(yy_state_1476) - T_PRIV => Shift(yy_state_1509) - NT_fun_header_generic => Shift(yy_state_1541) - T_ASYNC => Shift(yy_state_1544) + T_FN => Shift(yy_state_1309) + T_SUBERROR => Shift(yy_state_1500) + T_TYPE => Shift(yy_state_1502) + T_IMPL => Shift(yy_state_1505) + T_TRAIT => Shift(yy_state_1510) + T_CONST => Shift(yy_state_1516) + T_LET => Shift(yy_state_1520) + T_PUB => Shift(yy_state_1524) + T_PRIV => Shift(yy_state_1557) + NT_fun_header_generic => Shift(yy_state_1589) + T_ASYNC => Shift(yy_state_1592) _ => Error } } ///| -fn yy_state_1452(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1500(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1453) + T_UIDENT => Shift(yy_state_1501) _ => Error } } ///| -fn yy_state_1453(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1501(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_suberror_header, yy_action_137) } ///| -fn yy_state_1454(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1502(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1455) + T_UIDENT => Shift(yy_state_1503) _ => Error } } ///| -fn yy_state_1455(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1503(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1456) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1504) T_UIDENT | T_EOF | T_DERIVE @@ -48369,52 +49728,52 @@ fn yy_state_1455(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1456(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1504(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_type_header, yy_action_136) } ///| -fn yy_state_1457(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1505(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1458) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1506) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1458(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1506(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1459) + NT_type_name => Shift(yy_state_1507) _ => Error } } ///| -fn yy_state_1459(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1507(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1460) + T_FOR => Shift(yy_state_1508) _ => Error } } ///| -fn yy_state_1460(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1508(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48423,95 +49782,95 @@ fn yy_state_1460(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1461) + NT_type_ => Shift(yy_state_1509) _ => Error } } ///| -fn yy_state_1461(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1509(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_135) } ///| -fn yy_state_1462(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1510(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1463) + T_UIDENT => Shift(yy_state_1511) _ => Error } } ///| -fn yy_state_1463(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1511(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1464) + Shift(yy_state_1512) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1464(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1512(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1465) + T_LBRACE => Shift(yy_state_1513) _ => Error } } ///| -fn yy_state_1465(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1513(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1466) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1514) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1466(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1514(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1467) + T_RBRACE => Shift(yy_state_1515) _ => Error } } ///| -fn yy_state_1467(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1515(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_134) } ///| -fn yy_state_1468(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1516(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1469) + T_UIDENT => Shift(yy_state_1517) _ => Error } } ///| -fn yy_state_1469(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1517(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1470) + T_COLON => Shift(yy_state_1518) T_EQUAL => Reduce(4, NT_val_header, yy_action_133) _ => Error } } ///| -fn yy_state_1470(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1518(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48520,35 +49879,35 @@ fn yy_state_1470(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1471) + NT_type_ => Shift(yy_state_1519) _ => Error } } ///| -fn yy_state_1471(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1519(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_132) } ///| -fn yy_state_1472(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1520(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1473) + T_LIDENT => Shift(yy_state_1521) _ => Error } } ///| -fn yy_state_1473(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1521(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1474) + T_COLON => Shift(yy_state_1522) T_EQUAL => Reduce(4, NT_val_header, yy_action_131) _ => Error } } ///| -fn yy_state_1474(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1522(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48557,71 +49916,71 @@ fn yy_state_1474(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1475) + NT_type_ => Shift(yy_state_1523) _ => Error } } ///| -fn yy_state_1475(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1523(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_130) } ///| -fn yy_state_1476(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1524(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1012) - NT_pub_attr => Shift(yy_state_1477) + T_LPAREN => Shift(yy_state_1020) + NT_pub_attr => Shift(yy_state_1525) T_TRAIT | T_IMPL | T_ASYNC | T_FN | T_LET | T_CONST | T_TYPE | T_SUBERROR => - Reduce(0, NT_pub_attr, yy_action_300) + Reduce(0, NT_pub_attr, yy_action_310) _ => Error } } ///| -fn yy_state_1477(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1525(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_SUBERROR => Shift(yy_state_1478) - T_TYPE => Shift(yy_state_1480) - T_IMPL => Shift(yy_state_1483) - T_TRAIT => Shift(yy_state_1488) - T_CONST => Shift(yy_state_1494) - T_LET => Shift(yy_state_1498) - NT_fun_header_generic => Shift(yy_state_1502) - T_ASYNC => Shift(yy_state_1505) + T_FN => Shift(yy_state_1309) + T_SUBERROR => Shift(yy_state_1526) + T_TYPE => Shift(yy_state_1528) + T_IMPL => Shift(yy_state_1531) + T_TRAIT => Shift(yy_state_1536) + T_CONST => Shift(yy_state_1542) + T_LET => Shift(yy_state_1546) + NT_fun_header_generic => Shift(yy_state_1550) + T_ASYNC => Shift(yy_state_1553) _ => Error } } ///| -fn yy_state_1478(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1526(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1479) + T_UIDENT => Shift(yy_state_1527) _ => Error } } ///| -fn yy_state_1479(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1527(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_suberror_header, yy_action_129) } ///| -fn yy_state_1480(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1528(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1481) + T_UIDENT => Shift(yy_state_1529) _ => Error } } ///| -fn yy_state_1481(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1529(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1482) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1530) T_UIDENT | T_EOF | T_DERIVE @@ -48635,52 +49994,52 @@ fn yy_state_1481(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1482(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1530(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_type_header, yy_action_128) } ///| -fn yy_state_1483(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1531(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1484) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1532) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1484(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1532(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1485) + NT_type_name => Shift(yy_state_1533) _ => Error } } ///| -fn yy_state_1485(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1533(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1486) + T_FOR => Shift(yy_state_1534) _ => Error } } ///| -fn yy_state_1486(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1534(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48689,95 +50048,95 @@ fn yy_state_1486(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1487) + NT_type_ => Shift(yy_state_1535) _ => Error } } ///| -fn yy_state_1487(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1535(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(9, NT_structure_item, yy_action_127) } ///| -fn yy_state_1488(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1536(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1489) + T_UIDENT => Shift(yy_state_1537) _ => Error } } ///| -fn yy_state_1489(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1537(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1490) + Shift(yy_state_1538) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1490(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1538(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1491) + T_LBRACE => Shift(yy_state_1539) _ => Error } } ///| -fn yy_state_1491(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1539(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1492) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1540) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1492(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1540(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1493) + T_RBRACE => Shift(yy_state_1541) _ => Error } } ///| -fn yy_state_1493(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1541(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(10, NT_structure_item, yy_action_126) } ///| -fn yy_state_1494(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1542(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1495) + T_UIDENT => Shift(yy_state_1543) _ => Error } } ///| -fn yy_state_1495(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1543(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1496) + T_COLON => Shift(yy_state_1544) T_EQUAL => Reduce(6, NT_val_header, yy_action_125) _ => Error } } ///| -fn yy_state_1496(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1544(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48786,35 +50145,35 @@ fn yy_state_1496(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1497) + NT_type_ => Shift(yy_state_1545) _ => Error } } ///| -fn yy_state_1497(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1545(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_val_header, yy_action_124) } ///| -fn yy_state_1498(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1546(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1499) + T_LIDENT => Shift(yy_state_1547) _ => Error } } ///| -fn yy_state_1499(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1547(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1500) + T_COLON => Shift(yy_state_1548) T_EQUAL => Reduce(6, NT_val_header, yy_action_123) _ => Error } } ///| -fn yy_state_1500(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1548(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -48823,129 +50182,129 @@ fn yy_state_1500(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1501) + NT_type_ => Shift(yy_state_1549) _ => Error } } ///| -fn yy_state_1501(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1549(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_val_header, yy_action_122) } ///| -fn yy_state_1502(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1550(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1503) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1551) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1503(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1551(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1504) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1552) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1504(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1552(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_declare_fun_header, yy_action_121) } ///| -fn yy_state_1505(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1553(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1506) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1554) _ => Error } } ///| -fn yy_state_1506(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1554(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1507) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1555) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1507(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1555(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1508) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1556) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1508(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1556(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_declare_fun_header, yy_action_120) } ///| -fn yy_state_1509(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1557(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_SUBERROR => Shift(yy_state_1510) - T_TYPE => Shift(yy_state_1512) - T_IMPL => Shift(yy_state_1515) - T_TRAIT => Shift(yy_state_1520) - T_CONST => Shift(yy_state_1526) - T_LET => Shift(yy_state_1530) - NT_fun_header_generic => Shift(yy_state_1534) - T_ASYNC => Shift(yy_state_1537) + T_FN => Shift(yy_state_1309) + T_SUBERROR => Shift(yy_state_1558) + T_TYPE => Shift(yy_state_1560) + T_IMPL => Shift(yy_state_1563) + T_TRAIT => Shift(yy_state_1568) + T_CONST => Shift(yy_state_1574) + T_LET => Shift(yy_state_1578) + NT_fun_header_generic => Shift(yy_state_1582) + T_ASYNC => Shift(yy_state_1585) _ => Error } } ///| -fn yy_state_1510(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1558(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1511) + T_UIDENT => Shift(yy_state_1559) _ => Error } } ///| -fn yy_state_1511(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1559(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_suberror_header, yy_action_119) } ///| -fn yy_state_1512(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1560(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1513) + T_UIDENT => Shift(yy_state_1561) _ => Error } } ///| -fn yy_state_1513(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1561(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1514) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1562) T_UIDENT | T_EOF | T_DERIVE @@ -48959,52 +50318,52 @@ fn yy_state_1513(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1514(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1562(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_type_header, yy_action_118) } ///| -fn yy_state_1515(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1563(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1516) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1564) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1516(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1564(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1517) + NT_type_name => Shift(yy_state_1565) _ => Error } } ///| -fn yy_state_1517(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1565(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1518) + T_FOR => Shift(yy_state_1566) _ => Error } } ///| -fn yy_state_1518(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1566(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -49013,95 +50372,95 @@ fn yy_state_1518(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1519) + NT_type_ => Shift(yy_state_1567) _ => Error } } ///| -fn yy_state_1519(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1567(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_117) } ///| -fn yy_state_1520(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1568(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1521) + T_UIDENT => Shift(yy_state_1569) _ => Error } } ///| -fn yy_state_1521(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1569(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1522) + Shift(yy_state_1570) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1522(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1570(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1523) + T_LBRACE => Shift(yy_state_1571) _ => Error } } ///| -fn yy_state_1523(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1571(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1524) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1572) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1524(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1572(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1525) + T_RBRACE => Shift(yy_state_1573) _ => Error } } ///| -fn yy_state_1525(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1573(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(9, NT_structure_item, yy_action_116) } ///| -fn yy_state_1526(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1574(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1527) + T_UIDENT => Shift(yy_state_1575) _ => Error } } ///| -fn yy_state_1527(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1575(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1528) + T_COLON => Shift(yy_state_1576) T_EQUAL => Reduce(5, NT_val_header, yy_action_115) _ => Error } } ///| -fn yy_state_1528(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1576(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -49110,35 +50469,35 @@ fn yy_state_1528(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1529) + NT_type_ => Shift(yy_state_1577) _ => Error } } ///| -fn yy_state_1529(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1577(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_val_header, yy_action_114) } ///| -fn yy_state_1530(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1578(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1531) + T_LIDENT => Shift(yy_state_1579) _ => Error } } ///| -fn yy_state_1531(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1579(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1532) + T_COLON => Shift(yy_state_1580) T_EQUAL => Reduce(5, NT_val_header, yy_action_113) _ => Error } } ///| -fn yy_state_1532(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1580(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -49147,159 +50506,159 @@ fn yy_state_1532(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1533) + NT_type_ => Shift(yy_state_1581) _ => Error } } ///| -fn yy_state_1533(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1581(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_val_header, yy_action_111) } ///| -fn yy_state_1534(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1582(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1535) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1583) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1535(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1583(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1536) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1584) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1536(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1584(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_declare_fun_header, yy_action_110) } ///| -fn yy_state_1537(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1585(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1538) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1586) _ => Error } } ///| -fn yy_state_1538(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1586(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1539) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1587) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1539(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1587(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1540) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1588) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1540(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1588(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_declare_fun_header, yy_action_109) } ///| -fn yy_state_1541(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1589(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1542) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1590) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1542(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1590(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1543) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1591) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1543(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1591(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_declare_fun_header, yy_action_108) } ///| -fn yy_state_1544(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1592(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1545) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1593) _ => Error } } ///| -fn yy_state_1545(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1593(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1546) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1594) T_EOF | T_RAISE | T_SEMI | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1546(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1594(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1547) - T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1595) + T_EOF | T_SEMI => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1547(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1595(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_declare_fun_header, yy_action_107) } ///| -fn yy_state_1548(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1596(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1012) - NT_pub_attr => Shift(yy_state_1549) + T_LPAREN => Shift(yy_state_1020) + NT_pub_attr => Shift(yy_state_1597) T_EXTERN | T_STRUCT | T_ENUM @@ -49315,123 +50674,123 @@ fn yy_state_1548(_lookahead : YYSymbol) -> YYDecision { | T_USING | T_TYPE | T_SUBERROR - | T_ENUMVIEW => Reduce(0, NT_pub_attr, yy_action_300) + | T_ENUMVIEW => Reduce(0, NT_pub_attr, yy_action_310) _ => Error } } ///| -fn yy_state_1549(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1597(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_ENUM => Shift(yy_state_1550) - T_STRUCT => Shift(yy_state_1553) - T_SUBERROR => Shift(yy_state_1556) - T_TYPE => Shift(yy_state_1558) - T_USING => Shift(yy_state_1561) - T_ENUMVIEW => Shift(yy_state_1566) - T_IMPL => Shift(yy_state_1578) - T_TRAITALIAS => Shift(yy_state_1595) - T_TYPEALIAS => Shift(yy_state_1597) - T_TRAIT => Shift(yy_state_1603) - T_FNALIAS => Shift(yy_state_1609) - T_CONST => Shift(yy_state_1611) - T_LET => Shift(yy_state_1615) - T_EXTERN => Shift(yy_state_1619) - NT_fun_header_generic => Shift(yy_state_1631) - T_ASYNC => Shift(yy_state_1634) + T_FN => Shift(yy_state_1309) + T_ENUM => Shift(yy_state_1598) + T_STRUCT => Shift(yy_state_1601) + T_SUBERROR => Shift(yy_state_1604) + T_TYPE => Shift(yy_state_1606) + T_USING => Shift(yy_state_1609) + T_ENUMVIEW => Shift(yy_state_1614) + T_IMPL => Shift(yy_state_1626) + T_TRAITALIAS => Shift(yy_state_1643) + T_TYPEALIAS => Shift(yy_state_1645) + T_TRAIT => Shift(yy_state_1651) + T_FNALIAS => Shift(yy_state_1657) + T_CONST => Shift(yy_state_1659) + T_LET => Shift(yy_state_1663) + T_EXTERN => Shift(yy_state_1667) + NT_fun_header_generic => Shift(yy_state_1679) + T_ASYNC => Shift(yy_state_1682) _ => Error } } ///| -fn yy_state_1550(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1598(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1551) + T_UIDENT => Shift(yy_state_1599) _ => Error } } ///| -fn yy_state_1551(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1599(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1552) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1600) T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1552(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1600(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_enum_header, yy_action_106) } ///| -fn yy_state_1553(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1601(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1554) + T_UIDENT => Shift(yy_state_1602) _ => Error } } ///| -fn yy_state_1554(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1602(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1555) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1603) T_LPAREN | T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1555(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1603(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_struct_header, yy_action_105) } ///| -fn yy_state_1556(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1604(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1557) + T_UIDENT => Shift(yy_state_1605) _ => Error } } ///| -fn yy_state_1557(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1605(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_suberror_header, yy_action_104) } ///| -fn yy_state_1558(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1606(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1559) + T_UIDENT => Shift(yy_state_1607) _ => Error } } ///| -fn yy_state_1559(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1607(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1560) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1608) T_UIDENT | T_EOF | T_DERIVE @@ -49445,122 +50804,122 @@ fn yy_state_1559(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1560(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1608(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_type_header, yy_action_103) } ///| -fn yy_state_1561(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1609(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_1562) + T_PACKAGE_NAME => Shift(yy_state_1610) _ => Error } } ///| -fn yy_state_1562(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1610(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1563) + T_LBRACE => Shift(yy_state_1611) _ => Error } } ///| -fn yy_state_1563(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1611(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_using_binder => Shift(yy_state_872) - NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_873) - T_TRAIT => Shift(yy_state_877) - T_TYPE => Shift(yy_state_881) - T_UIDENT => Shift(yy_state_885) - T_LIDENT => Shift(yy_state_888) - NT_non_empty_list_commas_using_binder_ => Shift(yy_state_891) - NT_list_commas_using_binder_ => Shift(yy_state_1564) - T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_370) + NT_using_binder => Shift(yy_state_880) + NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_881) + T_TRAIT => Shift(yy_state_885) + T_TYPE => Shift(yy_state_889) + T_UIDENT => Shift(yy_state_893) + T_LIDENT => Shift(yy_state_896) + NT_non_empty_list_commas_using_binder_ => Shift(yy_state_899) + NT_list_commas_using_binder_ => Shift(yy_state_1612) + T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_380) _ => Error } } ///| -fn yy_state_1564(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1612(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1565) + T_RBRACE => Shift(yy_state_1613) _ => Error } } ///| -fn yy_state_1565(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1613(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_102) } ///| -fn yy_state_1566(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1614(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1567) - T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1615) + T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1567(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1615(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1568) + T_UIDENT => Shift(yy_state_1616) _ => Error } } ///| -fn yy_state_1568(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1616(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1569) + T_LBRACE => Shift(yy_state_1617) _ => Error } } ///| -fn yy_state_1569(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1617(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_1570) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_1618) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_1570(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1618(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1571) + T_RBRACE => Shift(yy_state_1619) _ => Error } } ///| -fn yy_state_1571(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1619(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1572) + T_FOR => Shift(yy_state_1620) _ => Error } } ///| -fn yy_state_1572(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1620(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -49569,142 +50928,142 @@ fn yy_state_1572(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1573) + NT_type_ => Shift(yy_state_1621) _ => Error } } ///| -fn yy_state_1573(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1621(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1574) + T_WITH => Shift(yy_state_1622) _ => Error } } ///| -fn yy_state_1574(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1622(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1575) + T_LIDENT => Shift(yy_state_1623) _ => Error } } ///| -fn yy_state_1575(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1623(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1576) + NT_parameters => Shift(yy_state_1624) _ => Error } } ///| -fn yy_state_1576(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1624(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_1577) + NT_block_expr => Shift(yy_state_1625) _ => Error } } ///| -fn yy_state_1577(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1625(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(15, NT_structure_item, yy_action_101) } ///| -fn yy_state_1578(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1626(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1579) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1627) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1579(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1627(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1580) + NT_type_name => Shift(yy_state_1628) _ => Error } } ///| -fn yy_state_1580(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1628(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1581) - T_FOR => Shift(yy_state_1587) + T_WITH => Shift(yy_state_1629) + T_FOR => Shift(yy_state_1635) _ => Error } } ///| -fn yy_state_1581(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1629(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1582) + T_LIDENT => Shift(yy_state_1630) _ => Error } } ///| -fn yy_state_1582(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1630(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1583) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1631) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1583(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1631(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1584) + NT_parameters => Shift(yy_state_1632) _ => Error } } ///| -fn yy_state_1584(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1632(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1585) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1633) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1585(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1633(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1586) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1634) _ => Error } } ///| -fn yy_state_1586(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1634(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(12, NT_structure_item, yy_action_100) } ///| -fn yy_state_1587(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1635(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -49713,252 +51072,252 @@ fn yy_state_1587(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1588) + NT_type_ => Shift(yy_state_1636) _ => Error } } ///| -fn yy_state_1588(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1636(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1589) + T_WITH => Shift(yy_state_1637) T_EOF | T_SEMI => Reduce(8, NT_structure_item, yy_action_99) _ => Error } } ///| -fn yy_state_1589(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1637(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1590) + T_LIDENT => Shift(yy_state_1638) _ => Error } } ///| -fn yy_state_1590(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1638(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1591) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1639) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1591(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1639(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1592) + NT_parameters => Shift(yy_state_1640) _ => Error } } ///| -fn yy_state_1592(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1640(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1593) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1641) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1593(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1641(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1594) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1642) _ => Error } } ///| -fn yy_state_1594(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1642(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(14, NT_structure_item, yy_action_98) } ///| -fn yy_state_1595(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1643(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_PACKAGE_NAME => Shift(yy_state_1064) - NT_batch_type_alias_targets => Shift(yy_state_1596) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_PACKAGE_NAME => Shift(yy_state_1072) + NT_batch_type_alias_targets => Shift(yy_state_1644) _ => Error } } ///| -fn yy_state_1596(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1644(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_97) } ///| -fn yy_state_1597(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1645(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) T_AMPER => Shift(yy_state_58) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_UIDENT => Shift(yy_state_1079) - T_PACKAGE_NAME => Shift(yy_state_1080) - NT_type_ => Shift(yy_state_1598) - NT_batch_type_alias_targets => Shift(yy_state_1602) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_UIDENT => Shift(yy_state_1087) + T_PACKAGE_NAME => Shift(yy_state_1088) + NT_type_ => Shift(yy_state_1646) + NT_batch_type_alias_targets => Shift(yy_state_1650) _ => Error } } ///| -fn yy_state_1598(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1646(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1599) + T_AS => Shift(yy_state_1647) _ => Error } } ///| -fn yy_state_1599(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1647(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1600) + T_UIDENT => Shift(yy_state_1648) _ => Error } } ///| -fn yy_state_1600(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1648(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1601) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1649) T_EOF | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1601(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1649(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_96) } ///| -fn yy_state_1602(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1650(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_95) } ///| -fn yy_state_1603(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1651(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1604) + T_UIDENT => Shift(yy_state_1652) _ => Error } } ///| -fn yy_state_1604(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1652(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1605) + Shift(yy_state_1653) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1605(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1653(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1606) + T_LBRACE => Shift(yy_state_1654) _ => Error } } ///| -fn yy_state_1606(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1654(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1607) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1655) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1607(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1655(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1608) + T_RBRACE => Shift(yy_state_1656) _ => Error } } ///| -fn yy_state_1608(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1656(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(9, NT_structure_item, yy_action_94) } ///| -fn yy_state_1609(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1657(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1155) - T_LIDENT => Shift(yy_state_1157) - NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1162) - T_PACKAGE_NAME => Shift(yy_state_1172) - NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1187) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1189) - NT_func_alias_targets => Shift(yy_state_1610) + T_UIDENT => Shift(yy_state_1163) + T_LIDENT => Shift(yy_state_1165) + NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1170) + T_PACKAGE_NAME => Shift(yy_state_1180) + NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1195) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1197) + NT_func_alias_targets => Shift(yy_state_1658) T_LPAREN => - Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_243) + Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_253) _ => Error } } ///| -fn yy_state_1610(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1658(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_93) } ///| -fn yy_state_1611(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1659(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1612) + T_UIDENT => Shift(yy_state_1660) _ => Error } } ///| -fn yy_state_1612(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1660(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1613) + T_COLON => Shift(yy_state_1661) T_EQUAL => Reduce(5, NT_val_header, yy_action_92) _ => Error } } ///| -fn yy_state_1613(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1661(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -49967,35 +51326,35 @@ fn yy_state_1613(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1614) + NT_type_ => Shift(yy_state_1662) _ => Error } } ///| -fn yy_state_1614(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1662(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_val_header, yy_action_91) } ///| -fn yy_state_1615(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1663(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1616) + T_LIDENT => Shift(yy_state_1664) _ => Error } } ///| -fn yy_state_1616(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1664(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1617) + T_COLON => Shift(yy_state_1665) T_EQUAL => Reduce(5, NT_val_header, yy_action_90) _ => Error } } ///| -fn yy_state_1617(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1665(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -50004,322 +51363,322 @@ fn yy_state_1617(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1618) + NT_type_ => Shift(yy_state_1666) _ => Error } } ///| -fn yy_state_1618(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1666(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_val_header, yy_action_89) } ///| -fn yy_state_1619(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1667(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_1620) - T_STRING => Shift(yy_state_1624) + T_TYPE => Shift(yy_state_1668) + T_STRING => Shift(yy_state_1672) _ => Error } } ///| -fn yy_state_1620(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1668(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1621) + T_UIDENT => Shift(yy_state_1669) _ => Error } } ///| -fn yy_state_1621(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1669(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1622) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1670) T_EOF | T_DERIVE | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1622(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1670(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1623) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1671) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1623(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1671(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_88) } ///| -fn yy_state_1624(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1672(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1625) + T_FN => Shift(yy_state_1673) _ => Error } } ///| -fn yy_state_1625(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1673(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) - NT_fun_binder => Shift(yy_state_1626) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) + NT_fun_binder => Shift(yy_state_1674) _ => Error } } ///| -fn yy_state_1626(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1674(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1627) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1675) T_RAISE | T_EQUAL | T_LPAREN | T_LBRACKET | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_optional_bang, yy_action_851) + Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1627(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1675(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1628) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1676) T_RAISE | T_EQUAL | T_LPAREN | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1628(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1676(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1629) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1677) T_RAISE | T_EQUAL | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1629(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1677(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1630) - T_EQUAL => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1678) + T_EQUAL => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1630(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1678(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(11, NT_extern_fun_header, yy_action_87) } ///| -fn yy_state_1631(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1679(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1632) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1680) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1632(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1680(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1633) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1681) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1633(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1681(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_fun_header, yy_action_86) } ///| -fn yy_state_1634(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1682(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1635) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1683) _ => Error } } ///| -fn yy_state_1635(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1683(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1636) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1684) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1636(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1684(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1637) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1685) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1637(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1685(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_fun_header, yy_action_85) } ///| -fn yy_state_1638(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1686(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_ENUM => Shift(yy_state_1639) - T_STRUCT => Shift(yy_state_1642) - T_SUBERROR => Shift(yy_state_1645) - T_TYPE => Shift(yy_state_1647) - T_USING => Shift(yy_state_1650) - T_ENUMVIEW => Shift(yy_state_1655) - T_IMPL => Shift(yy_state_1667) - T_TRAITALIAS => Shift(yy_state_1684) - T_TYPEALIAS => Shift(yy_state_1686) - T_TRAIT => Shift(yy_state_1692) - T_FNALIAS => Shift(yy_state_1698) - T_CONST => Shift(yy_state_1700) - T_LET => Shift(yy_state_1704) - T_EXTERN => Shift(yy_state_1708) - NT_fun_header_generic => Shift(yy_state_1720) - T_ASYNC => Shift(yy_state_1723) + T_FN => Shift(yy_state_1309) + T_ENUM => Shift(yy_state_1687) + T_STRUCT => Shift(yy_state_1690) + T_SUBERROR => Shift(yy_state_1693) + T_TYPE => Shift(yy_state_1695) + T_USING => Shift(yy_state_1698) + T_ENUMVIEW => Shift(yy_state_1703) + T_IMPL => Shift(yy_state_1715) + T_TRAITALIAS => Shift(yy_state_1732) + T_TYPEALIAS => Shift(yy_state_1734) + T_TRAIT => Shift(yy_state_1740) + T_FNALIAS => Shift(yy_state_1746) + T_CONST => Shift(yy_state_1748) + T_LET => Shift(yy_state_1752) + T_EXTERN => Shift(yy_state_1756) + NT_fun_header_generic => Shift(yy_state_1768) + T_ASYNC => Shift(yy_state_1771) _ => Error } } ///| -fn yy_state_1639(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1687(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1640) + T_UIDENT => Shift(yy_state_1688) _ => Error } } ///| -fn yy_state_1640(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1688(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1641) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1689) T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1641(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1689(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_enum_header, yy_action_84) } ///| -fn yy_state_1642(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1690(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1643) + T_UIDENT => Shift(yy_state_1691) _ => Error } } ///| -fn yy_state_1643(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1691(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1644) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1692) T_LPAREN | T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1644(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1692(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_struct_header, yy_action_83) } ///| -fn yy_state_1645(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1693(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1646) + T_UIDENT => Shift(yy_state_1694) _ => Error } } ///| -fn yy_state_1646(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1694(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_suberror_header, yy_action_82) } ///| -fn yy_state_1647(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1695(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1648) + T_UIDENT => Shift(yy_state_1696) _ => Error } } ///| -fn yy_state_1648(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1696(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1649) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1697) T_UIDENT | T_EOF | T_DERIVE @@ -50333,122 +51692,122 @@ fn yy_state_1648(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1649(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1697(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_type_header, yy_action_81) } ///| -fn yy_state_1650(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1698(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_1651) + T_PACKAGE_NAME => Shift(yy_state_1699) _ => Error } } ///| -fn yy_state_1651(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1699(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1652) + T_LBRACE => Shift(yy_state_1700) _ => Error } } ///| -fn yy_state_1652(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1700(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_using_binder => Shift(yy_state_872) - NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_873) - T_TRAIT => Shift(yy_state_877) - T_TYPE => Shift(yy_state_881) - T_UIDENT => Shift(yy_state_885) - T_LIDENT => Shift(yy_state_888) - NT_non_empty_list_commas_using_binder_ => Shift(yy_state_891) - NT_list_commas_using_binder_ => Shift(yy_state_1653) - T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_370) + NT_using_binder => Shift(yy_state_880) + NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_881) + T_TRAIT => Shift(yy_state_885) + T_TYPE => Shift(yy_state_889) + T_UIDENT => Shift(yy_state_893) + T_LIDENT => Shift(yy_state_896) + NT_non_empty_list_commas_using_binder_ => Shift(yy_state_899) + NT_list_commas_using_binder_ => Shift(yy_state_1701) + T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_380) _ => Error } } ///| -fn yy_state_1653(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1701(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1654) + T_RBRACE => Shift(yy_state_1702) _ => Error } } ///| -fn yy_state_1654(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1702(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_80) } ///| -fn yy_state_1655(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1703(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1656) - T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1704) + T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1656(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1704(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1657) + T_UIDENT => Shift(yy_state_1705) _ => Error } } ///| -fn yy_state_1657(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1705(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1658) + T_LBRACE => Shift(yy_state_1706) _ => Error } } ///| -fn yy_state_1658(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1706(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_1659) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_1707) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_1659(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1707(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1660) + T_RBRACE => Shift(yy_state_1708) _ => Error } } ///| -fn yy_state_1660(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1708(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1661) + T_FOR => Shift(yy_state_1709) _ => Error } } ///| -fn yy_state_1661(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1709(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -50457,142 +51816,142 @@ fn yy_state_1661(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1662) + NT_type_ => Shift(yy_state_1710) _ => Error } } ///| -fn yy_state_1662(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1710(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1663) + T_WITH => Shift(yy_state_1711) _ => Error } } ///| -fn yy_state_1663(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1711(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1664) + T_LIDENT => Shift(yy_state_1712) _ => Error } } ///| -fn yy_state_1664(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1712(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1665) + NT_parameters => Shift(yy_state_1713) _ => Error } } ///| -fn yy_state_1665(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1713(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_1666) + NT_block_expr => Shift(yy_state_1714) _ => Error } } ///| -fn yy_state_1666(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1714(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(14, NT_structure_item, yy_action_79) } ///| -fn yy_state_1667(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1715(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1668) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1716) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1668(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1716(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1669) + NT_type_name => Shift(yy_state_1717) _ => Error } } ///| -fn yy_state_1669(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1717(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1670) - T_FOR => Shift(yy_state_1676) + T_WITH => Shift(yy_state_1718) + T_FOR => Shift(yy_state_1724) _ => Error } } ///| -fn yy_state_1670(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1718(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1671) + T_LIDENT => Shift(yy_state_1719) _ => Error } } ///| -fn yy_state_1671(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1719(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1672) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1720) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1672(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1720(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1673) + NT_parameters => Shift(yy_state_1721) _ => Error } } ///| -fn yy_state_1673(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1721(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1674) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1722) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1674(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1722(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1675) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1723) _ => Error } } ///| -fn yy_state_1675(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1723(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(11, NT_structure_item, yy_action_78) } ///| -fn yy_state_1676(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1724(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -50601,252 +51960,252 @@ fn yy_state_1676(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1677) + NT_type_ => Shift(yy_state_1725) _ => Error } } ///| -fn yy_state_1677(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1725(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1678) + T_WITH => Shift(yy_state_1726) T_EOF | T_SEMI => Reduce(7, NT_structure_item, yy_action_77) _ => Error } } ///| -fn yy_state_1678(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1726(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1679) + T_LIDENT => Shift(yy_state_1727) _ => Error } } ///| -fn yy_state_1679(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1727(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1680) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1728) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1680(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1728(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1681) + NT_parameters => Shift(yy_state_1729) _ => Error } } ///| -fn yy_state_1681(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1729(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1682) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1730) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1682(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1730(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1683) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1731) _ => Error } } ///| -fn yy_state_1683(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1731(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(13, NT_structure_item, yy_action_76) } ///| -fn yy_state_1684(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1732(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_PACKAGE_NAME => Shift(yy_state_1064) - NT_batch_type_alias_targets => Shift(yy_state_1685) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_PACKAGE_NAME => Shift(yy_state_1072) + NT_batch_type_alias_targets => Shift(yy_state_1733) _ => Error } } ///| -fn yy_state_1685(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1733(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_structure_item, yy_action_75) } ///| -fn yy_state_1686(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1734(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) T_AMPER => Shift(yy_state_58) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_UIDENT => Shift(yy_state_1079) - T_PACKAGE_NAME => Shift(yy_state_1080) - NT_type_ => Shift(yy_state_1687) - NT_batch_type_alias_targets => Shift(yy_state_1691) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_UIDENT => Shift(yy_state_1087) + T_PACKAGE_NAME => Shift(yy_state_1088) + NT_type_ => Shift(yy_state_1735) + NT_batch_type_alias_targets => Shift(yy_state_1739) _ => Error } } ///| -fn yy_state_1687(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1735(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1688) + T_AS => Shift(yy_state_1736) _ => Error } } ///| -fn yy_state_1688(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1736(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1689) + T_UIDENT => Shift(yy_state_1737) _ => Error } } ///| -fn yy_state_1689(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1737(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1690) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1738) T_EOF | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1690(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1738(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_74) } ///| -fn yy_state_1691(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1739(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_structure_item, yy_action_73) } ///| -fn yy_state_1692(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1740(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1693) + T_UIDENT => Shift(yy_state_1741) _ => Error } } ///| -fn yy_state_1693(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1741(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1694) + Shift(yy_state_1742) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1694(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1742(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1695) + T_LBRACE => Shift(yy_state_1743) _ => Error } } ///| -fn yy_state_1695(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1743(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1696) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1744) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1696(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1744(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1697) + T_RBRACE => Shift(yy_state_1745) _ => Error } } ///| -fn yy_state_1697(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1745(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_72) } ///| -fn yy_state_1698(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1746(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1155) - T_LIDENT => Shift(yy_state_1157) - NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1162) - T_PACKAGE_NAME => Shift(yy_state_1172) - NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1187) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1189) - NT_func_alias_targets => Shift(yy_state_1699) + T_UIDENT => Shift(yy_state_1163) + T_LIDENT => Shift(yy_state_1165) + NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1170) + T_PACKAGE_NAME => Shift(yy_state_1180) + NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1195) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1197) + NT_func_alias_targets => Shift(yy_state_1747) T_LPAREN => - Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_243) + Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_253) _ => Error } } ///| -fn yy_state_1699(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1747(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_structure_item, yy_action_71) } ///| -fn yy_state_1700(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1748(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1701) + T_UIDENT => Shift(yy_state_1749) _ => Error } } ///| -fn yy_state_1701(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1749(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1702) + T_COLON => Shift(yy_state_1750) T_EQUAL => Reduce(4, NT_val_header, yy_action_70) _ => Error } } ///| -fn yy_state_1702(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1750(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -50855,35 +52214,35 @@ fn yy_state_1702(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1703) + NT_type_ => Shift(yy_state_1751) _ => Error } } ///| -fn yy_state_1703(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1751(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_69) } ///| -fn yy_state_1704(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1752(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1705) + T_LIDENT => Shift(yy_state_1753) _ => Error } } ///| -fn yy_state_1705(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1753(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1706) + T_COLON => Shift(yy_state_1754) T_EQUAL => Reduce(4, NT_val_header, yy_action_68) _ => Error } } ///| -fn yy_state_1706(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1754(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -50892,320 +52251,320 @@ fn yy_state_1706(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1707) + NT_type_ => Shift(yy_state_1755) _ => Error } } ///| -fn yy_state_1707(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1755(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_67) } ///| -fn yy_state_1708(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1756(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_1709) - T_STRING => Shift(yy_state_1713) + T_TYPE => Shift(yy_state_1757) + T_STRING => Shift(yy_state_1761) _ => Error } } ///| -fn yy_state_1709(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1757(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1710) + T_UIDENT => Shift(yy_state_1758) _ => Error } } ///| -fn yy_state_1710(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1758(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1711) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1759) T_EOF | T_DERIVE | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1711(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1759(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1712) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1760) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1712(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1760(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_66) } ///| -fn yy_state_1713(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1761(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1714) + T_FN => Shift(yy_state_1762) _ => Error } } ///| -fn yy_state_1714(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1762(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) - NT_fun_binder => Shift(yy_state_1715) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) + NT_fun_binder => Shift(yy_state_1763) _ => Error } } ///| -fn yy_state_1715(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1763(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1716) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1764) T_RAISE | T_EQUAL | T_LPAREN | T_LBRACKET | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_optional_bang, yy_action_851) + Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1716(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1764(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1717) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1765) T_RAISE | T_EQUAL | T_LPAREN | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1717(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1765(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1718) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1766) T_RAISE | T_EQUAL | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1718(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1766(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1719) - T_EQUAL => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1767) + T_EQUAL => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1719(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1767(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(10, NT_extern_fun_header, yy_action_65) } ///| -fn yy_state_1720(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1768(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1721) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1769) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1721(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1769(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1722) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1770) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1722(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1770(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_fun_header, yy_action_64) } ///| -fn yy_state_1723(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1771(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1724) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1772) _ => Error } } ///| -fn yy_state_1724(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1772(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1725) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1773) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1725(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1773(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1726) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1774) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1726(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1774(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_fun_header, yy_action_63) } ///| -fn yy_state_1727(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1775(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1728) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1776) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1728(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1776(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1729) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1777) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1729(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1777(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_fun_header, yy_action_62) } ///| -fn yy_state_1730(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1778(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_TEST => Shift(yy_state_1731) - NT_fun_header_generic => Shift(yy_state_1735) + T_FN => Shift(yy_state_1309) + T_TEST => Shift(yy_state_1779) + NT_fun_header_generic => Shift(yy_state_1783) _ => Error } } ///| -fn yy_state_1731(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1779(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_1054) - NT_option_loced_string_ => Shift(yy_state_1732) - T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_287) + T_STRING => Shift(yy_state_1062) + NT_option_loced_string_ => Shift(yy_state_1780) + T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_297) _ => Error } } ///| -fn yy_state_1732(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1780(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1733) - T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_284) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1781) + T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1733(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1781(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_963) - NT_block_expr_with_local_types => Shift(yy_state_1734) + T_LBRACE => Shift(yy_state_971) + NT_block_expr_with_local_types => Shift(yy_state_1782) _ => Error } } ///| -fn yy_state_1734(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1782(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_61) } ///| -fn yy_state_1735(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1783(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1736) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1784) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1736(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1784(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1737) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1785) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1737(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1785(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_fun_header, yy_action_59) } ///| -fn yy_state_1738(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1786(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LPAREN => Shift(yy_state_1012) - NT_pub_attr => Shift(yy_state_1739) + T_LPAREN => Shift(yy_state_1020) + NT_pub_attr => Shift(yy_state_1787) T_EXTERN | T_STRUCT | T_ENUM @@ -51221,123 +52580,123 @@ fn yy_state_1738(_lookahead : YYSymbol) -> YYDecision { | T_USING | T_TYPE | T_SUBERROR - | T_ENUMVIEW => Reduce(0, NT_pub_attr, yy_action_300) + | T_ENUMVIEW => Reduce(0, NT_pub_attr, yy_action_310) _ => Error } } ///| -fn yy_state_1739(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1787(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_ENUM => Shift(yy_state_1740) - T_STRUCT => Shift(yy_state_1743) - T_SUBERROR => Shift(yy_state_1746) - T_TYPE => Shift(yy_state_1748) - T_USING => Shift(yy_state_1751) - T_ENUMVIEW => Shift(yy_state_1756) - T_IMPL => Shift(yy_state_1768) - T_TRAITALIAS => Shift(yy_state_1785) - T_TYPEALIAS => Shift(yy_state_1787) - T_TRAIT => Shift(yy_state_1793) - T_FNALIAS => Shift(yy_state_1799) - T_CONST => Shift(yy_state_1801) - T_LET => Shift(yy_state_1805) - T_EXTERN => Shift(yy_state_1809) - NT_fun_header_generic => Shift(yy_state_1821) - T_ASYNC => Shift(yy_state_1824) + T_FN => Shift(yy_state_1309) + T_ENUM => Shift(yy_state_1788) + T_STRUCT => Shift(yy_state_1791) + T_SUBERROR => Shift(yy_state_1794) + T_TYPE => Shift(yy_state_1796) + T_USING => Shift(yy_state_1799) + T_ENUMVIEW => Shift(yy_state_1804) + T_IMPL => Shift(yy_state_1816) + T_TRAITALIAS => Shift(yy_state_1833) + T_TYPEALIAS => Shift(yy_state_1835) + T_TRAIT => Shift(yy_state_1841) + T_FNALIAS => Shift(yy_state_1847) + T_CONST => Shift(yy_state_1849) + T_LET => Shift(yy_state_1853) + T_EXTERN => Shift(yy_state_1857) + NT_fun_header_generic => Shift(yy_state_1869) + T_ASYNC => Shift(yy_state_1872) _ => Error } } ///| -fn yy_state_1740(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1788(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1741) + T_UIDENT => Shift(yy_state_1789) _ => Error } } ///| -fn yy_state_1741(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1789(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1742) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1790) T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1742(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1790(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_enum_header, yy_action_58) } ///| -fn yy_state_1743(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1791(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1744) + T_UIDENT => Shift(yy_state_1792) _ => Error } } ///| -fn yy_state_1744(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1792(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1745) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1793) T_LPAREN | T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1745(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1793(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_struct_header, yy_action_57) } ///| -fn yy_state_1746(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1794(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1747) + T_UIDENT => Shift(yy_state_1795) _ => Error } } ///| -fn yy_state_1747(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1795(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_suberror_header, yy_action_56) } ///| -fn yy_state_1748(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1796(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1749) + T_UIDENT => Shift(yy_state_1797) _ => Error } } ///| -fn yy_state_1749(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1797(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1750) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1798) T_UIDENT | T_EOF | T_DERIVE @@ -51351,122 +52710,122 @@ fn yy_state_1749(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1750(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1798(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_type_header, yy_action_55) } ///| -fn yy_state_1751(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1799(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_1752) + T_PACKAGE_NAME => Shift(yy_state_1800) _ => Error } } ///| -fn yy_state_1752(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1800(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1753) + T_LBRACE => Shift(yy_state_1801) _ => Error } } ///| -fn yy_state_1753(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1801(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_using_binder => Shift(yy_state_872) - NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_873) - T_TRAIT => Shift(yy_state_877) - T_TYPE => Shift(yy_state_881) - T_UIDENT => Shift(yy_state_885) - T_LIDENT => Shift(yy_state_888) - NT_non_empty_list_commas_using_binder_ => Shift(yy_state_891) - NT_list_commas_using_binder_ => Shift(yy_state_1754) - T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_370) + NT_using_binder => Shift(yy_state_880) + NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_881) + T_TRAIT => Shift(yy_state_885) + T_TYPE => Shift(yy_state_889) + T_UIDENT => Shift(yy_state_893) + T_LIDENT => Shift(yy_state_896) + NT_non_empty_list_commas_using_binder_ => Shift(yy_state_899) + NT_list_commas_using_binder_ => Shift(yy_state_1802) + T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_380) _ => Error } } ///| -fn yy_state_1754(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1802(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1755) + T_RBRACE => Shift(yy_state_1803) _ => Error } } ///| -fn yy_state_1755(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1803(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_54) } ///| -fn yy_state_1756(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1804(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1757) - T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1805) + T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1757(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1805(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1758) + T_UIDENT => Shift(yy_state_1806) _ => Error } } ///| -fn yy_state_1758(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1806(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1759) + T_LBRACE => Shift(yy_state_1807) _ => Error } } ///| -fn yy_state_1759(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1807(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_1760) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_1808) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_1760(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1808(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1761) + T_RBRACE => Shift(yy_state_1809) _ => Error } } ///| -fn yy_state_1761(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1809(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1762) + T_FOR => Shift(yy_state_1810) _ => Error } } ///| -fn yy_state_1762(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1810(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -51475,142 +52834,142 @@ fn yy_state_1762(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1763) + NT_type_ => Shift(yy_state_1811) _ => Error } } ///| -fn yy_state_1763(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1811(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1764) + T_WITH => Shift(yy_state_1812) _ => Error } } ///| -fn yy_state_1764(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1812(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1765) + T_LIDENT => Shift(yy_state_1813) _ => Error } } ///| -fn yy_state_1765(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1813(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1766) + NT_parameters => Shift(yy_state_1814) _ => Error } } ///| -fn yy_state_1766(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1814(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_1767) + NT_block_expr => Shift(yy_state_1815) _ => Error } } ///| -fn yy_state_1767(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1815(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(14, NT_structure_item, yy_action_53) } ///| -fn yy_state_1768(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1816(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1769) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1817) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1769(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1817(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1770) + NT_type_name => Shift(yy_state_1818) _ => Error } } ///| -fn yy_state_1770(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1818(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1771) - T_FOR => Shift(yy_state_1777) + T_WITH => Shift(yy_state_1819) + T_FOR => Shift(yy_state_1825) _ => Error } } ///| -fn yy_state_1771(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1819(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1772) + T_LIDENT => Shift(yy_state_1820) _ => Error } } ///| -fn yy_state_1772(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1820(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1773) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1821) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1773(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1821(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1774) + NT_parameters => Shift(yy_state_1822) _ => Error } } ///| -fn yy_state_1774(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1822(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1775) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1823) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1775(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1823(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1776) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1824) _ => Error } } ///| -fn yy_state_1776(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1824(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(11, NT_structure_item, yy_action_52) } ///| -fn yy_state_1777(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1825(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -51619,252 +52978,252 @@ fn yy_state_1777(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1778) + NT_type_ => Shift(yy_state_1826) _ => Error } } ///| -fn yy_state_1778(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1826(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1779) + T_WITH => Shift(yy_state_1827) T_EOF | T_SEMI => Reduce(7, NT_structure_item, yy_action_51) _ => Error } } ///| -fn yy_state_1779(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1827(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1780) + T_LIDENT => Shift(yy_state_1828) _ => Error } } ///| -fn yy_state_1780(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1828(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1781) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1829) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1781(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1829(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1782) + NT_parameters => Shift(yy_state_1830) _ => Error } } ///| -fn yy_state_1782(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1830(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1783) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1831) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1783(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1831(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1784) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1832) _ => Error } } ///| -fn yy_state_1784(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1832(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(13, NT_structure_item, yy_action_50) } ///| -fn yy_state_1785(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1833(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_PACKAGE_NAME => Shift(yy_state_1064) - NT_batch_type_alias_targets => Shift(yy_state_1786) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_PACKAGE_NAME => Shift(yy_state_1072) + NT_batch_type_alias_targets => Shift(yy_state_1834) _ => Error } } ///| -fn yy_state_1786(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1834(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_structure_item, yy_action_49) } ///| -fn yy_state_1787(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1835(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) T_AMPER => Shift(yy_state_58) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_UIDENT => Shift(yy_state_1079) - T_PACKAGE_NAME => Shift(yy_state_1080) - NT_type_ => Shift(yy_state_1788) - NT_batch_type_alias_targets => Shift(yy_state_1792) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_UIDENT => Shift(yy_state_1087) + T_PACKAGE_NAME => Shift(yy_state_1088) + NT_type_ => Shift(yy_state_1836) + NT_batch_type_alias_targets => Shift(yy_state_1840) _ => Error } } ///| -fn yy_state_1788(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1836(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1789) + T_AS => Shift(yy_state_1837) _ => Error } } ///| -fn yy_state_1789(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1837(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1790) + T_UIDENT => Shift(yy_state_1838) _ => Error } } ///| -fn yy_state_1790(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1838(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1791) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1839) T_EOF | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1791(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1839(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_48) } ///| -fn yy_state_1792(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1840(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_structure_item, yy_action_47) } ///| -fn yy_state_1793(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1841(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1794) + T_UIDENT => Shift(yy_state_1842) _ => Error } } ///| -fn yy_state_1794(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1842(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1795) + Shift(yy_state_1843) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1795(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1843(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1796) + T_LBRACE => Shift(yy_state_1844) _ => Error } } ///| -fn yy_state_1796(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1844(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1797) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1845) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1797(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1845(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1798) + T_RBRACE => Shift(yy_state_1846) _ => Error } } ///| -fn yy_state_1798(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1846(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(8, NT_structure_item, yy_action_46) } ///| -fn yy_state_1799(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1847(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1155) - T_LIDENT => Shift(yy_state_1157) - NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1162) - T_PACKAGE_NAME => Shift(yy_state_1172) - NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1187) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1189) - NT_func_alias_targets => Shift(yy_state_1800) + T_UIDENT => Shift(yy_state_1163) + T_LIDENT => Shift(yy_state_1165) + NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1170) + T_PACKAGE_NAME => Shift(yy_state_1180) + NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1195) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1197) + NT_func_alias_targets => Shift(yy_state_1848) T_LPAREN => - Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_243) + Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_253) _ => Error } } ///| -fn yy_state_1800(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1848(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_structure_item, yy_action_45) } ///| -fn yy_state_1801(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1849(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1802) + T_UIDENT => Shift(yy_state_1850) _ => Error } } ///| -fn yy_state_1802(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1850(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1803) + T_COLON => Shift(yy_state_1851) T_EQUAL => Reduce(4, NT_val_header, yy_action_44) _ => Error } } ///| -fn yy_state_1803(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1851(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -51873,35 +53232,35 @@ fn yy_state_1803(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1804) + NT_type_ => Shift(yy_state_1852) _ => Error } } ///| -fn yy_state_1804(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1852(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_43) } ///| -fn yy_state_1805(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1853(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1806) + T_LIDENT => Shift(yy_state_1854) _ => Error } } ///| -fn yy_state_1806(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1854(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1807) + T_COLON => Shift(yy_state_1855) T_EQUAL => Reduce(4, NT_val_header, yy_action_42) _ => Error } } ///| -fn yy_state_1807(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1855(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -51910,322 +53269,322 @@ fn yy_state_1807(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1808) + NT_type_ => Shift(yy_state_1856) _ => Error } } ///| -fn yy_state_1808(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1856(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_val_header, yy_action_41) } ///| -fn yy_state_1809(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1857(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_1810) - T_STRING => Shift(yy_state_1814) + T_TYPE => Shift(yy_state_1858) + T_STRING => Shift(yy_state_1862) _ => Error } } ///| -fn yy_state_1810(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1858(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1811) + T_UIDENT => Shift(yy_state_1859) _ => Error } } ///| -fn yy_state_1811(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1859(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1812) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1860) T_EOF | T_DERIVE | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1812(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1860(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1813) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1861) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1813(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1861(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_40) } ///| -fn yy_state_1814(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1862(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1815) + T_FN => Shift(yy_state_1863) _ => Error } } ///| -fn yy_state_1815(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1863(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) - NT_fun_binder => Shift(yy_state_1816) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) + NT_fun_binder => Shift(yy_state_1864) _ => Error } } ///| -fn yy_state_1816(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1864(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1817) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1865) T_RAISE | T_EQUAL | T_LPAREN | T_LBRACKET | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_optional_bang, yy_action_851) + Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1817(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1865(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1818) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1866) T_RAISE | T_EQUAL | T_LPAREN | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1818(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1866(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1819) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1867) T_RAISE | T_EQUAL | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1819(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1867(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1820) - T_EQUAL => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1868) + T_EQUAL => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1820(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1868(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(10, NT_extern_fun_header, yy_action_39) } ///| -fn yy_state_1821(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1869(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1822) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1870) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1822(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1870(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1823) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1871) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1823(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1871(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_fun_header, yy_action_38) } ///| -fn yy_state_1824(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1872(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1825) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1873) _ => Error } } ///| -fn yy_state_1825(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1873(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1826) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1874) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1826(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1874(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1827) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1875) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1827(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1875(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_fun_header, yy_action_36) } ///| -fn yy_state_1828(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1876(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_ENUM => Shift(yy_state_1829) - T_STRUCT => Shift(yy_state_1832) - T_SUBERROR => Shift(yy_state_1835) - T_TYPE => Shift(yy_state_1837) - T_USING => Shift(yy_state_1840) - T_ENUMVIEW => Shift(yy_state_1845) - T_IMPL => Shift(yy_state_1857) - T_TRAITALIAS => Shift(yy_state_1874) - T_TYPEALIAS => Shift(yy_state_1876) - T_TRAIT => Shift(yy_state_1882) - T_FNALIAS => Shift(yy_state_1888) - T_CONST => Shift(yy_state_1890) - T_LET => Shift(yy_state_1894) - T_EXTERN => Shift(yy_state_1898) - NT_fun_header_generic => Shift(yy_state_1910) - T_ASYNC => Shift(yy_state_1913) + T_FN => Shift(yy_state_1309) + T_ENUM => Shift(yy_state_1877) + T_STRUCT => Shift(yy_state_1880) + T_SUBERROR => Shift(yy_state_1883) + T_TYPE => Shift(yy_state_1885) + T_USING => Shift(yy_state_1888) + T_ENUMVIEW => Shift(yy_state_1893) + T_IMPL => Shift(yy_state_1905) + T_TRAITALIAS => Shift(yy_state_1922) + T_TYPEALIAS => Shift(yy_state_1924) + T_TRAIT => Shift(yy_state_1930) + T_FNALIAS => Shift(yy_state_1936) + T_CONST => Shift(yy_state_1938) + T_LET => Shift(yy_state_1942) + T_EXTERN => Shift(yy_state_1946) + NT_fun_header_generic => Shift(yy_state_1958) + T_ASYNC => Shift(yy_state_1961) _ => Error } } ///| -fn yy_state_1829(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1877(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1830) + T_UIDENT => Shift(yy_state_1878) _ => Error } } ///| -fn yy_state_1830(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1878(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1831) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1879) T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1831(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1879(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_enum_header, yy_action_35) } ///| -fn yy_state_1832(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1880(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1833) + T_UIDENT => Shift(yy_state_1881) _ => Error } } ///| -fn yy_state_1833(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1881(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1834) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1882) T_LPAREN | T_LBRACE => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1834(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1882(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_struct_header, yy_action_34) } ///| -fn yy_state_1835(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1883(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1836) + T_UIDENT => Shift(yy_state_1884) _ => Error } } ///| -fn yy_state_1836(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1884(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_suberror_header, yy_action_33) } ///| -fn yy_state_1837(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1885(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1838) + T_UIDENT => Shift(yy_state_1886) _ => Error } } ///| -fn yy_state_1838(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1886(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1839) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1887) T_UIDENT | T_EOF | T_DERIVE @@ -52239,122 +53598,122 @@ fn yy_state_1838(_lookahead : YYSymbol) -> YYDecision { Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1839(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1887(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_type_header, yy_action_32) } ///| -fn yy_state_1840(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1888(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_PACKAGE_NAME => Shift(yy_state_1841) + T_PACKAGE_NAME => Shift(yy_state_1889) _ => Error } } ///| -fn yy_state_1841(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1889(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1842) + T_LBRACE => Shift(yy_state_1890) _ => Error } } ///| -fn yy_state_1842(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1890(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_using_binder => Shift(yy_state_872) - NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_873) - T_TRAIT => Shift(yy_state_877) - T_TYPE => Shift(yy_state_881) - T_UIDENT => Shift(yy_state_885) - T_LIDENT => Shift(yy_state_888) - NT_non_empty_list_commas_using_binder_ => Shift(yy_state_891) - NT_list_commas_using_binder_ => Shift(yy_state_1843) - T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_370) + NT_using_binder => Shift(yy_state_880) + NT_non_empty_list_commas_rev_using_binder_ => Shift(yy_state_881) + T_TRAIT => Shift(yy_state_885) + T_TYPE => Shift(yy_state_889) + T_UIDENT => Shift(yy_state_893) + T_LIDENT => Shift(yy_state_896) + NT_non_empty_list_commas_using_binder_ => Shift(yy_state_899) + NT_list_commas_using_binder_ => Shift(yy_state_1891) + T_RBRACE => Reduce(0, NT_list_commas_using_binder_, yy_action_380) _ => Error } } ///| -fn yy_state_1843(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1891(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1844) + T_RBRACE => Shift(yy_state_1892) _ => Error } } ///| -fn yy_state_1844(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1892(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_31) } ///| -fn yy_state_1845(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1893(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1846) - T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_356) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1894) + T_UIDENT => Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1846(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1894(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1847) + T_UIDENT => Shift(yy_state_1895) _ => Error } } ///| -fn yy_state_1847(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1895(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1848) + T_LBRACE => Shift(yy_state_1896) _ => Error } } ///| -fn yy_state_1848(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1896(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_enum_constructor => Shift(yy_state_899) - NT_non_empty_list_attribute_ => Shift(yy_state_903) - T_UIDENT => Shift(yy_state_923) - NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_926) - NT_list_semis_enum_constructor_ => Shift(yy_state_1849) - T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_354) + T_ATTRIBUTE => Shift(yy_state_853) + NT_enum_constructor => Shift(yy_state_907) + NT_non_empty_list_attribute_ => Shift(yy_state_911) + T_UIDENT => Shift(yy_state_931) + NT_non_empty_list_semis_enum_constructor_ => Shift(yy_state_934) + NT_list_semis_enum_constructor_ => Shift(yy_state_1897) + T_RBRACE => Reduce(0, NT_list_semis_enum_constructor_, yy_action_364) _ => Error } } ///| -fn yy_state_1849(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1897(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1850) + T_RBRACE => Shift(yy_state_1898) _ => Error } } ///| -fn yy_state_1850(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1898(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FOR => Shift(yy_state_1851) + T_FOR => Shift(yy_state_1899) _ => Error } } ///| -fn yy_state_1851(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1899(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -52363,142 +53722,142 @@ fn yy_state_1851(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1852) + NT_type_ => Shift(yy_state_1900) _ => Error } } ///| -fn yy_state_1852(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1900(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1853) + T_WITH => Shift(yy_state_1901) _ => Error } } ///| -fn yy_state_1853(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1901(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1854) + T_LIDENT => Shift(yy_state_1902) _ => Error } } ///| -fn yy_state_1854(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1902(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1855) + NT_parameters => Shift(yy_state_1903) _ => Error } } ///| -fn yy_state_1855(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1903(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LBRACE => Shift(yy_state_124) - NT_block_expr => Shift(yy_state_1856) + NT_block_expr => Shift(yy_state_1904) _ => Error } } ///| -fn yy_state_1856(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1904(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(13, NT_structure_item, yy_action_30) } ///| -fn yy_state_1857(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1905(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1858) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1906) T_UIDENT | T_AMPER | T_PACKAGE_NAME => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1858(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1906(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - NT_type_name => Shift(yy_state_1859) + NT_type_name => Shift(yy_state_1907) _ => Error } } ///| -fn yy_state_1859(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1907(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1860) - T_FOR => Shift(yy_state_1866) + T_WITH => Shift(yy_state_1908) + T_FOR => Shift(yy_state_1914) _ => Error } } ///| -fn yy_state_1860(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1908(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1861) + T_LIDENT => Shift(yy_state_1909) _ => Error } } ///| -fn yy_state_1861(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1909(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1862) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1910) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1862(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1910(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1863) + NT_parameters => Shift(yy_state_1911) _ => Error } } ///| -fn yy_state_1863(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1911(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1864) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1912) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1864(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1912(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1865) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1913) _ => Error } } ///| -fn yy_state_1865(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1913(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(10, NT_structure_item, yy_action_29) } ///| -fn yy_state_1866(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1914(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -52507,252 +53866,252 @@ fn yy_state_1866(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1867) + NT_type_ => Shift(yy_state_1915) _ => Error } } ///| -fn yy_state_1867(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1915(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_WITH => Shift(yy_state_1868) + T_WITH => Shift(yy_state_1916) T_EOF | T_SEMI => Reduce(6, NT_structure_item, yy_action_28) _ => Error } } ///| -fn yy_state_1868(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1916(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1869) + T_LIDENT => Shift(yy_state_1917) _ => Error } } ///| -fn yy_state_1869(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1917(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1870) - T_LPAREN => Reduce(0, NT_optional_bang, yy_action_851) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1918) + T_LPAREN => Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1870(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1918(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1871) + NT_parameters => Shift(yy_state_1919) _ => Error } } ///| -fn yy_state_1871(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1919(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1872) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1920) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1872(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1920(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EQUAL => Shift(yy_state_960) - NT_block_expr_with_local_types => Shift(yy_state_962) - T_LBRACE => Shift(yy_state_963) - NT_impl_body => Shift(yy_state_1873) + T_EQUAL => Shift(yy_state_968) + NT_block_expr_with_local_types => Shift(yy_state_970) + T_LBRACE => Shift(yy_state_971) + NT_impl_body => Shift(yy_state_1921) _ => Error } } ///| -fn yy_state_1873(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1921(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(12, NT_structure_item, yy_action_27) } ///| -fn yy_state_1874(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1922(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1060) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_PACKAGE_NAME => Shift(yy_state_1064) - NT_batch_type_alias_targets => Shift(yy_state_1875) + T_UIDENT => Shift(yy_state_1068) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_PACKAGE_NAME => Shift(yy_state_1072) + NT_batch_type_alias_targets => Shift(yy_state_1923) _ => Error } } ///| -fn yy_state_1875(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1923(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_26) } ///| -fn yy_state_1876(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1924(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) T_AMPER => Shift(yy_state_58) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1063) - T_UIDENT => Shift(yy_state_1079) - T_PACKAGE_NAME => Shift(yy_state_1080) - NT_type_ => Shift(yy_state_1877) - NT_batch_type_alias_targets => Shift(yy_state_1881) + NT_batch_type_alias_target_UIDENT_ => Shift(yy_state_1071) + T_UIDENT => Shift(yy_state_1087) + T_PACKAGE_NAME => Shift(yy_state_1088) + NT_type_ => Shift(yy_state_1925) + NT_batch_type_alias_targets => Shift(yy_state_1929) _ => Error } } ///| -fn yy_state_1877(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1925(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_AS => Shift(yy_state_1878) + T_AS => Shift(yy_state_1926) _ => Error } } ///| -fn yy_state_1878(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1926(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1879) + T_UIDENT => Shift(yy_state_1927) _ => Error } } ///| -fn yy_state_1879(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1927(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1880) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1928) T_EOF | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1880(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1928(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_25) } ///| -fn yy_state_1881(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1929(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_24) } ///| -fn yy_state_1882(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1930(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1883) + T_UIDENT => Shift(yy_state_1931) _ => Error } } ///| -fn yy_state_1883(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1931(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1089) + T_COLON => Shift(yy_state_1097) NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___ => - Shift(yy_state_1884) + Shift(yy_state_1932) T_LBRACE => Reduce( 0, NT_option_preceded_COLON_separated_nonempty_list_PLUS_tvar_constraint___, - yy_action_268, + yy_action_278, ) _ => Error } } ///| -fn yy_state_1884(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1932(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_1885) + T_LBRACE => Shift(yy_state_1933) _ => Error } } ///| -fn yy_state_1885(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1933(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_ATTRIBUTE => Shift(yy_state_845) - NT_trait_method_decl => Shift(yy_state_1093) - NT_non_empty_list_attribute_ => Shift(yy_state_1097) - T_LIDENT => Shift(yy_state_1134) - T_ASYNC => Shift(yy_state_1142) - NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1151) - NT_list_semis_trait_method_decl_ => Shift(yy_state_1886) - T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_265) + T_ATTRIBUTE => Shift(yy_state_853) + NT_trait_method_decl => Shift(yy_state_1101) + NT_non_empty_list_attribute_ => Shift(yy_state_1105) + T_LIDENT => Shift(yy_state_1142) + T_ASYNC => Shift(yy_state_1150) + NT_non_empty_list_semis_trait_method_decl_ => Shift(yy_state_1159) + NT_list_semis_trait_method_decl_ => Shift(yy_state_1934) + T_RBRACE => Reduce(0, NT_list_semis_trait_method_decl_, yy_action_275) _ => Error } } ///| -fn yy_state_1886(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1934(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_RBRACE => Shift(yy_state_1887) + T_RBRACE => Shift(yy_state_1935) _ => Error } } ///| -fn yy_state_1887(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1935(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(7, NT_structure_item, yy_action_23) } ///| -fn yy_state_1888(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1936(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1155) - T_LIDENT => Shift(yy_state_1157) - NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1162) - T_PACKAGE_NAME => Shift(yy_state_1172) - NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1187) - NT_func_alias_target_LIDENT_ => Shift(yy_state_1189) - NT_func_alias_targets => Shift(yy_state_1889) + T_UIDENT => Shift(yy_state_1163) + T_LIDENT => Shift(yy_state_1165) + NT_option_func_alias_type_name_LIDENT_UIDENT__ => Shift(yy_state_1170) + T_PACKAGE_NAME => Shift(yy_state_1180) + NT_func_alias_type_name_LIDENT_UIDENT_ => Shift(yy_state_1195) + NT_func_alias_target_LIDENT_ => Shift(yy_state_1197) + NT_func_alias_targets => Shift(yy_state_1937) T_LPAREN => - Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_243) + Reduce(0, NT_option_func_alias_type_name_LIDENT_UIDENT__, yy_action_253) _ => Error } } ///| -fn yy_state_1889(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1937(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_structure_item, yy_action_22) } ///| -fn yy_state_1890(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1938(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1891) + T_UIDENT => Shift(yy_state_1939) _ => Error } } ///| -fn yy_state_1891(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1939(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1892) + T_COLON => Shift(yy_state_1940) T_EQUAL => Reduce(3, NT_val_header, yy_action_21) _ => Error } } ///| -fn yy_state_1892(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1940(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -52761,35 +54120,35 @@ fn yy_state_1892(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1893) + NT_type_ => Shift(yy_state_1941) _ => Error } } ///| -fn yy_state_1893(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1941(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_val_header, yy_action_20) } ///| -fn yy_state_1894(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1942(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LIDENT => Shift(yy_state_1895) + T_LIDENT => Shift(yy_state_1943) _ => Error } } ///| -fn yy_state_1895(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1943(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_COLON => Shift(yy_state_1896) + T_COLON => Shift(yy_state_1944) T_EQUAL => Reduce(3, NT_val_header, yy_action_18) _ => Error } } ///| -fn yy_state_1896(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1944(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_ASYNC => Shift(yy_state_52) T_UNDERSCORE => Shift(yy_state_57) @@ -52798,330 +54157,330 @@ fn yy_state_1896(_lookahead : YYSymbol) -> YYDecision { T_UIDENT => Shift(yy_state_67) T_LPAREN => Shift(yy_state_71) NT_simple_type => Shift(yy_state_100) - NT_type_ => Shift(yy_state_1897) + NT_type_ => Shift(yy_state_1945) _ => Error } } ///| -fn yy_state_1897(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1945(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_val_header, yy_action_14) } ///| -fn yy_state_1898(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1946(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_TYPE => Shift(yy_state_1899) - T_STRING => Shift(yy_state_1903) + T_TYPE => Shift(yy_state_1947) + T_STRING => Shift(yy_state_1951) _ => Error } } ///| -fn yy_state_1899(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1947(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_UIDENT => Shift(yy_state_1900) + T_UIDENT => Shift(yy_state_1948) _ => Error } } ///| -fn yy_state_1900(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1948(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACKET => Shift(yy_state_849) + T_LBRACKET => Shift(yy_state_857) NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__ => - Shift(yy_state_860) - NT_optional_type_parameters_no_constraints => Shift(yy_state_1901) + Shift(yy_state_868) + NT_optional_type_parameters_no_constraints => Shift(yy_state_1949) T_EOF | T_DERIVE | T_SEMI => Reduce( 0, NT_option_delimited_LBRACKET_non_empty_list_commas_id_type_decl_binder___RBRACKET__, - yy_action_384, + yy_action_394, ) _ => Error } } ///| -fn yy_state_1901(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1949(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_DERIVE => Shift(yy_state_973) - NT_deriving_directive_list => Shift(yy_state_1902) - T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_315) + T_DERIVE => Shift(yy_state_981) + NT_deriving_directive_list => Shift(yy_state_1950) + T_EOF | T_SEMI => Reduce(0, NT_deriving_directive_list, yy_action_325) _ => Error } } ///| -fn yy_state_1902(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1950(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(6, NT_structure_item, yy_action_13) } ///| -fn yy_state_1903(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1951(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1904) + T_FN => Shift(yy_state_1952) _ => Error } } ///| -fn yy_state_1904(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1952(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_AMPER => Shift(yy_state_18) T_PACKAGE_NAME => Shift(yy_state_20) T_UIDENT => Shift(yy_state_23) NT_qual_ident_ty => Shift(yy_state_24) - T_LIDENT => Shift(yy_state_1257) - NT_type_name => Shift(yy_state_1258) - NT_fun_binder => Shift(yy_state_1905) + T_LIDENT => Shift(yy_state_1305) + NT_type_name => Shift(yy_state_1306) + NT_fun_binder => Shift(yy_state_1953) _ => Error } } ///| -fn yy_state_1905(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1953(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EXCLAMATION => Shift(yy_state_726) - NT_optional_bang => Shift(yy_state_1906) + T_EXCLAMATION => Shift(yy_state_734) + NT_optional_bang => Shift(yy_state_1954) T_RAISE | T_EQUAL | T_LPAREN | T_LBRACKET | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_optional_bang, yy_action_851) + Reduce(0, NT_optional_bang, yy_action_863) _ => Error } } ///| -fn yy_state_1906(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1954(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - NT_type_parameters => Shift(yy_state_895) - NT_option_type_parameters_ => Shift(yy_state_935) - T_LBRACKET => Shift(yy_state_936) - NT_optional_type_parameters => Shift(yy_state_1907) + NT_type_parameters => Shift(yy_state_903) + NT_option_type_parameters_ => Shift(yy_state_943) + T_LBRACKET => Shift(yy_state_944) + NT_optional_type_parameters => Shift(yy_state_1955) T_RAISE | T_EQUAL | T_LPAREN | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_type_parameters_, yy_action_356) + Reduce(0, NT_option_type_parameters_, yy_action_366) _ => Error } } ///| -fn yy_state_1907(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1955(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1908) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1956) T_RAISE | T_EQUAL | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1908(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1956(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1909) - T_EQUAL => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1957) + T_EQUAL => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1909(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1957(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(9, NT_extern_fun_header, yy_action_12) } ///| -fn yy_state_1910(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1958(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1911) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1959) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1911(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1959(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1912) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1960) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1912(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1960(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_fun_header, yy_action_11) } ///| -fn yy_state_1913(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1961(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - NT_fun_header_generic => Shift(yy_state_1914) + T_FN => Shift(yy_state_1309) + NT_fun_header_generic => Shift(yy_state_1962) _ => Error } } ///| -fn yy_state_1914(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1962(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1915) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1963) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1915(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1963(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1916) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1964) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1916(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1964(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_fun_header, yy_action_9) } ///| -fn yy_state_1917(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1965(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1918) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1966) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1918(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1966(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1919) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1967) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1919(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1967(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(3, NT_fun_header, yy_action_7) } ///| -fn yy_state_1920(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1968(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_FN => Shift(yy_state_1261) - T_TEST => Shift(yy_state_1921) - NT_fun_header_generic => Shift(yy_state_1925) + T_FN => Shift(yy_state_1309) + T_TEST => Shift(yy_state_1969) + NT_fun_header_generic => Shift(yy_state_1973) _ => Error } } ///| -fn yy_state_1921(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1969(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_STRING => Shift(yy_state_1054) - NT_option_loced_string_ => Shift(yy_state_1922) - T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_287) + T_STRING => Shift(yy_state_1062) + NT_option_loced_string_ => Shift(yy_state_1970) + T_LPAREN | T_LBRACE => Reduce(0, NT_option_loced_string_, yy_action_297) _ => Error } } ///| -fn yy_state_1922(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1970(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1923) - T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_284) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1971) + T_LBRACE => Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1923(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1971(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_LBRACE => Shift(yy_state_963) - NT_block_expr_with_local_types => Shift(yy_state_1924) + T_LBRACE => Shift(yy_state_971) + NT_block_expr_with_local_types => Shift(yy_state_1972) _ => Error } } ///| -fn yy_state_1924(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1972(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(5, NT_structure_item, yy_action_6) } ///| -fn yy_state_1925(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1973(_lookahead : YYSymbol) -> YYDecision { match _lookahead { T_LPAREN => Shift(yy_state_148) - NT_parameters => Shift(yy_state_1056) - NT_option_parameters_ => Shift(yy_state_1926) + NT_parameters => Shift(yy_state_1064) + NT_option_parameters_ => Shift(yy_state_1974) T_RAISE | T_EQUAL | T_LBRACE | T_THIN_ARROW | T_NORAISE => - Reduce(0, NT_option_parameters_, yy_action_284) + Reduce(0, NT_option_parameters_, yy_action_294) _ => Error } } ///| -fn yy_state_1926(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1974(_lookahead : YYSymbol) -> YYDecision { match _lookahead { NT_error_annotation => Shift(yy_state_50) T_THIN_ARROW => Shift(yy_state_51) T_NORAISE => Shift(yy_state_83) T_RAISE => Shift(yy_state_84) - NT_func_return_type => Shift(yy_state_1927) - T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_850) + NT_func_return_type => Shift(yy_state_1975) + T_EQUAL | T_LBRACE => Reduce(0, NT_func_return_type, yy_action_862) _ => Error } } ///| -fn yy_state_1927(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1975(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(4, NT_fun_header, yy_action_2) } ///| -fn yy_state_1928(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1976(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(1, NT_list_semis_structure_item_, yy_action_1) } ///| -fn yy_state_1929(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1977(_lookahead : YYSymbol) -> YYDecision { match _lookahead { - T_EOF => Shift(yy_state_1930) + T_EOF => Shift(yy_state_1978) _ => Error } } ///| -fn yy_state_1930(_lookahead : YYSymbol) -> YYDecision { +fn yy_state_1978(_lookahead : YYSymbol) -> YYDecision { ReduceNoLookahead(2, NT_structure, yy_action_0) } @@ -53355,11 +54714,13 @@ fn error( (T_ENUMVIEW, TK_ENUMVIEW), (T_DECLARE, TK_DECLARE), (T_NORAISE, TK_NORAISE), + (T_NOBREAK, TK_NOBREAK), (T_WHERE, TK_WHERE), (T_TRY_QUESTION, TK_TRY_QUESTION), (T_TRY_EXCLAMATION, TK_TRY_EXCLAMATION), (T_LEXMATCH, TK_LEXMATCH), (T_LEXMATCH_QUESTION, TK_LEXMATCH_QUESTION), + (T_PACKAGE, TK_PACKAGE), ] : Array[(YYSymbol, TokenKind)]) { try_add(term.0, term.1) } @@ -53376,7 +54737,7 @@ pub fn structure( ) -> List[Impl] raise ParseError { yy_parse( tokens, - yy_state_839, + yy_state_847, it => { guard it is YYObj_List_Impl_(result) result diff --git a/yacc_parser/parser.mbt.map.json b/yacc_parser/parser.mbt.map.json index e8feb223..9ba61ab1 100644 --- a/yacc_parser/parser.mbt.map.json +++ b/yacc_parser/parser.mbt.map.json @@ -2,21488 +2,22040 @@ "mappings": [ { "source": "parser.mbty", - "original_offset": 11300, - "generated_offset": 21511, + "original_offset": 11523, + "generated_offset": 21751, "length": 1 }, { "source": "parser.mbty", - "original_offset": 11303, - "generated_offset": 21520, + "original_offset": 11526, + "generated_offset": 21760, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5481, - "generated_offset": 21763, + "original_offset": 5600, + "generated_offset": 22003, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5484, - "generated_offset": 21772, + "original_offset": 5603, + "generated_offset": 22012, "length": 1 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 23168, + "original_offset": 7703, + "generated_offset": 23607, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 23223, + "original_offset": 7752, + "generated_offset": 23662, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 23268, + "original_offset": 7791, + "generated_offset": 23707, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 23358, + "original_offset": 7875, + "generated_offset": 23797, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 23414, + "original_offset": 7925, + "generated_offset": 23853, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 23481, + "original_offset": 7960, + "generated_offset": 23920, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 23540, + "original_offset": 8013, + "generated_offset": 23979, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 23594, + "original_offset": 8061, + "generated_offset": 24033, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 24076, "length": 10 }, { "source": "parser.mbty", - "original_offset": 19047, - "generated_offset": 24770, + "original_offset": 19311, + "generated_offset": 25252, "length": 31 }, { "source": "parser.mbty", - "original_offset": 19080, - "generated_offset": 24809, + "original_offset": 19344, + "generated_offset": 25291, "length": 40 }, { "source": "parser.mbty", - "original_offset": 19122, - "generated_offset": 24857, + "original_offset": 19386, + "generated_offset": 25339, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19141, - "generated_offset": 24882, + "original_offset": 19405, + "generated_offset": 25364, "length": 39 }, { "source": "parser.mbty", - "original_offset": 19182, - "generated_offset": 24929, + "original_offset": 19446, + "generated_offset": 25411, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19208, - "generated_offset": 24979, + "original_offset": 19472, + "generated_offset": 25461, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19227, - "generated_offset": 25004, + "original_offset": 19491, + "generated_offset": 25486, "length": 41 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 26440, + "original_offset": 7703, + "generated_offset": 27121, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 26495, + "original_offset": 7752, + "generated_offset": 27176, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 26540, + "original_offset": 7791, + "generated_offset": 27221, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 26630, + "original_offset": 7875, + "generated_offset": 27311, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 26686, + "original_offset": 7925, + "generated_offset": 27367, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 26753, + "original_offset": 7960, + "generated_offset": 27434, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 26812, + "original_offset": 8013, + "generated_offset": 27493, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 26866, + "original_offset": 8061, + "generated_offset": 27547, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 27590, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 28273, + "original_offset": 7703, + "generated_offset": 29196, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 28328, + "original_offset": 7752, + "generated_offset": 29251, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 28373, + "original_offset": 7791, + "generated_offset": 29296, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 28463, + "original_offset": 7875, + "generated_offset": 29386, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 28519, + "original_offset": 7925, + "generated_offset": 29442, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 28586, + "original_offset": 7960, + "generated_offset": 29509, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 28645, + "original_offset": 8013, + "generated_offset": 29568, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 28699, + "original_offset": 8061, + "generated_offset": 29622, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 29665, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 30107, + "original_offset": 7703, + "generated_offset": 31272, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 30162, + "original_offset": 7752, + "generated_offset": 31327, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 30207, + "original_offset": 7791, + "generated_offset": 31372, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 30297, + "original_offset": 7875, + "generated_offset": 31462, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 30353, + "original_offset": 7925, + "generated_offset": 31518, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 30420, + "original_offset": 7960, + "generated_offset": 31585, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 30479, + "original_offset": 8013, + "generated_offset": 31644, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 30533, + "original_offset": 8061, + "generated_offset": 31698, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 31741, "length": 10 }, { "source": "parser.mbty", - "original_offset": 9744, - "generated_offset": 32025, + "original_offset": 9942, + "generated_offset": 33432, "length": 26 }, { "source": "parser.mbty", - "original_offset": 9772, - "generated_offset": 32059, + "original_offset": 9970, + "generated_offset": 33466, "length": 37 }, { "source": "parser.mbty", - "original_offset": 9812, - "generated_offset": 32105, + "original_offset": 10010, + "generated_offset": 33512, "length": 80 }, { "source": "parser.mbty", - "original_offset": 9894, - "generated_offset": 32193, + "original_offset": 10092, + "generated_offset": 33600, "length": 44 }, { "source": "parser.mbty", - "original_offset": 9940, - "generated_offset": 32245, + "original_offset": 10138, + "generated_offset": 33652, "length": 21 }, { "source": "parser.mbty", - "original_offset": 9963, - "generated_offset": 32274, + "original_offset": 10161, + "generated_offset": 33681, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9998, - "generated_offset": 32341, + "original_offset": 10196, + "generated_offset": 33748, "length": 51 }, { "source": "parser.mbty", - "original_offset": 10051, - "generated_offset": 32400, + "original_offset": 10249, + "generated_offset": 33807, "length": 46 }, { "source": "parser.mbty", - "original_offset": 10099, - "generated_offset": 32454, + "original_offset": 10297, + "generated_offset": 33861, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 10322, + "generated_offset": 33904, "length": 13 }, { "source": "parser.mbty", - "original_offset": 10114, - "generated_offset": 32475, + "original_offset": 10337, + "generated_offset": 33925, "length": 13 }, { "source": "parser.mbty", - "original_offset": 11828, - "generated_offset": 33826, + "original_offset": 12051, + "generated_offset": 35276, "length": 51 }, { "source": "parser.mbty", - "original_offset": 11881, - "generated_offset": 33885, + "original_offset": 12104, + "generated_offset": 35335, "length": 29 }, { "source": "parser.mbty", - "original_offset": 11918, - "generated_offset": 33954, + "original_offset": 12141, + "generated_offset": 35404, "length": 20 }, { "source": "parser.mbty", - "original_offset": 11940, - "generated_offset": 33982, + "original_offset": 12163, + "generated_offset": 35432, "length": 49 }, { "source": "parser.mbty", - "original_offset": 11991, - "generated_offset": 34039, + "original_offset": 12214, + "generated_offset": 35489, "length": 54 }, { "source": "parser.mbty", - "original_offset": 12047, - "generated_offset": 34101, + "original_offset": 12270, + "generated_offset": 35551, "length": 23 }, { "source": "parser.mbty", - "original_offset": 12075, - "generated_offset": 34153, + "original_offset": 12298, + "generated_offset": 35603, "length": 19 }, { "source": "parser.mbty", - "original_offset": 12096, - "generated_offset": 34180, + "original_offset": 12319, + "generated_offset": 35630, "length": 45 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 35133, + "original_offset": 11291, + "generated_offset": 36583, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 35143, + "original_offset": 11295, + "generated_offset": 36593, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 35160, + "original_offset": 11306, + "generated_offset": 36610, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 35170, + "original_offset": 11310, + "generated_offset": 36620, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 35180, + "original_offset": 11314, + "generated_offset": 36630, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 35190, + "original_offset": 11318, + "generated_offset": 36640, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 36100, + "original_offset": 11291, + "generated_offset": 37550, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 36110, + "original_offset": 11295, + "generated_offset": 37560, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 36127, + "original_offset": 11306, + "generated_offset": 37577, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 36137, + "original_offset": 11310, + "generated_offset": 37587, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 36147, + "original_offset": 11314, + "generated_offset": 37597, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 36157, + "original_offset": 11318, + "generated_offset": 37607, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 37111, + "original_offset": 11385, + "generated_offset": 38561, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 37121, + "original_offset": 11389, + "generated_offset": 38571, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 37137, + "original_offset": 11399, + "generated_offset": 38587, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 37147, + "original_offset": 11403, + "generated_offset": 38597, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 37174, + "original_offset": 11424, + "generated_offset": 38624, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 37229, + "original_offset": 11447, + "generated_offset": 38679, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 37242, + "original_offset": 11454, + "generated_offset": 38692, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 38196, + "original_offset": 11385, + "generated_offset": 39646, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 38206, + "original_offset": 11389, + "generated_offset": 39656, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 38222, + "original_offset": 11399, + "generated_offset": 39672, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 38232, + "original_offset": 11403, + "generated_offset": 39682, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 38259, + "original_offset": 11424, + "generated_offset": 39709, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 38314, + "original_offset": 11447, + "generated_offset": 39764, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 38327, + "original_offset": 11454, + "generated_offset": 39777, "length": 2 }, { "source": "parser.mbty", - "original_offset": 16817, - "generated_offset": 39342, + "original_offset": 17081, + "generated_offset": 40792, "length": 46 }, { "source": "parser.mbty", - "original_offset": 16865, - "generated_offset": 39396, + "original_offset": 17129, + "generated_offset": 40846, "length": 77 }, { "source": "parser.mbty", - "original_offset": 16944, - "generated_offset": 39481, + "original_offset": 17208, + "generated_offset": 40931, "length": 16 }, { "source": "parser.mbty", - "original_offset": 16962, - "generated_offset": 39505, + "original_offset": 17226, + "generated_offset": 40955, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17036, - "generated_offset": 39603, + "original_offset": 17300, + "generated_offset": 41053, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 41214, + "original_offset": 17475, + "generated_offset": 42664, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 41254, + "original_offset": 17509, + "generated_offset": 42704, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 41308, + "original_offset": 17531, + "generated_offset": 42758, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 41343, + "original_offset": 17560, + "generated_offset": 42793, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 41497, + "original_offset": 17708, + "generated_offset": 42947, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 41520, + "original_offset": 17725, + "generated_offset": 42970, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 41571, + "original_offset": 17752, + "generated_offset": 43021, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 41597, + "original_offset": 17772, + "generated_offset": 43047, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 41662, + "original_offset": 17831, + "generated_offset": 43112, "length": 17 }, { "source": "parser.mbty", - "original_offset": 17650, - "generated_offset": 42661, + "original_offset": 17914, + "generated_offset": 44111, "length": 35 }, { "source": "parser.mbty", - "original_offset": 17687, - "generated_offset": 42704, + "original_offset": 17951, + "generated_offset": 44154, "length": 64 }, { "source": "parser.mbty", - "original_offset": 17753, - "generated_offset": 42776, + "original_offset": 18017, + "generated_offset": 44226, "length": 16 }, { "source": "parser.mbty", - "original_offset": 17771, - "generated_offset": 42800, + "original_offset": 18035, + "generated_offset": 44250, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17845, - "generated_offset": 42898, + "original_offset": 18109, + "generated_offset": 44348, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17954, - "generated_offset": 44224, + "original_offset": 18218, + "generated_offset": 45674, "length": 51 }, { "source": "parser.mbty", - "original_offset": 18007, - "generated_offset": 44283, + "original_offset": 18271, + "generated_offset": 45733, "length": 29 }, { "source": "parser.mbty", - "original_offset": 18044, - "generated_offset": 44352, + "original_offset": 18308, + "generated_offset": 45802, "length": 20 }, { "source": "parser.mbty", - "original_offset": 18066, - "generated_offset": 44380, + "original_offset": 18330, + "generated_offset": 45830, "length": 28 }, { "source": "parser.mbty", - "original_offset": 18096, - "generated_offset": 44416, + "original_offset": 18360, + "generated_offset": 45866, "length": 22 }, { "source": "parser.mbty", - "original_offset": 18120, - "generated_offset": 44446, + "original_offset": 18384, + "generated_offset": 45896, "length": 90 }, { "source": "parser.mbty", - "original_offset": 18215, - "generated_offset": 44565, + "original_offset": 18479, + "generated_offset": 46015, "length": 19 }, { "source": "parser.mbty", - "original_offset": 18236, - "generated_offset": 44592, + "original_offset": 18500, + "generated_offset": 46042, "length": 45 }, { "source": "parser.mbty", - "original_offset": 18739, - "generated_offset": 45621, + "original_offset": 19003, + "generated_offset": 47071, "length": 35 }, { "source": "parser.mbty", - "original_offset": 18776, - "generated_offset": 45664, + "original_offset": 19040, + "generated_offset": 47114, "length": 65 }, { "source": "parser.mbty", - "original_offset": 18843, - "generated_offset": 45737, + "original_offset": 19107, + "generated_offset": 47187, "length": 16 }, { "source": "parser.mbty", - "original_offset": 18861, - "generated_offset": 45761, + "original_offset": 19125, + "generated_offset": 47211, "length": 69 }, { "source": "parser.mbty", - "original_offset": 18935, - "generated_offset": 45859, + "original_offset": 19199, + "generated_offset": 47309, "length": 10 }, { "source": "parser.mbty", - "original_offset": 19417, - "generated_offset": 47509, + "original_offset": 19681, + "generated_offset": 48959, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19448, - "generated_offset": 47546, + "original_offset": 19712, + "generated_offset": 48996, "length": 35 }, { "source": "parser.mbty", - "original_offset": 19485, - "generated_offset": 47589, + "original_offset": 19749, + "generated_offset": 49039, "length": 18 }, { "source": "parser.mbty", - "original_offset": 19505, - "generated_offset": 47615, + "original_offset": 19769, + "generated_offset": 49065, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19529, - "generated_offset": 47645, + "original_offset": 19793, + "generated_offset": 49095, "length": 20 }, { "source": "parser.mbty", - "original_offset": 19552, - "generated_offset": 47674, + "original_offset": 19816, + "generated_offset": 49124, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19576, - "generated_offset": 47704, + "original_offset": 19840, + "generated_offset": 49154, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19596, - "generated_offset": 47730, + "original_offset": 19860, + "generated_offset": 49180, "length": 45 }, { "source": "parser.mbty", - "original_offset": 19644, - "generated_offset": 47784, + "original_offset": 19908, + "generated_offset": 49234, "length": 14 }, { "source": "parser.mbty", - "original_offset": 19660, - "generated_offset": 47806, + "original_offset": 19924, + "generated_offset": 49256, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19686, - "generated_offset": 47856, + "original_offset": 19950, + "generated_offset": 49306, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19705, - "generated_offset": 47881, + "original_offset": 19969, + "generated_offset": 49331, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 49129, + "original_offset": 20564, + "generated_offset": 50579, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 49175, + "original_offset": 20604, + "generated_offset": 50625, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 49200, + "original_offset": 20623, + "generated_offset": 50650, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 49230, + "original_offset": 20647, + "generated_offset": 50680, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 49252, + "original_offset": 20663, + "generated_offset": 50702, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 49276, + "original_offset": 20681, + "generated_offset": 50726, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 49326, + "original_offset": 20707, + "generated_offset": 50776, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 49388, + "original_offset": 20763, + "generated_offset": 50838, "length": 9 }, { "source": "parser.mbty", - "original_offset": 19883, - "generated_offset": 50972, + "original_offset": 20147, + "generated_offset": 52422, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19914, - "generated_offset": 51009, + "original_offset": 20178, + "generated_offset": 52459, "length": 51 }, { "source": "parser.mbty", - "original_offset": 19967, - "generated_offset": 51068, + "original_offset": 20231, + "generated_offset": 52518, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19991, - "generated_offset": 51098, + "original_offset": 20255, + "generated_offset": 52548, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20013, - "generated_offset": 51126, + "original_offset": 20277, + "generated_offset": 52576, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20037, - "generated_offset": 51156, + "original_offset": 20301, + "generated_offset": 52606, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20056, - "generated_offset": 51181, + "original_offset": 20320, + "generated_offset": 52631, "length": 45 }, { "source": "parser.mbty", - "original_offset": 20104, - "generated_offset": 51235, + "original_offset": 20368, + "generated_offset": 52685, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20120, - "generated_offset": 51257, + "original_offset": 20384, + "generated_offset": 52707, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20146, - "generated_offset": 51307, + "original_offset": 20410, + "generated_offset": 52757, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20165, - "generated_offset": 51332, + "original_offset": 20429, + "generated_offset": 52782, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20665, - "generated_offset": 53148, + "original_offset": 20929, + "generated_offset": 54598, "length": 34 }, { "source": "parser.mbty", - "original_offset": 20701, - "generated_offset": 53190, + "original_offset": 20965, + "generated_offset": 54640, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20724, - "generated_offset": 53219, + "original_offset": 20988, + "generated_offset": 54669, "length": 25 }, { "source": "parser.mbty", - "original_offset": 20751, - "generated_offset": 53252, + "original_offset": 21015, + "generated_offset": 54702, "length": 31 }, { "source": "parser.mbty", - "original_offset": 20790, - "generated_offset": 53323, + "original_offset": 21054, + "generated_offset": 54773, "length": 26 }, { "source": "parser.mbty", - "original_offset": 20819, - "generated_offset": 53358, + "original_offset": 21083, + "generated_offset": 54808, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20843, - "generated_offset": 53388, + "original_offset": 21107, + "generated_offset": 54838, "length": 28 }, { "source": "parser.mbty", - "original_offset": 20880, - "generated_offset": 53458, + "original_offset": 21144, + "generated_offset": 54908, "length": 24 }, { "source": "parser.mbty", - "original_offset": 20906, - "generated_offset": 53490, + "original_offset": 21170, + "generated_offset": 54940, "length": 15 }, { "source": "parser.mbty", - "original_offset": 20924, - "generated_offset": 53514, + "original_offset": 21188, + "generated_offset": 54964, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20940, - "generated_offset": 53536, + "original_offset": 21204, + "generated_offset": 54986, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20966, - "generated_offset": 53586, + "original_offset": 21230, + "generated_offset": 55036, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20985, - "generated_offset": 53611, + "original_offset": 21249, + "generated_offset": 55061, "length": 41 }, { "source": "parser.mbty", - "original_offset": 21110, - "generated_offset": 54787, + "original_offset": 21374, + "generated_offset": 56237, "length": 44 }, { "source": "parser.mbty", - "original_offset": 21156, - "generated_offset": 54839, + "original_offset": 21420, + "generated_offset": 56289, "length": 23 }, { "source": "parser.mbty", - "original_offset": 21187, - "generated_offset": 54902, + "original_offset": 21451, + "generated_offset": 56352, "length": 25 }, { "source": "parser.mbty", - "original_offset": 21214, - "generated_offset": 54935, + "original_offset": 21478, + "generated_offset": 56385, "length": 14 }, { "source": "parser.mbty", - "original_offset": 21230, - "generated_offset": 54957, + "original_offset": 21494, + "generated_offset": 56407, "length": 16 }, { "source": "parser.mbty", - "original_offset": 21248, - "generated_offset": 54981, + "original_offset": 21512, + "generated_offset": 56431, "length": 21 }, { "source": "parser.mbty", - "original_offset": 21273, - "generated_offset": 55024, + "original_offset": 21537, + "generated_offset": 56474, "length": 42 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 55996, + "original_offset": 22299, + "generated_offset": 57446, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 56011, + "original_offset": 22308, + "generated_offset": 57461, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 56021, + "original_offset": 22312, + "generated_offset": 57471, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 56031, + "original_offset": 22316, + "generated_offset": 57481, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 56041, + "original_offset": 22320, + "generated_offset": 57491, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 56090, + "original_offset": 22337, + "generated_offset": 57540, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 56101, + "original_offset": 22342, + "generated_offset": 57551, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 56893, + "original_offset": 22483, + "generated_offset": 58343, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 56903, + "original_offset": 22487, + "generated_offset": 58353, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 56913, + "original_offset": 22491, + "generated_offset": 58363, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 56923, + "original_offset": 22495, + "generated_offset": 58373, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 56933, + "original_offset": 22499, + "generated_offset": 58383, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 56982, + "original_offset": 22516, + "generated_offset": 58432, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22432, - "generated_offset": 57778, + "original_offset": 22696, + "generated_offset": 59228, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22441, - "generated_offset": 57793, + "original_offset": 22705, + "generated_offset": 59243, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22445, - "generated_offset": 57803, + "original_offset": 22709, + "generated_offset": 59253, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22449, - "generated_offset": 57813, + "original_offset": 22713, + "generated_offset": 59263, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22466, - "generated_offset": 57862, + "original_offset": 22730, + "generated_offset": 59312, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22471, - "generated_offset": 57873, + "original_offset": 22735, + "generated_offset": 59323, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22649, - "generated_offset": 58669, + "original_offset": 22913, + "generated_offset": 60119, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22658, - "generated_offset": 58684, + "original_offset": 22922, + "generated_offset": 60134, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22662, - "generated_offset": 58694, + "original_offset": 22926, + "generated_offset": 60144, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22666, - "generated_offset": 58704, + "original_offset": 22930, + "generated_offset": 60154, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22683, - "generated_offset": 58753, + "original_offset": 22947, + "generated_offset": 60203, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22688, - "generated_offset": 58764, + "original_offset": 22952, + "generated_offset": 60214, "length": 5 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 60167, + "original_offset": 7703, + "generated_offset": 61816, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 60222, + "original_offset": 7752, + "generated_offset": 61871, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 60267, + "original_offset": 7791, + "generated_offset": 61916, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 60357, + "original_offset": 7875, + "generated_offset": 62006, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 60413, + "original_offset": 7925, + "generated_offset": 62062, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 60480, + "original_offset": 7960, + "generated_offset": 62129, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 60539, + "original_offset": 8013, + "generated_offset": 62188, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 60593, + "original_offset": 8061, + "generated_offset": 62242, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 62285, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 62001, + "original_offset": 7703, + "generated_offset": 63892, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 62056, + "original_offset": 7752, + "generated_offset": 63947, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 62101, + "original_offset": 7791, + "generated_offset": 63992, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 62191, + "original_offset": 7875, + "generated_offset": 64082, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 62247, + "original_offset": 7925, + "generated_offset": 64138, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 62314, + "original_offset": 7960, + "generated_offset": 64205, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 62373, + "original_offset": 8013, + "generated_offset": 64264, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 62427, + "original_offset": 8061, + "generated_offset": 64318, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 64361, "length": 10 }, { "source": "parser.mbty", - "original_offset": 9744, - "generated_offset": 63919, + "original_offset": 9942, + "generated_offset": 66052, "length": 26 }, { "source": "parser.mbty", - "original_offset": 9772, - "generated_offset": 63953, + "original_offset": 9970, + "generated_offset": 66086, "length": 37 }, { "source": "parser.mbty", - "original_offset": 9812, - "generated_offset": 63999, + "original_offset": 10010, + "generated_offset": 66132, "length": 80 }, { "source": "parser.mbty", - "original_offset": 9894, - "generated_offset": 64087, + "original_offset": 10092, + "generated_offset": 66220, "length": 44 }, { "source": "parser.mbty", - "original_offset": 9940, - "generated_offset": 64139, + "original_offset": 10138, + "generated_offset": 66272, "length": 21 }, { "source": "parser.mbty", - "original_offset": 9963, - "generated_offset": 64168, + "original_offset": 10161, + "generated_offset": 66301, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9998, - "generated_offset": 64235, + "original_offset": 10196, + "generated_offset": 66368, "length": 51 }, { "source": "parser.mbty", - "original_offset": 10051, - "generated_offset": 64294, + "original_offset": 10249, + "generated_offset": 66427, "length": 46 }, { "source": "parser.mbty", - "original_offset": 10099, - "generated_offset": 64348, + "original_offset": 10297, + "generated_offset": 66481, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 10322, + "generated_offset": 66524, "length": 13 }, { "source": "parser.mbty", - "original_offset": 10114, - "generated_offset": 64369, + "original_offset": 10337, + "generated_offset": 66545, "length": 13 }, { "source": "parser.mbty", - "original_offset": 11828, - "generated_offset": 65720, + "original_offset": 12051, + "generated_offset": 67896, "length": 51 }, { "source": "parser.mbty", - "original_offset": 11881, - "generated_offset": 65779, + "original_offset": 12104, + "generated_offset": 67955, "length": 29 }, { "source": "parser.mbty", - "original_offset": 11918, - "generated_offset": 65848, + "original_offset": 12141, + "generated_offset": 68024, "length": 20 }, { "source": "parser.mbty", - "original_offset": 11940, - "generated_offset": 65876, + "original_offset": 12163, + "generated_offset": 68052, "length": 49 }, { "source": "parser.mbty", - "original_offset": 11991, - "generated_offset": 65933, + "original_offset": 12214, + "generated_offset": 68109, "length": 54 }, { "source": "parser.mbty", - "original_offset": 12047, - "generated_offset": 65995, + "original_offset": 12270, + "generated_offset": 68171, "length": 23 }, { "source": "parser.mbty", - "original_offset": 12075, - "generated_offset": 66047, + "original_offset": 12298, + "generated_offset": 68223, "length": 19 }, { "source": "parser.mbty", - "original_offset": 12096, - "generated_offset": 66074, + "original_offset": 12319, + "generated_offset": 68250, "length": 45 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 67027, + "original_offset": 11291, + "generated_offset": 69203, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 67037, + "original_offset": 11295, + "generated_offset": 69213, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 67054, + "original_offset": 11306, + "generated_offset": 69230, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 67064, + "original_offset": 11310, + "generated_offset": 69240, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 67074, + "original_offset": 11314, + "generated_offset": 69250, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 67084, + "original_offset": 11318, + "generated_offset": 69260, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 67994, + "original_offset": 11291, + "generated_offset": 70170, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 68004, + "original_offset": 11295, + "generated_offset": 70180, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 68021, + "original_offset": 11306, + "generated_offset": 70197, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 68031, + "original_offset": 11310, + "generated_offset": 70207, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 68041, + "original_offset": 11314, + "generated_offset": 70217, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 68051, + "original_offset": 11318, + "generated_offset": 70227, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 69005, + "original_offset": 11385, + "generated_offset": 71181, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 69015, + "original_offset": 11389, + "generated_offset": 71191, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 69031, + "original_offset": 11399, + "generated_offset": 71207, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 69041, + "original_offset": 11403, + "generated_offset": 71217, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 69068, + "original_offset": 11424, + "generated_offset": 71244, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 69123, + "original_offset": 11447, + "generated_offset": 71299, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 69136, + "original_offset": 11454, + "generated_offset": 71312, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 70090, + "original_offset": 11385, + "generated_offset": 72266, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 70100, + "original_offset": 11389, + "generated_offset": 72276, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 70116, + "original_offset": 11399, + "generated_offset": 72292, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 70126, + "original_offset": 11403, + "generated_offset": 72302, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 70153, + "original_offset": 11424, + "generated_offset": 72329, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 70208, + "original_offset": 11447, + "generated_offset": 72384, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 70221, + "original_offset": 11454, + "generated_offset": 72397, "length": 2 }, { "source": "parser.mbty", - "original_offset": 16817, - "generated_offset": 71236, + "original_offset": 17081, + "generated_offset": 73412, "length": 46 }, { "source": "parser.mbty", - "original_offset": 16865, - "generated_offset": 71290, + "original_offset": 17129, + "generated_offset": 73466, "length": 77 }, { "source": "parser.mbty", - "original_offset": 16944, - "generated_offset": 71375, + "original_offset": 17208, + "generated_offset": 73551, "length": 16 }, { "source": "parser.mbty", - "original_offset": 16962, - "generated_offset": 71399, + "original_offset": 17226, + "generated_offset": 73575, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17036, - "generated_offset": 71497, + "original_offset": 17300, + "generated_offset": 73673, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 73108, + "original_offset": 17475, + "generated_offset": 75284, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 73148, + "original_offset": 17509, + "generated_offset": 75324, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 73202, + "original_offset": 17531, + "generated_offset": 75378, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 73237, + "original_offset": 17560, + "generated_offset": 75413, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 73391, + "original_offset": 17708, + "generated_offset": 75567, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 73414, + "original_offset": 17725, + "generated_offset": 75590, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 73465, + "original_offset": 17752, + "generated_offset": 75641, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 73491, + "original_offset": 17772, + "generated_offset": 75667, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 73556, + "original_offset": 17831, + "generated_offset": 75732, "length": 17 }, { "source": "parser.mbty", - "original_offset": 17650, - "generated_offset": 74555, + "original_offset": 17914, + "generated_offset": 76731, "length": 35 }, { "source": "parser.mbty", - "original_offset": 17687, - "generated_offset": 74598, + "original_offset": 17951, + "generated_offset": 76774, "length": 64 }, { "source": "parser.mbty", - "original_offset": 17753, - "generated_offset": 74670, + "original_offset": 18017, + "generated_offset": 76846, "length": 16 }, { "source": "parser.mbty", - "original_offset": 17771, - "generated_offset": 74694, + "original_offset": 18035, + "generated_offset": 76870, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17845, - "generated_offset": 74792, + "original_offset": 18109, + "generated_offset": 76968, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17954, - "generated_offset": 76118, + "original_offset": 18218, + "generated_offset": 78294, "length": 51 }, { "source": "parser.mbty", - "original_offset": 18007, - "generated_offset": 76177, + "original_offset": 18271, + "generated_offset": 78353, "length": 29 }, { "source": "parser.mbty", - "original_offset": 18044, - "generated_offset": 76246, + "original_offset": 18308, + "generated_offset": 78422, "length": 20 }, { "source": "parser.mbty", - "original_offset": 18066, - "generated_offset": 76274, + "original_offset": 18330, + "generated_offset": 78450, "length": 28 }, { "source": "parser.mbty", - "original_offset": 18096, - "generated_offset": 76310, + "original_offset": 18360, + "generated_offset": 78486, "length": 22 }, { "source": "parser.mbty", - "original_offset": 18120, - "generated_offset": 76340, + "original_offset": 18384, + "generated_offset": 78516, "length": 90 }, { "source": "parser.mbty", - "original_offset": 18215, - "generated_offset": 76459, + "original_offset": 18479, + "generated_offset": 78635, "length": 19 }, { "source": "parser.mbty", - "original_offset": 18236, - "generated_offset": 76486, + "original_offset": 18500, + "generated_offset": 78662, "length": 45 }, { "source": "parser.mbty", - "original_offset": 18739, - "generated_offset": 77515, + "original_offset": 19003, + "generated_offset": 79691, "length": 35 }, { "source": "parser.mbty", - "original_offset": 18776, - "generated_offset": 77558, + "original_offset": 19040, + "generated_offset": 79734, "length": 65 }, { "source": "parser.mbty", - "original_offset": 18843, - "generated_offset": 77631, + "original_offset": 19107, + "generated_offset": 79807, "length": 16 }, { "source": "parser.mbty", - "original_offset": 18861, - "generated_offset": 77655, + "original_offset": 19125, + "generated_offset": 79831, "length": 69 }, { "source": "parser.mbty", - "original_offset": 18935, - "generated_offset": 77753, + "original_offset": 19199, + "generated_offset": 79929, "length": 10 }, { "source": "parser.mbty", - "original_offset": 19417, - "generated_offset": 79404, + "original_offset": 19681, + "generated_offset": 81580, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19448, - "generated_offset": 79441, + "original_offset": 19712, + "generated_offset": 81617, "length": 35 }, { "source": "parser.mbty", - "original_offset": 19485, - "generated_offset": 79484, + "original_offset": 19749, + "generated_offset": 81660, "length": 18 }, { "source": "parser.mbty", - "original_offset": 19505, - "generated_offset": 79510, + "original_offset": 19769, + "generated_offset": 81686, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19529, - "generated_offset": 79540, + "original_offset": 19793, + "generated_offset": 81716, "length": 20 }, { "source": "parser.mbty", - "original_offset": 19552, - "generated_offset": 79569, + "original_offset": 19816, + "generated_offset": 81745, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19576, - "generated_offset": 79599, + "original_offset": 19840, + "generated_offset": 81775, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19596, - "generated_offset": 79625, + "original_offset": 19860, + "generated_offset": 81801, "length": 45 }, { "source": "parser.mbty", - "original_offset": 19644, - "generated_offset": 79679, + "original_offset": 19908, + "generated_offset": 81855, "length": 14 }, { "source": "parser.mbty", - "original_offset": 19660, - "generated_offset": 79701, + "original_offset": 19924, + "generated_offset": 81877, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19686, - "generated_offset": 79751, + "original_offset": 19950, + "generated_offset": 81927, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19705, - "generated_offset": 79776, + "original_offset": 19969, + "generated_offset": 81952, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 81024, + "original_offset": 20564, + "generated_offset": 83200, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 81070, + "original_offset": 20604, + "generated_offset": 83246, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 81095, + "original_offset": 20623, + "generated_offset": 83271, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 81125, + "original_offset": 20647, + "generated_offset": 83301, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 81147, + "original_offset": 20663, + "generated_offset": 83323, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 81171, + "original_offset": 20681, + "generated_offset": 83347, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 81221, + "original_offset": 20707, + "generated_offset": 83397, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 81283, + "original_offset": 20763, + "generated_offset": 83459, "length": 9 }, { "source": "parser.mbty", - "original_offset": 19883, - "generated_offset": 82868, + "original_offset": 20147, + "generated_offset": 85044, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19914, - "generated_offset": 82905, + "original_offset": 20178, + "generated_offset": 85081, "length": 51 }, { "source": "parser.mbty", - "original_offset": 19967, - "generated_offset": 82964, + "original_offset": 20231, + "generated_offset": 85140, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19991, - "generated_offset": 82994, + "original_offset": 20255, + "generated_offset": 85170, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20013, - "generated_offset": 83022, + "original_offset": 20277, + "generated_offset": 85198, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20037, - "generated_offset": 83052, + "original_offset": 20301, + "generated_offset": 85228, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20056, - "generated_offset": 83077, + "original_offset": 20320, + "generated_offset": 85253, "length": 45 }, { "source": "parser.mbty", - "original_offset": 20104, - "generated_offset": 83131, + "original_offset": 20368, + "generated_offset": 85307, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20120, - "generated_offset": 83153, + "original_offset": 20384, + "generated_offset": 85329, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20146, - "generated_offset": 83203, + "original_offset": 20410, + "generated_offset": 85379, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20165, - "generated_offset": 83228, + "original_offset": 20429, + "generated_offset": 85404, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20665, - "generated_offset": 85045, + "original_offset": 20929, + "generated_offset": 87221, "length": 34 }, { "source": "parser.mbty", - "original_offset": 20701, - "generated_offset": 85087, + "original_offset": 20965, + "generated_offset": 87263, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20724, - "generated_offset": 85116, + "original_offset": 20988, + "generated_offset": 87292, "length": 25 }, { "source": "parser.mbty", - "original_offset": 20751, - "generated_offset": 85149, + "original_offset": 21015, + "generated_offset": 87325, "length": 31 }, { "source": "parser.mbty", - "original_offset": 20790, - "generated_offset": 85220, + "original_offset": 21054, + "generated_offset": 87396, "length": 26 }, { "source": "parser.mbty", - "original_offset": 20819, - "generated_offset": 85255, + "original_offset": 21083, + "generated_offset": 87431, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20843, - "generated_offset": 85285, + "original_offset": 21107, + "generated_offset": 87461, "length": 28 }, { "source": "parser.mbty", - "original_offset": 20880, - "generated_offset": 85355, + "original_offset": 21144, + "generated_offset": 87531, "length": 24 }, { "source": "parser.mbty", - "original_offset": 20906, - "generated_offset": 85387, + "original_offset": 21170, + "generated_offset": 87563, "length": 15 }, { "source": "parser.mbty", - "original_offset": 20924, - "generated_offset": 85411, + "original_offset": 21188, + "generated_offset": 87587, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20940, - "generated_offset": 85433, + "original_offset": 21204, + "generated_offset": 87609, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20966, - "generated_offset": 85483, + "original_offset": 21230, + "generated_offset": 87659, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20985, - "generated_offset": 85508, + "original_offset": 21249, + "generated_offset": 87684, "length": 41 }, { "source": "parser.mbty", - "original_offset": 21110, - "generated_offset": 86684, + "original_offset": 21374, + "generated_offset": 88860, "length": 44 }, { "source": "parser.mbty", - "original_offset": 21156, - "generated_offset": 86736, + "original_offset": 21420, + "generated_offset": 88912, "length": 23 }, { "source": "parser.mbty", - "original_offset": 21187, - "generated_offset": 86799, + "original_offset": 21451, + "generated_offset": 88975, "length": 25 }, { "source": "parser.mbty", - "original_offset": 21214, - "generated_offset": 86832, + "original_offset": 21478, + "generated_offset": 89008, "length": 14 }, { "source": "parser.mbty", - "original_offset": 21230, - "generated_offset": 86854, + "original_offset": 21494, + "generated_offset": 89030, "length": 16 }, { "source": "parser.mbty", - "original_offset": 21248, - "generated_offset": 86878, + "original_offset": 21512, + "generated_offset": 89054, "length": 21 }, { "source": "parser.mbty", - "original_offset": 21273, - "generated_offset": 86921, + "original_offset": 21537, + "generated_offset": 89097, "length": 42 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 87893, + "original_offset": 22299, + "generated_offset": 90069, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 87908, + "original_offset": 22308, + "generated_offset": 90084, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 87918, + "original_offset": 22312, + "generated_offset": 90094, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 87928, + "original_offset": 22316, + "generated_offset": 90104, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 87938, + "original_offset": 22320, + "generated_offset": 90114, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 87987, + "original_offset": 22337, + "generated_offset": 90163, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 87998, + "original_offset": 22342, + "generated_offset": 90174, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 88790, + "original_offset": 22483, + "generated_offset": 90966, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 88800, + "original_offset": 22487, + "generated_offset": 90976, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 88810, + "original_offset": 22491, + "generated_offset": 90986, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 88820, + "original_offset": 22495, + "generated_offset": 90996, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 88830, + "original_offset": 22499, + "generated_offset": 91006, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 88879, + "original_offset": 22516, + "generated_offset": 91055, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22432, - "generated_offset": 89675, + "original_offset": 22696, + "generated_offset": 91851, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22441, - "generated_offset": 89690, + "original_offset": 22705, + "generated_offset": 91866, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22445, - "generated_offset": 89700, + "original_offset": 22709, + "generated_offset": 91876, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22449, - "generated_offset": 89710, + "original_offset": 22713, + "generated_offset": 91886, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22466, - "generated_offset": 89759, + "original_offset": 22730, + "generated_offset": 91935, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22471, - "generated_offset": 89770, + "original_offset": 22735, + "generated_offset": 91946, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22649, - "generated_offset": 90566, + "original_offset": 22913, + "generated_offset": 92742, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22658, - "generated_offset": 90581, + "original_offset": 22922, + "generated_offset": 92757, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22662, - "generated_offset": 90591, + "original_offset": 22926, + "generated_offset": 92767, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22666, - "generated_offset": 90601, + "original_offset": 22930, + "generated_offset": 92777, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22683, - "generated_offset": 90650, + "original_offset": 22947, + "generated_offset": 92826, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22688, - "generated_offset": 90661, + "original_offset": 22952, + "generated_offset": 92837, "length": 5 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 92065, + "original_offset": 7703, + "generated_offset": 94440, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 92120, + "original_offset": 7752, + "generated_offset": 94495, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 92165, + "original_offset": 7791, + "generated_offset": 94540, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 92255, + "original_offset": 7875, + "generated_offset": 94630, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 92311, + "original_offset": 7925, + "generated_offset": 94686, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 92378, + "original_offset": 7960, + "generated_offset": 94753, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 92437, + "original_offset": 8013, + "generated_offset": 94812, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 92491, + "original_offset": 8061, + "generated_offset": 94866, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 94909, "length": 10 }, { "source": "parser.mbty", - "original_offset": 19047, - "generated_offset": 93670, + "original_offset": 19311, + "generated_offset": 96088, "length": 31 }, { "source": "parser.mbty", - "original_offset": 19080, - "generated_offset": 93709, + "original_offset": 19344, + "generated_offset": 96127, "length": 40 }, { "source": "parser.mbty", - "original_offset": 19122, - "generated_offset": 93757, + "original_offset": 19386, + "generated_offset": 96175, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19141, - "generated_offset": 93782, + "original_offset": 19405, + "generated_offset": 96200, "length": 39 }, { "source": "parser.mbty", - "original_offset": 19182, - "generated_offset": 93829, + "original_offset": 19446, + "generated_offset": 96247, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19208, - "generated_offset": 93879, + "original_offset": 19472, + "generated_offset": 96297, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19227, - "generated_offset": 93904, + "original_offset": 19491, + "generated_offset": 96322, "length": 41 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 95344, + "original_offset": 7703, + "generated_offset": 97961, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 95399, + "original_offset": 7752, + "generated_offset": 98016, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 95444, + "original_offset": 7791, + "generated_offset": 98061, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 95534, + "original_offset": 7875, + "generated_offset": 98151, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 95590, + "original_offset": 7925, + "generated_offset": 98207, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 95657, + "original_offset": 7960, + "generated_offset": 98274, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 95716, + "original_offset": 8013, + "generated_offset": 98333, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 95770, + "original_offset": 8061, + "generated_offset": 98387, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 98430, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 97180, + "original_offset": 7703, + "generated_offset": 100039, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 97235, + "original_offset": 7752, + "generated_offset": 100094, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 97280, + "original_offset": 7791, + "generated_offset": 100139, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 97370, + "original_offset": 7875, + "generated_offset": 100229, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 97426, + "original_offset": 7925, + "generated_offset": 100285, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 97493, + "original_offset": 7960, + "generated_offset": 100352, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 97552, + "original_offset": 8013, + "generated_offset": 100411, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 97606, + "original_offset": 8061, + "generated_offset": 100465, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 100508, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 99016, + "original_offset": 7703, + "generated_offset": 102117, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 99071, + "original_offset": 7752, + "generated_offset": 102172, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 99116, + "original_offset": 7791, + "generated_offset": 102217, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 99206, + "original_offset": 7875, + "generated_offset": 102307, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 99262, + "original_offset": 7925, + "generated_offset": 102363, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 99329, + "original_offset": 7960, + "generated_offset": 102430, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 99388, + "original_offset": 8013, + "generated_offset": 102489, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 99442, + "original_offset": 8061, + "generated_offset": 102543, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 102586, "length": 10 }, { "source": "parser.mbty", - "original_offset": 9744, - "generated_offset": 100936, + "original_offset": 9942, + "generated_offset": 104279, "length": 26 }, { "source": "parser.mbty", - "original_offset": 9772, - "generated_offset": 100970, + "original_offset": 9970, + "generated_offset": 104313, "length": 37 }, { "source": "parser.mbty", - "original_offset": 9812, - "generated_offset": 101016, + "original_offset": 10010, + "generated_offset": 104359, "length": 80 }, { "source": "parser.mbty", - "original_offset": 9894, - "generated_offset": 101104, + "original_offset": 10092, + "generated_offset": 104447, "length": 44 }, { "source": "parser.mbty", - "original_offset": 9940, - "generated_offset": 101156, + "original_offset": 10138, + "generated_offset": 104499, "length": 21 }, { "source": "parser.mbty", - "original_offset": 9963, - "generated_offset": 101185, + "original_offset": 10161, + "generated_offset": 104528, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9998, - "generated_offset": 101252, + "original_offset": 10196, + "generated_offset": 104595, "length": 51 }, { "source": "parser.mbty", - "original_offset": 10051, - "generated_offset": 101311, + "original_offset": 10249, + "generated_offset": 104654, "length": 46 }, { "source": "parser.mbty", - "original_offset": 10099, - "generated_offset": 101365, + "original_offset": 10297, + "generated_offset": 104708, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 10322, + "generated_offset": 104751, "length": 13 }, { "source": "parser.mbty", - "original_offset": 10114, - "generated_offset": 101386, + "original_offset": 10337, + "generated_offset": 104772, "length": 13 }, { "source": "parser.mbty", - "original_offset": 11828, - "generated_offset": 102739, + "original_offset": 12051, + "generated_offset": 106125, "length": 51 }, { "source": "parser.mbty", - "original_offset": 11881, - "generated_offset": 102798, + "original_offset": 12104, + "generated_offset": 106184, "length": 29 }, { "source": "parser.mbty", - "original_offset": 11918, - "generated_offset": 102867, + "original_offset": 12141, + "generated_offset": 106253, "length": 20 }, { "source": "parser.mbty", - "original_offset": 11940, - "generated_offset": 102895, + "original_offset": 12163, + "generated_offset": 106281, "length": 49 }, { "source": "parser.mbty", - "original_offset": 11991, - "generated_offset": 102952, + "original_offset": 12214, + "generated_offset": 106338, "length": 54 }, { "source": "parser.mbty", - "original_offset": 12047, - "generated_offset": 103014, + "original_offset": 12270, + "generated_offset": 106400, "length": 23 }, { "source": "parser.mbty", - "original_offset": 12075, - "generated_offset": 103066, + "original_offset": 12298, + "generated_offset": 106452, "length": 19 }, { "source": "parser.mbty", - "original_offset": 12096, - "generated_offset": 103093, + "original_offset": 12319, + "generated_offset": 106479, "length": 45 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 104049, + "original_offset": 11291, + "generated_offset": 107435, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 104059, + "original_offset": 11295, + "generated_offset": 107445, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 104076, + "original_offset": 11306, + "generated_offset": 107462, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 104086, + "original_offset": 11310, + "generated_offset": 107472, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 104096, + "original_offset": 11314, + "generated_offset": 107482, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 104106, + "original_offset": 11318, + "generated_offset": 107492, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 105019, + "original_offset": 11291, + "generated_offset": 108405, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 105029, + "original_offset": 11295, + "generated_offset": 108415, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 105046, + "original_offset": 11306, + "generated_offset": 108432, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 105056, + "original_offset": 11310, + "generated_offset": 108442, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 105066, + "original_offset": 11314, + "generated_offset": 108452, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 105076, + "original_offset": 11318, + "generated_offset": 108462, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 106033, + "original_offset": 11385, + "generated_offset": 109419, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 106043, + "original_offset": 11389, + "generated_offset": 109429, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 106059, + "original_offset": 11399, + "generated_offset": 109445, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 106069, + "original_offset": 11403, + "generated_offset": 109455, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 106096, + "original_offset": 11424, + "generated_offset": 109482, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 106151, + "original_offset": 11447, + "generated_offset": 109537, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 106164, + "original_offset": 11454, + "generated_offset": 109550, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 107121, + "original_offset": 11385, + "generated_offset": 110507, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 107131, + "original_offset": 11389, + "generated_offset": 110517, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 107147, + "original_offset": 11399, + "generated_offset": 110533, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 107157, + "original_offset": 11403, + "generated_offset": 110543, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 107184, + "original_offset": 11424, + "generated_offset": 110570, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 107239, + "original_offset": 11447, + "generated_offset": 110625, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 107252, + "original_offset": 11454, + "generated_offset": 110638, "length": 2 }, { "source": "parser.mbty", - "original_offset": 16817, - "generated_offset": 108269, + "original_offset": 17081, + "generated_offset": 111655, "length": 46 }, { "source": "parser.mbty", - "original_offset": 16865, - "generated_offset": 108323, + "original_offset": 17129, + "generated_offset": 111709, "length": 77 }, { "source": "parser.mbty", - "original_offset": 16944, - "generated_offset": 108408, + "original_offset": 17208, + "generated_offset": 111794, "length": 16 }, { "source": "parser.mbty", - "original_offset": 16962, - "generated_offset": 108432, + "original_offset": 17226, + "generated_offset": 111818, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17036, - "generated_offset": 108530, + "original_offset": 17300, + "generated_offset": 111916, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 110144, + "original_offset": 17475, + "generated_offset": 113530, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 110184, + "original_offset": 17509, + "generated_offset": 113570, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 110238, + "original_offset": 17531, + "generated_offset": 113624, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 110273, + "original_offset": 17560, + "generated_offset": 113659, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 110427, + "original_offset": 17708, + "generated_offset": 113813, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 110450, + "original_offset": 17725, + "generated_offset": 113836, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 110501, + "original_offset": 17752, + "generated_offset": 113887, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 110527, + "original_offset": 17772, + "generated_offset": 113913, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 110592, + "original_offset": 17831, + "generated_offset": 113978, "length": 17 }, { "source": "parser.mbty", - "original_offset": 17650, - "generated_offset": 111593, + "original_offset": 17914, + "generated_offset": 114979, "length": 35 }, { "source": "parser.mbty", - "original_offset": 17687, - "generated_offset": 111636, + "original_offset": 17951, + "generated_offset": 115022, "length": 64 }, { "source": "parser.mbty", - "original_offset": 17753, - "generated_offset": 111708, + "original_offset": 18017, + "generated_offset": 115094, "length": 16 }, { "source": "parser.mbty", - "original_offset": 17771, - "generated_offset": 111732, + "original_offset": 18035, + "generated_offset": 115118, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17845, - "generated_offset": 111830, + "original_offset": 18109, + "generated_offset": 115216, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17954, - "generated_offset": 113158, + "original_offset": 18218, + "generated_offset": 116544, "length": 51 }, { "source": "parser.mbty", - "original_offset": 18007, - "generated_offset": 113217, + "original_offset": 18271, + "generated_offset": 116603, "length": 29 }, { "source": "parser.mbty", - "original_offset": 18044, - "generated_offset": 113286, + "original_offset": 18308, + "generated_offset": 116672, "length": 20 }, { "source": "parser.mbty", - "original_offset": 18066, - "generated_offset": 113314, + "original_offset": 18330, + "generated_offset": 116700, "length": 28 }, { "source": "parser.mbty", - "original_offset": 18096, - "generated_offset": 113350, + "original_offset": 18360, + "generated_offset": 116736, "length": 22 }, { "source": "parser.mbty", - "original_offset": 18120, - "generated_offset": 113380, + "original_offset": 18384, + "generated_offset": 116766, "length": 90 }, { "source": "parser.mbty", - "original_offset": 18215, - "generated_offset": 113499, + "original_offset": 18479, + "generated_offset": 116885, "length": 19 }, { "source": "parser.mbty", - "original_offset": 18236, - "generated_offset": 113526, + "original_offset": 18500, + "generated_offset": 116912, "length": 45 }, { "source": "parser.mbty", - "original_offset": 18739, - "generated_offset": 114557, + "original_offset": 19003, + "generated_offset": 117943, "length": 35 }, { "source": "parser.mbty", - "original_offset": 18776, - "generated_offset": 114600, + "original_offset": 19040, + "generated_offset": 117986, "length": 65 }, { "source": "parser.mbty", - "original_offset": 18843, - "generated_offset": 114673, + "original_offset": 19107, + "generated_offset": 118059, "length": 16 }, { "source": "parser.mbty", - "original_offset": 18861, - "generated_offset": 114697, + "original_offset": 19125, + "generated_offset": 118083, "length": 69 }, { "source": "parser.mbty", - "original_offset": 18935, - "generated_offset": 114795, + "original_offset": 19199, + "generated_offset": 118181, "length": 10 }, { "source": "parser.mbty", - "original_offset": 19417, - "generated_offset": 116448, + "original_offset": 19681, + "generated_offset": 119834, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19448, - "generated_offset": 116485, + "original_offset": 19712, + "generated_offset": 119871, "length": 35 }, { "source": "parser.mbty", - "original_offset": 19485, - "generated_offset": 116528, + "original_offset": 19749, + "generated_offset": 119914, "length": 18 }, { "source": "parser.mbty", - "original_offset": 19505, - "generated_offset": 116554, + "original_offset": 19769, + "generated_offset": 119940, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19529, - "generated_offset": 116584, + "original_offset": 19793, + "generated_offset": 119970, "length": 20 }, { "source": "parser.mbty", - "original_offset": 19552, - "generated_offset": 116613, + "original_offset": 19816, + "generated_offset": 119999, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19576, - "generated_offset": 116643, + "original_offset": 19840, + "generated_offset": 120029, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19596, - "generated_offset": 116669, + "original_offset": 19860, + "generated_offset": 120055, "length": 45 }, { "source": "parser.mbty", - "original_offset": 19644, - "generated_offset": 116723, + "original_offset": 19908, + "generated_offset": 120109, "length": 14 }, { "source": "parser.mbty", - "original_offset": 19660, - "generated_offset": 116745, + "original_offset": 19924, + "generated_offset": 120131, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19686, - "generated_offset": 116795, + "original_offset": 19950, + "generated_offset": 120181, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19705, - "generated_offset": 116820, + "original_offset": 19969, + "generated_offset": 120206, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 118071, + "original_offset": 20564, + "generated_offset": 121457, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 118117, + "original_offset": 20604, + "generated_offset": 121503, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 118142, + "original_offset": 20623, + "generated_offset": 121528, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 118172, + "original_offset": 20647, + "generated_offset": 121558, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 118194, + "original_offset": 20663, + "generated_offset": 121580, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 118218, + "original_offset": 20681, + "generated_offset": 121604, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 118268, + "original_offset": 20707, + "generated_offset": 121654, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 118330, + "original_offset": 20763, + "generated_offset": 121716, "length": 9 }, { "source": "parser.mbty", - "original_offset": 19883, - "generated_offset": 119917, + "original_offset": 20147, + "generated_offset": 123303, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19914, - "generated_offset": 119954, + "original_offset": 20178, + "generated_offset": 123340, "length": 51 }, { "source": "parser.mbty", - "original_offset": 19967, - "generated_offset": 120013, + "original_offset": 20231, + "generated_offset": 123399, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19991, - "generated_offset": 120043, + "original_offset": 20255, + "generated_offset": 123429, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20013, - "generated_offset": 120071, + "original_offset": 20277, + "generated_offset": 123457, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20037, - "generated_offset": 120101, + "original_offset": 20301, + "generated_offset": 123487, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20056, - "generated_offset": 120126, + "original_offset": 20320, + "generated_offset": 123512, "length": 45 }, { "source": "parser.mbty", - "original_offset": 20104, - "generated_offset": 120180, + "original_offset": 20368, + "generated_offset": 123566, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20120, - "generated_offset": 120202, + "original_offset": 20384, + "generated_offset": 123588, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20146, - "generated_offset": 120252, + "original_offset": 20410, + "generated_offset": 123638, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20165, - "generated_offset": 120277, + "original_offset": 20429, + "generated_offset": 123663, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20665, - "generated_offset": 122096, + "original_offset": 20929, + "generated_offset": 125482, "length": 34 }, { "source": "parser.mbty", - "original_offset": 20701, - "generated_offset": 122138, + "original_offset": 20965, + "generated_offset": 125524, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20724, - "generated_offset": 122167, + "original_offset": 20988, + "generated_offset": 125553, "length": 25 }, { "source": "parser.mbty", - "original_offset": 20751, - "generated_offset": 122200, + "original_offset": 21015, + "generated_offset": 125586, "length": 31 }, { "source": "parser.mbty", - "original_offset": 20790, - "generated_offset": 122271, + "original_offset": 21054, + "generated_offset": 125657, "length": 26 }, { "source": "parser.mbty", - "original_offset": 20819, - "generated_offset": 122306, + "original_offset": 21083, + "generated_offset": 125692, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20843, - "generated_offset": 122336, + "original_offset": 21107, + "generated_offset": 125722, "length": 28 }, { "source": "parser.mbty", - "original_offset": 20880, - "generated_offset": 122406, + "original_offset": 21144, + "generated_offset": 125792, "length": 24 }, { "source": "parser.mbty", - "original_offset": 20906, - "generated_offset": 122438, + "original_offset": 21170, + "generated_offset": 125824, "length": 15 }, { "source": "parser.mbty", - "original_offset": 20924, - "generated_offset": 122462, + "original_offset": 21188, + "generated_offset": 125848, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20940, - "generated_offset": 122484, + "original_offset": 21204, + "generated_offset": 125870, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20966, - "generated_offset": 122534, + "original_offset": 21230, + "generated_offset": 125920, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20985, - "generated_offset": 122559, + "original_offset": 21249, + "generated_offset": 125945, "length": 41 }, { "source": "parser.mbty", - "original_offset": 21110, - "generated_offset": 123737, + "original_offset": 21374, + "generated_offset": 127123, "length": 44 }, { "source": "parser.mbty", - "original_offset": 21156, - "generated_offset": 123789, + "original_offset": 21420, + "generated_offset": 127175, "length": 23 }, { "source": "parser.mbty", - "original_offset": 21187, - "generated_offset": 123852, + "original_offset": 21451, + "generated_offset": 127238, "length": 25 }, { "source": "parser.mbty", - "original_offset": 21214, - "generated_offset": 123885, + "original_offset": 21478, + "generated_offset": 127271, "length": 14 }, { "source": "parser.mbty", - "original_offset": 21230, - "generated_offset": 123907, + "original_offset": 21494, + "generated_offset": 127293, "length": 16 }, { "source": "parser.mbty", - "original_offset": 21248, - "generated_offset": 123931, + "original_offset": 21512, + "generated_offset": 127317, "length": 21 }, { "source": "parser.mbty", - "original_offset": 21273, - "generated_offset": 123974, + "original_offset": 21537, + "generated_offset": 127360, "length": 42 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 124949, + "original_offset": 22299, + "generated_offset": 128335, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 124964, + "original_offset": 22308, + "generated_offset": 128350, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 124974, + "original_offset": 22312, + "generated_offset": 128360, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 124984, + "original_offset": 22316, + "generated_offset": 128370, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 124994, + "original_offset": 22320, + "generated_offset": 128380, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 125043, + "original_offset": 22337, + "generated_offset": 128429, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 125054, + "original_offset": 22342, + "generated_offset": 128440, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 125849, + "original_offset": 22483, + "generated_offset": 129235, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 125859, + "original_offset": 22487, + "generated_offset": 129245, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 125869, + "original_offset": 22491, + "generated_offset": 129255, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 125879, + "original_offset": 22495, + "generated_offset": 129265, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 125889, + "original_offset": 22499, + "generated_offset": 129275, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 125938, + "original_offset": 22516, + "generated_offset": 129324, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22432, - "generated_offset": 126736, + "original_offset": 22696, + "generated_offset": 130122, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22441, - "generated_offset": 126751, + "original_offset": 22705, + "generated_offset": 130137, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22445, - "generated_offset": 126761, + "original_offset": 22709, + "generated_offset": 130147, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22449, - "generated_offset": 126771, + "original_offset": 22713, + "generated_offset": 130157, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22466, - "generated_offset": 126820, + "original_offset": 22730, + "generated_offset": 130206, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22471, - "generated_offset": 126831, + "original_offset": 22735, + "generated_offset": 130217, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22649, - "generated_offset": 127629, + "original_offset": 22913, + "generated_offset": 131015, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22658, - "generated_offset": 127644, + "original_offset": 22922, + "generated_offset": 131030, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22662, - "generated_offset": 127654, + "original_offset": 22926, + "generated_offset": 131040, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22666, - "generated_offset": 127664, + "original_offset": 22930, + "generated_offset": 131050, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22683, - "generated_offset": 127713, + "original_offset": 22947, + "generated_offset": 131099, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22688, - "generated_offset": 127724, + "original_offset": 22952, + "generated_offset": 131110, "length": 5 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 129129, + "original_offset": 7703, + "generated_offset": 132714, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 129184, + "original_offset": 7752, + "generated_offset": 132769, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 129229, + "original_offset": 7791, + "generated_offset": 132814, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 129319, + "original_offset": 7875, + "generated_offset": 132904, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 129375, + "original_offset": 7925, + "generated_offset": 132960, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 129442, + "original_offset": 7960, + "generated_offset": 133027, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 129501, + "original_offset": 8013, + "generated_offset": 133086, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 129555, + "original_offset": 8061, + "generated_offset": 133140, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 133183, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7584, - "generated_offset": 130965, + "original_offset": 7703, + "generated_offset": 134792, "length": 47 }, { "source": "parser.mbty", - "original_offset": 7633, - "generated_offset": 131020, + "original_offset": 7752, + "generated_offset": 134847, "length": 37 }, { "source": "parser.mbty", - "original_offset": 7672, - "generated_offset": 131065, + "original_offset": 7791, + "generated_offset": 134892, "length": 82 }, { "source": "parser.mbty", - "original_offset": 7756, - "generated_offset": 131155, + "original_offset": 7875, + "generated_offset": 134982, "length": 48 }, { "source": "parser.mbty", - "original_offset": 7806, - "generated_offset": 131211, + "original_offset": 7925, + "generated_offset": 135038, "length": 27 }, { "source": "parser.mbty", - "original_offset": 7841, - "generated_offset": 131278, + "original_offset": 7960, + "generated_offset": 135105, "length": 51 }, { "source": "parser.mbty", - "original_offset": 7894, - "generated_offset": 131337, + "original_offset": 8013, + "generated_offset": 135164, "length": 46 }, { "source": "parser.mbty", - "original_offset": 7942, - "generated_offset": 131391, + "original_offset": 8061, + "generated_offset": 135218, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8086, + "generated_offset": 135261, "length": 10 }, { "source": "parser.mbty", - "original_offset": 9744, - "generated_offset": 132886, + "original_offset": 9942, + "generated_offset": 136955, "length": 26 }, { "source": "parser.mbty", - "original_offset": 9772, - "generated_offset": 132920, + "original_offset": 9970, + "generated_offset": 136989, "length": 37 }, { "source": "parser.mbty", - "original_offset": 9812, - "generated_offset": 132966, + "original_offset": 10010, + "generated_offset": 137035, "length": 80 }, { "source": "parser.mbty", - "original_offset": 9894, - "generated_offset": 133054, + "original_offset": 10092, + "generated_offset": 137123, "length": 44 }, { "source": "parser.mbty", - "original_offset": 9940, - "generated_offset": 133106, + "original_offset": 10138, + "generated_offset": 137175, "length": 21 }, { "source": "parser.mbty", - "original_offset": 9963, - "generated_offset": 133135, + "original_offset": 10161, + "generated_offset": 137204, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9998, - "generated_offset": 133202, + "original_offset": 10196, + "generated_offset": 137271, "length": 51 }, { "source": "parser.mbty", - "original_offset": 10051, - "generated_offset": 133261, + "original_offset": 10249, + "generated_offset": 137330, "length": 46 }, { "source": "parser.mbty", - "original_offset": 10099, - "generated_offset": 133315, + "original_offset": 10297, + "generated_offset": 137384, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 10322, + "generated_offset": 137427, "length": 13 }, { "source": "parser.mbty", - "original_offset": 10114, - "generated_offset": 133336, + "original_offset": 10337, + "generated_offset": 137448, "length": 13 }, { "source": "parser.mbty", - "original_offset": 11828, - "generated_offset": 134689, + "original_offset": 12051, + "generated_offset": 138801, "length": 51 }, { "source": "parser.mbty", - "original_offset": 11881, - "generated_offset": 134748, + "original_offset": 12104, + "generated_offset": 138860, "length": 29 }, { "source": "parser.mbty", - "original_offset": 11918, - "generated_offset": 134817, + "original_offset": 12141, + "generated_offset": 138929, "length": 20 }, { "source": "parser.mbty", - "original_offset": 11940, - "generated_offset": 134845, + "original_offset": 12163, + "generated_offset": 138957, "length": 49 }, { "source": "parser.mbty", - "original_offset": 11991, - "generated_offset": 134902, + "original_offset": 12214, + "generated_offset": 139014, "length": 54 }, { "source": "parser.mbty", - "original_offset": 12047, - "generated_offset": 134964, + "original_offset": 12270, + "generated_offset": 139076, "length": 23 }, { "source": "parser.mbty", - "original_offset": 12075, - "generated_offset": 135016, + "original_offset": 12298, + "generated_offset": 139128, "length": 19 }, { "source": "parser.mbty", - "original_offset": 12096, - "generated_offset": 135043, + "original_offset": 12319, + "generated_offset": 139155, "length": 45 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 135999, + "original_offset": 11291, + "generated_offset": 140111, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 136009, + "original_offset": 11295, + "generated_offset": 140121, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 136026, + "original_offset": 11306, + "generated_offset": 140138, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 136036, + "original_offset": 11310, + "generated_offset": 140148, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 136046, + "original_offset": 11314, + "generated_offset": 140158, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 136056, + "original_offset": 11318, + "generated_offset": 140168, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 136969, + "original_offset": 11291, + "generated_offset": 141081, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 136979, + "original_offset": 11295, + "generated_offset": 141091, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 136996, + "original_offset": 11306, + "generated_offset": 141108, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 137006, + "original_offset": 11310, + "generated_offset": 141118, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 137016, + "original_offset": 11314, + "generated_offset": 141128, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 137026, + "original_offset": 11318, + "generated_offset": 141138, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 137983, + "original_offset": 11385, + "generated_offset": 142095, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 137993, + "original_offset": 11389, + "generated_offset": 142105, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 138009, + "original_offset": 11399, + "generated_offset": 142121, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 138019, + "original_offset": 11403, + "generated_offset": 142131, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 138046, + "original_offset": 11424, + "generated_offset": 142158, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 138101, + "original_offset": 11447, + "generated_offset": 142213, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 138114, + "original_offset": 11454, + "generated_offset": 142226, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 139071, + "original_offset": 11385, + "generated_offset": 143183, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 139081, + "original_offset": 11389, + "generated_offset": 143193, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 139097, + "original_offset": 11399, + "generated_offset": 143209, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 139107, + "original_offset": 11403, + "generated_offset": 143219, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 139134, + "original_offset": 11424, + "generated_offset": 143246, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 139189, + "original_offset": 11447, + "generated_offset": 143301, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 139202, + "original_offset": 11454, + "generated_offset": 143314, "length": 2 }, { "source": "parser.mbty", - "original_offset": 16817, - "generated_offset": 140219, + "original_offset": 17081, + "generated_offset": 144331, "length": 46 }, { "source": "parser.mbty", - "original_offset": 16865, - "generated_offset": 140273, + "original_offset": 17129, + "generated_offset": 144385, "length": 77 }, { "source": "parser.mbty", - "original_offset": 16944, - "generated_offset": 140358, + "original_offset": 17208, + "generated_offset": 144470, "length": 16 }, { "source": "parser.mbty", - "original_offset": 16962, - "generated_offset": 140382, + "original_offset": 17226, + "generated_offset": 144494, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17036, - "generated_offset": 140480, + "original_offset": 17300, + "generated_offset": 144592, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 142094, + "original_offset": 17475, + "generated_offset": 146206, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 142134, + "original_offset": 17509, + "generated_offset": 146246, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 142188, + "original_offset": 17531, + "generated_offset": 146300, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 142223, + "original_offset": 17560, + "generated_offset": 146335, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 142377, + "original_offset": 17708, + "generated_offset": 146489, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 142400, + "original_offset": 17725, + "generated_offset": 146512, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 142451, + "original_offset": 17752, + "generated_offset": 146563, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 142477, + "original_offset": 17772, + "generated_offset": 146589, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 142542, + "original_offset": 17831, + "generated_offset": 146654, "length": 17 }, { "source": "parser.mbty", - "original_offset": 17650, - "generated_offset": 143543, + "original_offset": 17914, + "generated_offset": 147655, "length": 35 }, { "source": "parser.mbty", - "original_offset": 17687, - "generated_offset": 143586, + "original_offset": 17951, + "generated_offset": 147698, "length": 64 }, { "source": "parser.mbty", - "original_offset": 17753, - "generated_offset": 143658, + "original_offset": 18017, + "generated_offset": 147770, "length": 16 }, { "source": "parser.mbty", - "original_offset": 17771, - "generated_offset": 143682, + "original_offset": 18035, + "generated_offset": 147794, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17845, - "generated_offset": 143780, + "original_offset": 18109, + "generated_offset": 147892, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17954, - "generated_offset": 145108, + "original_offset": 18218, + "generated_offset": 149220, "length": 51 }, { "source": "parser.mbty", - "original_offset": 18007, - "generated_offset": 145167, + "original_offset": 18271, + "generated_offset": 149279, "length": 29 }, { "source": "parser.mbty", - "original_offset": 18044, - "generated_offset": 145236, + "original_offset": 18308, + "generated_offset": 149348, "length": 20 }, { "source": "parser.mbty", - "original_offset": 18066, - "generated_offset": 145264, + "original_offset": 18330, + "generated_offset": 149376, "length": 28 }, { "source": "parser.mbty", - "original_offset": 18096, - "generated_offset": 145300, + "original_offset": 18360, + "generated_offset": 149412, "length": 22 }, { "source": "parser.mbty", - "original_offset": 18120, - "generated_offset": 145330, + "original_offset": 18384, + "generated_offset": 149442, "length": 90 }, { "source": "parser.mbty", - "original_offset": 18215, - "generated_offset": 145449, + "original_offset": 18479, + "generated_offset": 149561, "length": 19 }, { "source": "parser.mbty", - "original_offset": 18236, - "generated_offset": 145476, + "original_offset": 18500, + "generated_offset": 149588, "length": 45 }, { "source": "parser.mbty", - "original_offset": 18739, - "generated_offset": 146507, + "original_offset": 19003, + "generated_offset": 150619, "length": 35 }, { "source": "parser.mbty", - "original_offset": 18776, - "generated_offset": 146550, + "original_offset": 19040, + "generated_offset": 150662, "length": 65 }, { "source": "parser.mbty", - "original_offset": 18843, - "generated_offset": 146623, + "original_offset": 19107, + "generated_offset": 150735, "length": 16 }, { "source": "parser.mbty", - "original_offset": 18861, - "generated_offset": 146647, + "original_offset": 19125, + "generated_offset": 150759, "length": 69 }, { "source": "parser.mbty", - "original_offset": 18935, - "generated_offset": 146745, + "original_offset": 19199, + "generated_offset": 150857, "length": 10 }, { "source": "parser.mbty", - "original_offset": 19417, - "generated_offset": 148400, + "original_offset": 19681, + "generated_offset": 152512, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19448, - "generated_offset": 148437, + "original_offset": 19712, + "generated_offset": 152549, "length": 35 }, { "source": "parser.mbty", - "original_offset": 19485, - "generated_offset": 148480, + "original_offset": 19749, + "generated_offset": 152592, "length": 18 }, { "source": "parser.mbty", - "original_offset": 19505, - "generated_offset": 148506, + "original_offset": 19769, + "generated_offset": 152618, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19529, - "generated_offset": 148536, + "original_offset": 19793, + "generated_offset": 152648, "length": 20 }, { "source": "parser.mbty", - "original_offset": 19552, - "generated_offset": 148565, + "original_offset": 19816, + "generated_offset": 152677, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19576, - "generated_offset": 148595, + "original_offset": 19840, + "generated_offset": 152707, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19596, - "generated_offset": 148621, + "original_offset": 19860, + "generated_offset": 152733, "length": 45 }, { "source": "parser.mbty", - "original_offset": 19644, - "generated_offset": 148675, + "original_offset": 19908, + "generated_offset": 152787, "length": 14 }, { "source": "parser.mbty", - "original_offset": 19660, - "generated_offset": 148697, + "original_offset": 19924, + "generated_offset": 152809, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19686, - "generated_offset": 148747, + "original_offset": 19950, + "generated_offset": 152859, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19705, - "generated_offset": 148772, + "original_offset": 19969, + "generated_offset": 152884, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 150023, + "original_offset": 20564, + "generated_offset": 154135, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 150069, + "original_offset": 20604, + "generated_offset": 154181, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 150094, + "original_offset": 20623, + "generated_offset": 154206, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 150124, + "original_offset": 20647, + "generated_offset": 154236, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 150146, + "original_offset": 20663, + "generated_offset": 154258, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 150170, + "original_offset": 20681, + "generated_offset": 154282, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 150220, + "original_offset": 20707, + "generated_offset": 154332, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 150282, + "original_offset": 20763, + "generated_offset": 154394, "length": 9 }, { "source": "parser.mbty", - "original_offset": 19883, - "generated_offset": 151871, + "original_offset": 20147, + "generated_offset": 155983, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19914, - "generated_offset": 151908, + "original_offset": 20178, + "generated_offset": 156020, "length": 51 }, { "source": "parser.mbty", - "original_offset": 19967, - "generated_offset": 151967, + "original_offset": 20231, + "generated_offset": 156079, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19991, - "generated_offset": 151997, + "original_offset": 20255, + "generated_offset": 156109, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20013, - "generated_offset": 152025, + "original_offset": 20277, + "generated_offset": 156137, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20037, - "generated_offset": 152055, + "original_offset": 20301, + "generated_offset": 156167, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20056, - "generated_offset": 152080, + "original_offset": 20320, + "generated_offset": 156192, "length": 45 }, { "source": "parser.mbty", - "original_offset": 20104, - "generated_offset": 152134, + "original_offset": 20368, + "generated_offset": 156246, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20120, - "generated_offset": 152156, + "original_offset": 20384, + "generated_offset": 156268, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20146, - "generated_offset": 152206, + "original_offset": 20410, + "generated_offset": 156318, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20165, - "generated_offset": 152231, + "original_offset": 20429, + "generated_offset": 156343, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20665, - "generated_offset": 154052, + "original_offset": 20929, + "generated_offset": 158164, "length": 34 }, { "source": "parser.mbty", - "original_offset": 20701, - "generated_offset": 154094, + "original_offset": 20965, + "generated_offset": 158206, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20724, - "generated_offset": 154123, + "original_offset": 20988, + "generated_offset": 158235, "length": 25 }, { "source": "parser.mbty", - "original_offset": 20751, - "generated_offset": 154156, + "original_offset": 21015, + "generated_offset": 158268, "length": 31 }, { "source": "parser.mbty", - "original_offset": 20790, - "generated_offset": 154227, + "original_offset": 21054, + "generated_offset": 158339, "length": 26 }, { "source": "parser.mbty", - "original_offset": 20819, - "generated_offset": 154262, + "original_offset": 21083, + "generated_offset": 158374, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20843, - "generated_offset": 154292, + "original_offset": 21107, + "generated_offset": 158404, "length": 28 }, { "source": "parser.mbty", - "original_offset": 20880, - "generated_offset": 154362, + "original_offset": 21144, + "generated_offset": 158474, "length": 24 }, { "source": "parser.mbty", - "original_offset": 20906, - "generated_offset": 154394, + "original_offset": 21170, + "generated_offset": 158506, "length": 15 }, { "source": "parser.mbty", - "original_offset": 20924, - "generated_offset": 154418, + "original_offset": 21188, + "generated_offset": 158530, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20940, - "generated_offset": 154440, + "original_offset": 21204, + "generated_offset": 158552, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20966, - "generated_offset": 154490, + "original_offset": 21230, + "generated_offset": 158602, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20985, - "generated_offset": 154515, + "original_offset": 21249, + "generated_offset": 158627, "length": 41 }, { "source": "parser.mbty", - "original_offset": 21110, - "generated_offset": 155694, + "original_offset": 21374, + "generated_offset": 159806, "length": 44 }, { "source": "parser.mbty", - "original_offset": 21156, - "generated_offset": 155746, + "original_offset": 21420, + "generated_offset": 159858, "length": 23 }, { "source": "parser.mbty", - "original_offset": 21187, - "generated_offset": 155809, + "original_offset": 21451, + "generated_offset": 159921, "length": 25 }, { "source": "parser.mbty", - "original_offset": 21214, - "generated_offset": 155842, + "original_offset": 21478, + "generated_offset": 159954, "length": 14 }, { "source": "parser.mbty", - "original_offset": 21230, - "generated_offset": 155864, + "original_offset": 21494, + "generated_offset": 159976, "length": 16 }, { "source": "parser.mbty", - "original_offset": 21248, - "generated_offset": 155888, + "original_offset": 21512, + "generated_offset": 160000, "length": 21 }, { "source": "parser.mbty", - "original_offset": 21273, - "generated_offset": 155931, + "original_offset": 21537, + "generated_offset": 160043, "length": 42 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 156907, + "original_offset": 22299, + "generated_offset": 161019, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 156922, + "original_offset": 22308, + "generated_offset": 161034, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 156932, + "original_offset": 22312, + "generated_offset": 161044, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 156942, + "original_offset": 22316, + "generated_offset": 161054, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 156952, + "original_offset": 22320, + "generated_offset": 161064, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 157001, + "original_offset": 22337, + "generated_offset": 161113, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 157012, + "original_offset": 22342, + "generated_offset": 161124, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 157808, + "original_offset": 22483, + "generated_offset": 161920, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 157818, + "original_offset": 22487, + "generated_offset": 161930, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 157828, + "original_offset": 22491, + "generated_offset": 161940, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 157838, + "original_offset": 22495, + "generated_offset": 161950, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 157848, + "original_offset": 22499, + "generated_offset": 161960, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 157897, + "original_offset": 22516, + "generated_offset": 162009, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22432, - "generated_offset": 158696, + "original_offset": 22696, + "generated_offset": 162808, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22441, - "generated_offset": 158711, + "original_offset": 22705, + "generated_offset": 162823, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22445, - "generated_offset": 158721, + "original_offset": 22709, + "generated_offset": 162833, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22449, - "generated_offset": 158731, + "original_offset": 22713, + "generated_offset": 162843, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22466, - "generated_offset": 158780, + "original_offset": 22730, + "generated_offset": 162892, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22471, - "generated_offset": 158791, + "original_offset": 22735, + "generated_offset": 162903, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22649, - "generated_offset": 159590, + "original_offset": 22913, + "generated_offset": 163702, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22658, - "generated_offset": 159605, + "original_offset": 22922, + "generated_offset": 163717, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22662, - "generated_offset": 159615, + "original_offset": 22926, + "generated_offset": 163727, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22666, - "generated_offset": 159625, + "original_offset": 22930, + "generated_offset": 163737, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22683, - "generated_offset": 159674, + "original_offset": 22947, + "generated_offset": 163786, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22688, - "generated_offset": 159685, + "original_offset": 22952, + "generated_offset": 163797, "length": 5 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 161100, + "original_offset": 8234, + "generated_offset": 165411, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 161155, + "original_offset": 8283, + "generated_offset": 165466, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 161200, + "original_offset": 8322, + "generated_offset": 165511, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 161290, + "original_offset": 8406, + "generated_offset": 165601, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 161346, + "original_offset": 8456, + "generated_offset": 165657, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 161413, + "original_offset": 8491, + "generated_offset": 165724, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 161472, + "original_offset": 8544, + "generated_offset": 165783, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 161526, + "original_offset": 8592, + "generated_offset": 165837, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 165880, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 162946, + "original_offset": 8234, + "generated_offset": 167499, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 163001, + "original_offset": 8283, + "generated_offset": 167554, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 163046, + "original_offset": 8322, + "generated_offset": 167599, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 163136, + "original_offset": 8406, + "generated_offset": 167689, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 163192, + "original_offset": 8456, + "generated_offset": 167745, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 163259, + "original_offset": 8491, + "generated_offset": 167812, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 163318, + "original_offset": 8544, + "generated_offset": 167871, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 163372, + "original_offset": 8592, + "generated_offset": 167925, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 167968, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 164793, + "original_offset": 8234, + "generated_offset": 169588, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 164848, + "original_offset": 8283, + "generated_offset": 169643, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 164893, + "original_offset": 8322, + "generated_offset": 169688, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 164983, + "original_offset": 8406, + "generated_offset": 169778, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 165039, + "original_offset": 8456, + "generated_offset": 169834, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 165106, + "original_offset": 8491, + "generated_offset": 169901, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 165165, + "original_offset": 8544, + "generated_offset": 169960, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 165219, + "original_offset": 8592, + "generated_offset": 170014, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 170057, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 166640, + "original_offset": 8234, + "generated_offset": 171677, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 166695, + "original_offset": 8283, + "generated_offset": 171732, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 166740, + "original_offset": 8322, + "generated_offset": 171777, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 166830, + "original_offset": 8406, + "generated_offset": 171867, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 166886, + "original_offset": 8456, + "generated_offset": 171923, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 166953, + "original_offset": 8491, + "generated_offset": 171990, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 167012, + "original_offset": 8544, + "generated_offset": 172049, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 167066, + "original_offset": 8592, + "generated_offset": 172103, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 172146, "length": 10 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 167989, + "original_offset": 11291, + "generated_offset": 173069, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 167999, + "original_offset": 11295, + "generated_offset": 173079, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 168016, + "original_offset": 11306, + "generated_offset": 173096, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 168026, + "original_offset": 11310, + "generated_offset": 173106, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 168036, + "original_offset": 11314, + "generated_offset": 173116, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 168046, + "original_offset": 11318, + "generated_offset": 173126, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 168961, + "original_offset": 11291, + "generated_offset": 174041, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 168971, + "original_offset": 11295, + "generated_offset": 174051, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 168988, + "original_offset": 11306, + "generated_offset": 174068, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 168998, + "original_offset": 11310, + "generated_offset": 174078, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 169008, + "original_offset": 11314, + "generated_offset": 174088, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 169018, + "original_offset": 11318, + "generated_offset": 174098, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 169977, + "original_offset": 11385, + "generated_offset": 175057, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 169987, + "original_offset": 11389, + "generated_offset": 175067, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 170003, + "original_offset": 11399, + "generated_offset": 175083, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 170013, + "original_offset": 11403, + "generated_offset": 175093, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 170040, + "original_offset": 11424, + "generated_offset": 175120, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 170095, + "original_offset": 11447, + "generated_offset": 175175, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 170108, + "original_offset": 11454, + "generated_offset": 175188, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 171067, + "original_offset": 11385, + "generated_offset": 176147, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 171077, + "original_offset": 11389, + "generated_offset": 176157, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 171093, + "original_offset": 11399, + "generated_offset": 176173, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 171103, + "original_offset": 11403, + "generated_offset": 176183, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 171130, + "original_offset": 11424, + "generated_offset": 176210, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 171185, + "original_offset": 11447, + "generated_offset": 176265, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 171198, + "original_offset": 11454, + "generated_offset": 176278, "length": 2 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 172806, + "original_offset": 17475, + "generated_offset": 177886, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 172846, + "original_offset": 17509, + "generated_offset": 177926, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 172900, + "original_offset": 17531, + "generated_offset": 177980, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 172935, + "original_offset": 17560, + "generated_offset": 178015, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 173089, + "original_offset": 17708, + "generated_offset": 178169, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 173112, + "original_offset": 17725, + "generated_offset": 178192, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 173163, + "original_offset": 17752, + "generated_offset": 178243, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 173189, + "original_offset": 17772, + "generated_offset": 178269, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 173254, + "original_offset": 17831, + "generated_offset": 178334, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 174483, + "original_offset": 20564, + "generated_offset": 179563, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 174529, + "original_offset": 20604, + "generated_offset": 179609, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 174554, + "original_offset": 20623, + "generated_offset": 179634, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 174584, + "original_offset": 20647, + "generated_offset": 179664, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 174606, + "original_offset": 20663, + "generated_offset": 179686, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 174630, + "original_offset": 20681, + "generated_offset": 179710, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 174680, + "original_offset": 20707, + "generated_offset": 179760, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 174742, + "original_offset": 20763, + "generated_offset": 179822, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 175686, + "original_offset": 22299, + "generated_offset": 180766, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 175701, + "original_offset": 22308, + "generated_offset": 180781, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 175711, + "original_offset": 22312, + "generated_offset": 180791, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 175721, + "original_offset": 22316, + "generated_offset": 180801, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 175731, + "original_offset": 22320, + "generated_offset": 180811, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 175780, + "original_offset": 22337, + "generated_offset": 180860, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 175791, + "original_offset": 22342, + "generated_offset": 180871, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 176588, + "original_offset": 22483, + "generated_offset": 181668, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 176598, + "original_offset": 22487, + "generated_offset": 181678, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 176608, + "original_offset": 22491, + "generated_offset": 181688, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 176618, + "original_offset": 22495, + "generated_offset": 181698, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 176628, + "original_offset": 22499, + "generated_offset": 181708, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 176677, + "original_offset": 22516, + "generated_offset": 181757, "length": 3 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 178091, + "original_offset": 8234, + "generated_offset": 183370, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 178146, + "original_offset": 8283, + "generated_offset": 183425, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 178191, + "original_offset": 8322, + "generated_offset": 183470, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 178281, + "original_offset": 8406, + "generated_offset": 183560, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 178337, + "original_offset": 8456, + "generated_offset": 183616, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 178404, + "original_offset": 8491, + "generated_offset": 183683, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 178463, + "original_offset": 8544, + "generated_offset": 183742, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 178517, + "original_offset": 8592, + "generated_offset": 183796, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 183839, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 179938, + "original_offset": 8234, + "generated_offset": 185459, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 179993, + "original_offset": 8283, + "generated_offset": 185514, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 180038, + "original_offset": 8322, + "generated_offset": 185559, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 180128, + "original_offset": 8406, + "generated_offset": 185649, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 180184, + "original_offset": 8456, + "generated_offset": 185705, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 180251, + "original_offset": 8491, + "generated_offset": 185772, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 180310, + "original_offset": 8544, + "generated_offset": 185831, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 180364, + "original_offset": 8592, + "generated_offset": 185885, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 185928, "length": 10 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 181287, + "original_offset": 11291, + "generated_offset": 186851, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 181297, + "original_offset": 11295, + "generated_offset": 186861, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 181314, + "original_offset": 11306, + "generated_offset": 186878, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 181324, + "original_offset": 11310, + "generated_offset": 186888, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 181334, + "original_offset": 11314, + "generated_offset": 186898, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 181344, + "original_offset": 11318, + "generated_offset": 186908, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 182259, + "original_offset": 11291, + "generated_offset": 187823, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 182269, + "original_offset": 11295, + "generated_offset": 187833, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 182286, + "original_offset": 11306, + "generated_offset": 187850, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 182296, + "original_offset": 11310, + "generated_offset": 187860, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 182306, + "original_offset": 11314, + "generated_offset": 187870, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 182316, + "original_offset": 11318, + "generated_offset": 187880, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 183275, + "original_offset": 11385, + "generated_offset": 188839, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 183285, + "original_offset": 11389, + "generated_offset": 188849, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 183301, + "original_offset": 11399, + "generated_offset": 188865, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 183311, + "original_offset": 11403, + "generated_offset": 188875, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 183338, + "original_offset": 11424, + "generated_offset": 188902, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 183393, + "original_offset": 11447, + "generated_offset": 188957, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 183406, + "original_offset": 11454, + "generated_offset": 188970, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 184365, + "original_offset": 11385, + "generated_offset": 189929, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 184375, + "original_offset": 11389, + "generated_offset": 189939, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 184391, + "original_offset": 11399, + "generated_offset": 189955, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 184401, + "original_offset": 11403, + "generated_offset": 189965, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 184428, + "original_offset": 11424, + "generated_offset": 189992, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 184483, + "original_offset": 11447, + "generated_offset": 190047, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 184496, + "original_offset": 11454, + "generated_offset": 190060, "length": 2 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 186104, + "original_offset": 17475, + "generated_offset": 191668, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 186144, + "original_offset": 17509, + "generated_offset": 191708, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 186198, + "original_offset": 17531, + "generated_offset": 191762, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 186233, + "original_offset": 17560, + "generated_offset": 191797, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 186387, + "original_offset": 17708, + "generated_offset": 191951, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 186410, + "original_offset": 17725, + "generated_offset": 191974, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 186461, + "original_offset": 17752, + "generated_offset": 192025, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 186487, + "original_offset": 17772, + "generated_offset": 192051, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 186552, + "original_offset": 17831, + "generated_offset": 192116, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 187781, + "original_offset": 20564, + "generated_offset": 193345, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 187827, + "original_offset": 20604, + "generated_offset": 193391, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 187852, + "original_offset": 20623, + "generated_offset": 193416, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 187882, + "original_offset": 20647, + "generated_offset": 193446, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 187904, + "original_offset": 20663, + "generated_offset": 193468, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 187928, + "original_offset": 20681, + "generated_offset": 193492, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 187978, + "original_offset": 20707, + "generated_offset": 193542, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 188040, + "original_offset": 20763, + "generated_offset": 193604, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 188984, + "original_offset": 22299, + "generated_offset": 194548, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 188999, + "original_offset": 22308, + "generated_offset": 194563, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 189009, + "original_offset": 22312, + "generated_offset": 194573, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 189019, + "original_offset": 22316, + "generated_offset": 194583, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 189029, + "original_offset": 22320, + "generated_offset": 194593, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 189078, + "original_offset": 22337, + "generated_offset": 194642, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 189089, + "original_offset": 22342, + "generated_offset": 194653, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 189886, + "original_offset": 22483, + "generated_offset": 195450, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 189896, + "original_offset": 22487, + "generated_offset": 195460, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 189906, + "original_offset": 22491, + "generated_offset": 195470, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 189916, + "original_offset": 22495, + "generated_offset": 195480, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 189926, + "original_offset": 22499, + "generated_offset": 195490, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 189975, + "original_offset": 22516, + "generated_offset": 195539, "length": 3 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 190890, + "original_offset": 11291, + "generated_offset": 196454, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 190900, + "original_offset": 11295, + "generated_offset": 196464, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 190917, + "original_offset": 11306, + "generated_offset": 196481, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 190927, + "original_offset": 11310, + "generated_offset": 196491, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 190937, + "original_offset": 11314, + "generated_offset": 196501, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 190947, + "original_offset": 11318, + "generated_offset": 196511, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 191861, + "original_offset": 11291, + "generated_offset": 197425, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 191871, + "original_offset": 11295, + "generated_offset": 197435, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 191888, + "original_offset": 11306, + "generated_offset": 197452, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 191898, + "original_offset": 11310, + "generated_offset": 197462, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 191908, + "original_offset": 11314, + "generated_offset": 197472, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 191918, + "original_offset": 11318, + "generated_offset": 197482, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 192876, + "original_offset": 11385, + "generated_offset": 198440, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 192886, + "original_offset": 11389, + "generated_offset": 198450, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 192902, + "original_offset": 11399, + "generated_offset": 198466, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 192912, + "original_offset": 11403, + "generated_offset": 198476, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 192939, + "original_offset": 11424, + "generated_offset": 198503, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 192994, + "original_offset": 11447, + "generated_offset": 198558, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 193007, + "original_offset": 11454, + "generated_offset": 198571, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 193965, + "original_offset": 11385, + "generated_offset": 199529, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 193975, + "original_offset": 11389, + "generated_offset": 199539, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 193991, + "original_offset": 11399, + "generated_offset": 199555, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 194001, + "original_offset": 11403, + "generated_offset": 199565, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 194028, + "original_offset": 11424, + "generated_offset": 199592, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 194083, + "original_offset": 11447, + "generated_offset": 199647, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 194096, + "original_offset": 11454, + "generated_offset": 199660, "length": 2 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 195703, + "original_offset": 17475, + "generated_offset": 201267, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 195743, + "original_offset": 17509, + "generated_offset": 201307, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 195797, + "original_offset": 17531, + "generated_offset": 201361, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 195832, + "original_offset": 17560, + "generated_offset": 201396, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 195986, + "original_offset": 17708, + "generated_offset": 201550, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 196009, + "original_offset": 17725, + "generated_offset": 201573, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 196060, + "original_offset": 17752, + "generated_offset": 201624, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 196086, + "original_offset": 17772, + "generated_offset": 201650, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 196151, + "original_offset": 17831, + "generated_offset": 201715, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 197379, + "original_offset": 20564, + "generated_offset": 202943, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 197425, + "original_offset": 20604, + "generated_offset": 202989, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 197450, + "original_offset": 20623, + "generated_offset": 203014, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 197480, + "original_offset": 20647, + "generated_offset": 203044, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 197502, + "original_offset": 20663, + "generated_offset": 203066, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 197526, + "original_offset": 20681, + "generated_offset": 203090, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 197576, + "original_offset": 20707, + "generated_offset": 203140, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 197638, + "original_offset": 20763, + "generated_offset": 203202, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 198581, + "original_offset": 22299, + "generated_offset": 204145, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 198596, + "original_offset": 22308, + "generated_offset": 204160, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 198606, + "original_offset": 22312, + "generated_offset": 204170, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 198616, + "original_offset": 22316, + "generated_offset": 204180, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 198626, + "original_offset": 22320, + "generated_offset": 204190, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 198675, + "original_offset": 22337, + "generated_offset": 204239, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 198686, + "original_offset": 22342, + "generated_offset": 204250, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 199482, + "original_offset": 22483, + "generated_offset": 205046, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 199492, + "original_offset": 22487, + "generated_offset": 205056, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 199502, + "original_offset": 22491, + "generated_offset": 205066, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 199512, + "original_offset": 22495, + "generated_offset": 205076, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 199522, + "original_offset": 22499, + "generated_offset": 205086, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 199571, + "original_offset": 22516, + "generated_offset": 205135, "length": 3 }, { "source": "parser.mbty", - "original_offset": 9744, - "generated_offset": 201058, + "original_offset": 9942, + "generated_offset": 206821, "length": 26 }, { "source": "parser.mbty", - "original_offset": 9772, - "generated_offset": 201092, + "original_offset": 9970, + "generated_offset": 206855, "length": 37 }, { "source": "parser.mbty", - "original_offset": 9812, - "generated_offset": 201138, + "original_offset": 10010, + "generated_offset": 206901, "length": 80 }, { "source": "parser.mbty", - "original_offset": 9894, - "generated_offset": 201226, + "original_offset": 10092, + "generated_offset": 206989, "length": 44 }, { "source": "parser.mbty", - "original_offset": 9940, - "generated_offset": 201278, + "original_offset": 10138, + "generated_offset": 207041, "length": 21 }, { "source": "parser.mbty", - "original_offset": 9963, - "generated_offset": 201307, + "original_offset": 10161, + "generated_offset": 207070, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9998, - "generated_offset": 201374, + "original_offset": 10196, + "generated_offset": 207137, "length": 51 }, { "source": "parser.mbty", - "original_offset": 10051, - "generated_offset": 201433, + "original_offset": 10249, + "generated_offset": 207196, "length": 46 }, { "source": "parser.mbty", - "original_offset": 10099, - "generated_offset": 201487, + "original_offset": 10297, + "generated_offset": 207250, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 10322, + "generated_offset": 207293, "length": 13 }, { "source": "parser.mbty", - "original_offset": 10114, - "generated_offset": 201508, + "original_offset": 10337, + "generated_offset": 207314, "length": 13 }, { "source": "parser.mbty", - "original_offset": 11828, - "generated_offset": 202861, + "original_offset": 12051, + "generated_offset": 208667, "length": 51 }, { "source": "parser.mbty", - "original_offset": 11881, - "generated_offset": 202920, + "original_offset": 12104, + "generated_offset": 208726, "length": 29 }, { "source": "parser.mbty", - "original_offset": 11918, - "generated_offset": 202989, + "original_offset": 12141, + "generated_offset": 208795, "length": 20 }, { "source": "parser.mbty", - "original_offset": 11940, - "generated_offset": 203017, + "original_offset": 12163, + "generated_offset": 208823, "length": 49 }, { "source": "parser.mbty", - "original_offset": 11991, - "generated_offset": 203074, + "original_offset": 12214, + "generated_offset": 208880, "length": 54 }, { "source": "parser.mbty", - "original_offset": 12047, - "generated_offset": 203136, + "original_offset": 12270, + "generated_offset": 208942, "length": 23 }, { "source": "parser.mbty", - "original_offset": 12075, - "generated_offset": 203188, + "original_offset": 12298, + "generated_offset": 208994, "length": 19 }, { "source": "parser.mbty", - "original_offset": 12096, - "generated_offset": 203215, + "original_offset": 12319, + "generated_offset": 209021, "length": 45 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 204171, + "original_offset": 11291, + "generated_offset": 209977, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 204181, + "original_offset": 11295, + "generated_offset": 209987, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 204198, + "original_offset": 11306, + "generated_offset": 210004, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 204208, + "original_offset": 11310, + "generated_offset": 210014, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 204218, + "original_offset": 11314, + "generated_offset": 210024, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 204228, + "original_offset": 11318, + "generated_offset": 210034, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 205141, + "original_offset": 11291, + "generated_offset": 210947, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 205151, + "original_offset": 11295, + "generated_offset": 210957, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 205168, + "original_offset": 11306, + "generated_offset": 210974, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 205178, + "original_offset": 11310, + "generated_offset": 210984, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 205188, + "original_offset": 11314, + "generated_offset": 210994, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 205198, + "original_offset": 11318, + "generated_offset": 211004, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 206155, + "original_offset": 11385, + "generated_offset": 211961, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 206165, + "original_offset": 11389, + "generated_offset": 211971, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 206181, + "original_offset": 11399, + "generated_offset": 211987, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 206191, + "original_offset": 11403, + "generated_offset": 211997, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 206218, + "original_offset": 11424, + "generated_offset": 212024, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 206273, + "original_offset": 11447, + "generated_offset": 212079, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 206286, + "original_offset": 11454, + "generated_offset": 212092, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 207243, + "original_offset": 11385, + "generated_offset": 213049, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 207253, + "original_offset": 11389, + "generated_offset": 213059, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 207269, + "original_offset": 11399, + "generated_offset": 213075, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 207279, + "original_offset": 11403, + "generated_offset": 213085, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 207306, + "original_offset": 11424, + "generated_offset": 213112, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 207361, + "original_offset": 11447, + "generated_offset": 213167, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 207374, + "original_offset": 11454, + "generated_offset": 213180, "length": 2 }, { "source": "parser.mbty", - "original_offset": 16817, - "generated_offset": 208391, + "original_offset": 17081, + "generated_offset": 214197, "length": 46 }, { "source": "parser.mbty", - "original_offset": 16865, - "generated_offset": 208445, + "original_offset": 17129, + "generated_offset": 214251, "length": 77 }, { "source": "parser.mbty", - "original_offset": 16944, - "generated_offset": 208530, + "original_offset": 17208, + "generated_offset": 214336, "length": 16 }, { "source": "parser.mbty", - "original_offset": 16962, - "generated_offset": 208554, + "original_offset": 17226, + "generated_offset": 214360, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17036, - "generated_offset": 208652, + "original_offset": 17300, + "generated_offset": 214458, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 210266, + "original_offset": 17475, + "generated_offset": 216072, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 210306, + "original_offset": 17509, + "generated_offset": 216112, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 210360, + "original_offset": 17531, + "generated_offset": 216166, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 210395, + "original_offset": 17560, + "generated_offset": 216201, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 210549, + "original_offset": 17708, + "generated_offset": 216355, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 210572, + "original_offset": 17725, + "generated_offset": 216378, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 210623, + "original_offset": 17752, + "generated_offset": 216429, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 210649, + "original_offset": 17772, + "generated_offset": 216455, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 210714, + "original_offset": 17831, + "generated_offset": 216520, "length": 17 }, { "source": "parser.mbty", - "original_offset": 17650, - "generated_offset": 211715, + "original_offset": 17914, + "generated_offset": 217521, "length": 35 }, { "source": "parser.mbty", - "original_offset": 17687, - "generated_offset": 211758, + "original_offset": 17951, + "generated_offset": 217564, "length": 64 }, { "source": "parser.mbty", - "original_offset": 17753, - "generated_offset": 211830, + "original_offset": 18017, + "generated_offset": 217636, "length": 16 }, { "source": "parser.mbty", - "original_offset": 17771, - "generated_offset": 211854, + "original_offset": 18035, + "generated_offset": 217660, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17845, - "generated_offset": 211952, + "original_offset": 18109, + "generated_offset": 217758, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17954, - "generated_offset": 213280, + "original_offset": 18218, + "generated_offset": 219086, "length": 51 }, { "source": "parser.mbty", - "original_offset": 18007, - "generated_offset": 213339, + "original_offset": 18271, + "generated_offset": 219145, "length": 29 }, { "source": "parser.mbty", - "original_offset": 18044, - "generated_offset": 213408, + "original_offset": 18308, + "generated_offset": 219214, "length": 20 }, { "source": "parser.mbty", - "original_offset": 18066, - "generated_offset": 213436, + "original_offset": 18330, + "generated_offset": 219242, "length": 28 }, { "source": "parser.mbty", - "original_offset": 18096, - "generated_offset": 213472, + "original_offset": 18360, + "generated_offset": 219278, "length": 22 }, { "source": "parser.mbty", - "original_offset": 18120, - "generated_offset": 213502, + "original_offset": 18384, + "generated_offset": 219308, "length": 90 }, { "source": "parser.mbty", - "original_offset": 18215, - "generated_offset": 213621, + "original_offset": 18479, + "generated_offset": 219427, "length": 19 }, { "source": "parser.mbty", - "original_offset": 18236, - "generated_offset": 213648, + "original_offset": 18500, + "generated_offset": 219454, "length": 45 }, { "source": "parser.mbty", - "original_offset": 18739, - "generated_offset": 214679, + "original_offset": 19003, + "generated_offset": 220485, "length": 35 }, { "source": "parser.mbty", - "original_offset": 18776, - "generated_offset": 214722, + "original_offset": 19040, + "generated_offset": 220528, "length": 65 }, { "source": "parser.mbty", - "original_offset": 18843, - "generated_offset": 214795, + "original_offset": 19107, + "generated_offset": 220601, "length": 16 }, { "source": "parser.mbty", - "original_offset": 18861, - "generated_offset": 214819, + "original_offset": 19125, + "generated_offset": 220625, "length": 69 }, { "source": "parser.mbty", - "original_offset": 18935, - "generated_offset": 214917, + "original_offset": 19199, + "generated_offset": 220723, "length": 10 }, { "source": "parser.mbty", - "original_offset": 19047, - "generated_offset": 216097, + "original_offset": 19311, + "generated_offset": 221903, "length": 31 }, { "source": "parser.mbty", - "original_offset": 19080, - "generated_offset": 216136, + "original_offset": 19344, + "generated_offset": 221942, "length": 40 }, { "source": "parser.mbty", - "original_offset": 19122, - "generated_offset": 216184, + "original_offset": 19386, + "generated_offset": 221990, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19141, - "generated_offset": 216209, + "original_offset": 19405, + "generated_offset": 222015, "length": 39 }, { "source": "parser.mbty", - "original_offset": 19182, - "generated_offset": 216256, + "original_offset": 19446, + "generated_offset": 222062, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19208, - "generated_offset": 216306, + "original_offset": 19472, + "generated_offset": 222112, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19227, - "generated_offset": 216331, + "original_offset": 19491, + "generated_offset": 222137, "length": 41 }, { "source": "parser.mbty", - "original_offset": 19417, - "generated_offset": 218014, + "original_offset": 19681, + "generated_offset": 223820, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19448, - "generated_offset": 218051, + "original_offset": 19712, + "generated_offset": 223857, "length": 35 }, { "source": "parser.mbty", - "original_offset": 19485, - "generated_offset": 218094, + "original_offset": 19749, + "generated_offset": 223900, "length": 18 }, { "source": "parser.mbty", - "original_offset": 19505, - "generated_offset": 218120, + "original_offset": 19769, + "generated_offset": 223926, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19529, - "generated_offset": 218150, + "original_offset": 19793, + "generated_offset": 223956, "length": 20 }, { "source": "parser.mbty", - "original_offset": 19552, - "generated_offset": 218179, + "original_offset": 19816, + "generated_offset": 223985, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19576, - "generated_offset": 218209, + "original_offset": 19840, + "generated_offset": 224015, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19596, - "generated_offset": 218235, + "original_offset": 19860, + "generated_offset": 224041, "length": 45 }, { "source": "parser.mbty", - "original_offset": 19644, - "generated_offset": 218289, + "original_offset": 19908, + "generated_offset": 224095, "length": 14 }, { "source": "parser.mbty", - "original_offset": 19660, - "generated_offset": 218311, + "original_offset": 19924, + "generated_offset": 224117, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19686, - "generated_offset": 218361, + "original_offset": 19950, + "generated_offset": 224167, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19705, - "generated_offset": 218386, + "original_offset": 19969, + "generated_offset": 224192, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 219637, + "original_offset": 20564, + "generated_offset": 225443, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 219683, + "original_offset": 20604, + "generated_offset": 225489, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 219708, + "original_offset": 20623, + "generated_offset": 225514, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 219738, + "original_offset": 20647, + "generated_offset": 225544, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 219760, + "original_offset": 20663, + "generated_offset": 225566, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 219784, + "original_offset": 20681, + "generated_offset": 225590, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 219834, + "original_offset": 20707, + "generated_offset": 225640, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 219896, + "original_offset": 20763, + "generated_offset": 225702, "length": 9 }, { "source": "parser.mbty", - "original_offset": 19883, - "generated_offset": 221482, + "original_offset": 20147, + "generated_offset": 227288, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19914, - "generated_offset": 221519, + "original_offset": 20178, + "generated_offset": 227325, "length": 51 }, { "source": "parser.mbty", - "original_offset": 19967, - "generated_offset": 221578, + "original_offset": 20231, + "generated_offset": 227384, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19991, - "generated_offset": 221608, + "original_offset": 20255, + "generated_offset": 227414, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20013, - "generated_offset": 221636, + "original_offset": 20277, + "generated_offset": 227442, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20037, - "generated_offset": 221666, + "original_offset": 20301, + "generated_offset": 227472, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20056, - "generated_offset": 221691, + "original_offset": 20320, + "generated_offset": 227497, "length": 45 }, { "source": "parser.mbty", - "original_offset": 20104, - "generated_offset": 221745, + "original_offset": 20368, + "generated_offset": 227551, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20120, - "generated_offset": 221767, + "original_offset": 20384, + "generated_offset": 227573, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20146, - "generated_offset": 221817, + "original_offset": 20410, + "generated_offset": 227623, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20165, - "generated_offset": 221842, + "original_offset": 20429, + "generated_offset": 227648, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20665, - "generated_offset": 223660, + "original_offset": 20929, + "generated_offset": 229466, "length": 34 }, { "source": "parser.mbty", - "original_offset": 20701, - "generated_offset": 223702, + "original_offset": 20965, + "generated_offset": 229508, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20724, - "generated_offset": 223731, + "original_offset": 20988, + "generated_offset": 229537, "length": 25 }, { "source": "parser.mbty", - "original_offset": 20751, - "generated_offset": 223764, + "original_offset": 21015, + "generated_offset": 229570, "length": 31 }, { "source": "parser.mbty", - "original_offset": 20790, - "generated_offset": 223835, + "original_offset": 21054, + "generated_offset": 229641, "length": 26 }, { "source": "parser.mbty", - "original_offset": 20819, - "generated_offset": 223870, + "original_offset": 21083, + "generated_offset": 229676, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20843, - "generated_offset": 223900, + "original_offset": 21107, + "generated_offset": 229706, "length": 28 }, { "source": "parser.mbty", - "original_offset": 20880, - "generated_offset": 223970, + "original_offset": 21144, + "generated_offset": 229776, "length": 24 }, { "source": "parser.mbty", - "original_offset": 20906, - "generated_offset": 224002, + "original_offset": 21170, + "generated_offset": 229808, "length": 15 }, { "source": "parser.mbty", - "original_offset": 20924, - "generated_offset": 224026, + "original_offset": 21188, + "generated_offset": 229832, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20940, - "generated_offset": 224048, + "original_offset": 21204, + "generated_offset": 229854, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20966, - "generated_offset": 224098, + "original_offset": 21230, + "generated_offset": 229904, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20985, - "generated_offset": 224123, + "original_offset": 21249, + "generated_offset": 229929, "length": 41 }, { "source": "parser.mbty", - "original_offset": 21110, - "generated_offset": 225301, + "original_offset": 21374, + "generated_offset": 231107, "length": 44 }, { "source": "parser.mbty", - "original_offset": 21156, - "generated_offset": 225353, + "original_offset": 21420, + "generated_offset": 231159, "length": 23 }, { "source": "parser.mbty", - "original_offset": 21187, - "generated_offset": 225416, + "original_offset": 21451, + "generated_offset": 231222, "length": 25 }, { "source": "parser.mbty", - "original_offset": 21214, - "generated_offset": 225449, + "original_offset": 21478, + "generated_offset": 231255, "length": 14 }, { "source": "parser.mbty", - "original_offset": 21230, - "generated_offset": 225471, + "original_offset": 21494, + "generated_offset": 231277, "length": 16 }, { "source": "parser.mbty", - "original_offset": 21248, - "generated_offset": 225495, + "original_offset": 21512, + "generated_offset": 231301, "length": 21 }, { "source": "parser.mbty", - "original_offset": 21273, - "generated_offset": 225538, + "original_offset": 21537, + "generated_offset": 231344, "length": 42 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 226513, + "original_offset": 22299, + "generated_offset": 232319, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 226528, + "original_offset": 22308, + "generated_offset": 232334, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 226538, + "original_offset": 22312, + "generated_offset": 232344, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 226548, + "original_offset": 22316, + "generated_offset": 232354, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 226558, + "original_offset": 22320, + "generated_offset": 232364, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 226607, + "original_offset": 22337, + "generated_offset": 232413, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 226618, + "original_offset": 22342, + "generated_offset": 232424, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 227413, + "original_offset": 22483, + "generated_offset": 233219, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 227423, + "original_offset": 22487, + "generated_offset": 233229, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 227433, + "original_offset": 22491, + "generated_offset": 233239, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 227443, + "original_offset": 22495, + "generated_offset": 233249, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 227453, + "original_offset": 22499, + "generated_offset": 233259, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 227502, + "original_offset": 22516, + "generated_offset": 233308, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22432, - "generated_offset": 228300, + "original_offset": 22696, + "generated_offset": 234106, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22441, - "generated_offset": 228315, + "original_offset": 22705, + "generated_offset": 234121, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22445, - "generated_offset": 228325, + "original_offset": 22709, + "generated_offset": 234131, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22449, - "generated_offset": 228335, + "original_offset": 22713, + "generated_offset": 234141, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22466, - "generated_offset": 228384, + "original_offset": 22730, + "generated_offset": 234190, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22471, - "generated_offset": 228395, + "original_offset": 22735, + "generated_offset": 234201, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22649, - "generated_offset": 229193, + "original_offset": 22913, + "generated_offset": 234999, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22658, - "generated_offset": 229208, + "original_offset": 22922, + "generated_offset": 235014, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22662, - "generated_offset": 229218, + "original_offset": 22926, + "generated_offset": 235024, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22666, - "generated_offset": 229228, + "original_offset": 22930, + "generated_offset": 235034, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22683, - "generated_offset": 229277, + "original_offset": 22947, + "generated_offset": 235083, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22688, - "generated_offset": 229288, + "original_offset": 22952, + "generated_offset": 235094, "length": 5 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 230702, + "original_offset": 8234, + "generated_offset": 236707, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 230757, + "original_offset": 8283, + "generated_offset": 236762, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 230802, + "original_offset": 8322, + "generated_offset": 236807, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 230892, + "original_offset": 8406, + "generated_offset": 236897, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 230948, + "original_offset": 8456, + "generated_offset": 236953, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 231015, + "original_offset": 8491, + "generated_offset": 237020, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 231074, + "original_offset": 8544, + "generated_offset": 237079, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 231128, + "original_offset": 8592, + "generated_offset": 237133, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 237176, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 232547, + "original_offset": 8234, + "generated_offset": 238794, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 232602, + "original_offset": 8283, + "generated_offset": 238849, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 232647, + "original_offset": 8322, + "generated_offset": 238894, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 232737, + "original_offset": 8406, + "generated_offset": 238984, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 232793, + "original_offset": 8456, + "generated_offset": 239040, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 232860, + "original_offset": 8491, + "generated_offset": 239107, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 232919, + "original_offset": 8544, + "generated_offset": 239166, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 232973, + "original_offset": 8592, + "generated_offset": 239220, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 239263, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 234393, + "original_offset": 8234, + "generated_offset": 240882, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 234448, + "original_offset": 8283, + "generated_offset": 240937, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 234493, + "original_offset": 8322, + "generated_offset": 240982, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 234583, + "original_offset": 8406, + "generated_offset": 241072, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 234639, + "original_offset": 8456, + "generated_offset": 241128, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 234706, + "original_offset": 8491, + "generated_offset": 241195, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 234765, + "original_offset": 8544, + "generated_offset": 241254, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 234819, + "original_offset": 8592, + "generated_offset": 241308, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 241351, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 236239, + "original_offset": 8234, + "generated_offset": 242970, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 236294, + "original_offset": 8283, + "generated_offset": 243025, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 236339, + "original_offset": 8322, + "generated_offset": 243070, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 236429, + "original_offset": 8406, + "generated_offset": 243160, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 236485, + "original_offset": 8456, + "generated_offset": 243216, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 236552, + "original_offset": 8491, + "generated_offset": 243283, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 236611, + "original_offset": 8544, + "generated_offset": 243342, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 236665, + "original_offset": 8592, + "generated_offset": 243396, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 243439, "length": 10 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 237586, + "original_offset": 11291, + "generated_offset": 244360, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 237596, + "original_offset": 11295, + "generated_offset": 244370, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 237613, + "original_offset": 11306, + "generated_offset": 244387, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 237623, + "original_offset": 11310, + "generated_offset": 244397, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 237633, + "original_offset": 11314, + "generated_offset": 244407, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 237643, + "original_offset": 11318, + "generated_offset": 244417, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 238556, + "original_offset": 11291, + "generated_offset": 245330, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 238566, + "original_offset": 11295, + "generated_offset": 245340, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 238583, + "original_offset": 11306, + "generated_offset": 245357, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 238593, + "original_offset": 11310, + "generated_offset": 245367, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 238603, + "original_offset": 11314, + "generated_offset": 245377, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 238613, + "original_offset": 11318, + "generated_offset": 245387, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 239570, + "original_offset": 11385, + "generated_offset": 246344, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 239580, + "original_offset": 11389, + "generated_offset": 246354, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 239596, + "original_offset": 11399, + "generated_offset": 246370, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 239606, + "original_offset": 11403, + "generated_offset": 246380, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 239633, + "original_offset": 11424, + "generated_offset": 246407, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 239688, + "original_offset": 11447, + "generated_offset": 246462, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 239701, + "original_offset": 11454, + "generated_offset": 246475, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 240658, + "original_offset": 11385, + "generated_offset": 247432, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 240668, + "original_offset": 11389, + "generated_offset": 247442, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 240684, + "original_offset": 11399, + "generated_offset": 247458, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 240694, + "original_offset": 11403, + "generated_offset": 247468, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 240721, + "original_offset": 11424, + "generated_offset": 247495, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 240776, + "original_offset": 11447, + "generated_offset": 247550, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 240789, + "original_offset": 11454, + "generated_offset": 247563, "length": 2 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 242395, + "original_offset": 17475, + "generated_offset": 249169, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 242435, + "original_offset": 17509, + "generated_offset": 249209, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 242489, + "original_offset": 17531, + "generated_offset": 249263, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 242524, + "original_offset": 17560, + "generated_offset": 249298, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 242678, + "original_offset": 17708, + "generated_offset": 249452, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 242701, + "original_offset": 17725, + "generated_offset": 249475, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 242752, + "original_offset": 17752, + "generated_offset": 249526, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 242778, + "original_offset": 17772, + "generated_offset": 249552, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 242843, + "original_offset": 17831, + "generated_offset": 249617, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 244070, + "original_offset": 20564, + "generated_offset": 250844, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 244116, + "original_offset": 20604, + "generated_offset": 250890, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 244141, + "original_offset": 20623, + "generated_offset": 250915, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 244171, + "original_offset": 20647, + "generated_offset": 250945, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 244193, + "original_offset": 20663, + "generated_offset": 250967, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 244217, + "original_offset": 20681, + "generated_offset": 250991, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 244267, + "original_offset": 20707, + "generated_offset": 251041, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 244329, + "original_offset": 20763, + "generated_offset": 251103, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 245271, + "original_offset": 22299, + "generated_offset": 252045, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 245286, + "original_offset": 22308, + "generated_offset": 252060, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 245296, + "original_offset": 22312, + "generated_offset": 252070, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 245306, + "original_offset": 22316, + "generated_offset": 252080, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 245316, + "original_offset": 22320, + "generated_offset": 252090, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 245365, + "original_offset": 22337, + "generated_offset": 252139, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 245376, + "original_offset": 22342, + "generated_offset": 252150, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 246171, + "original_offset": 22483, + "generated_offset": 252945, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 246181, + "original_offset": 22487, + "generated_offset": 252955, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 246191, + "original_offset": 22491, + "generated_offset": 252965, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 246201, + "original_offset": 22495, + "generated_offset": 252975, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 246211, + "original_offset": 22499, + "generated_offset": 252985, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 246260, + "original_offset": 22516, + "generated_offset": 253034, "length": 3 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 247673, + "original_offset": 8234, + "generated_offset": 254646, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 247728, + "original_offset": 8283, + "generated_offset": 254701, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 247773, + "original_offset": 8322, + "generated_offset": 254746, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 247863, + "original_offset": 8406, + "generated_offset": 254836, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 247919, + "original_offset": 8456, + "generated_offset": 254892, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 247986, + "original_offset": 8491, + "generated_offset": 254959, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 248045, + "original_offset": 8544, + "generated_offset": 255018, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 248099, + "original_offset": 8592, + "generated_offset": 255072, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 255115, "length": 10 }, { "source": "parser.mbty", - "original_offset": 8090, - "generated_offset": 249519, + "original_offset": 8234, + "generated_offset": 256734, "length": 47 }, { "source": "parser.mbty", - "original_offset": 8139, - "generated_offset": 249574, + "original_offset": 8283, + "generated_offset": 256789, "length": 37 }, { "source": "parser.mbty", - "original_offset": 8178, - "generated_offset": 249619, + "original_offset": 8322, + "generated_offset": 256834, "length": 82 }, { "source": "parser.mbty", - "original_offset": 8262, - "generated_offset": 249709, + "original_offset": 8406, + "generated_offset": 256924, "length": 48 }, { "source": "parser.mbty", - "original_offset": 8312, - "generated_offset": 249765, + "original_offset": 8456, + "generated_offset": 256980, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8347, - "generated_offset": 249832, + "original_offset": 8491, + "generated_offset": 257047, "length": 51 }, { "source": "parser.mbty", - "original_offset": 8400, - "generated_offset": 249891, + "original_offset": 8544, + "generated_offset": 257106, "length": 46 }, { "source": "parser.mbty", - "original_offset": 8448, - "generated_offset": 249945, + "original_offset": 8592, + "generated_offset": 257160, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 8617, + "generated_offset": 257203, "length": 10 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 250866, + "original_offset": 11291, + "generated_offset": 258124, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 250876, + "original_offset": 11295, + "generated_offset": 258134, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 250893, + "original_offset": 11306, + "generated_offset": 258151, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 250903, + "original_offset": 11310, + "generated_offset": 258161, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 250913, + "original_offset": 11314, + "generated_offset": 258171, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 250923, + "original_offset": 11318, + "generated_offset": 258181, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 251836, + "original_offset": 11291, + "generated_offset": 259094, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 251846, + "original_offset": 11295, + "generated_offset": 259104, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 251863, + "original_offset": 11306, + "generated_offset": 259121, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 251873, + "original_offset": 11310, + "generated_offset": 259131, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 251883, + "original_offset": 11314, + "generated_offset": 259141, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 251893, + "original_offset": 11318, + "generated_offset": 259151, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 252850, + "original_offset": 11385, + "generated_offset": 260108, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 252860, + "original_offset": 11389, + "generated_offset": 260118, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 252876, + "original_offset": 11399, + "generated_offset": 260134, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 252886, + "original_offset": 11403, + "generated_offset": 260144, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 252913, + "original_offset": 11424, + "generated_offset": 260171, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 252968, + "original_offset": 11447, + "generated_offset": 260226, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 252981, + "original_offset": 11454, + "generated_offset": 260239, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 253938, + "original_offset": 11385, + "generated_offset": 261196, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 253948, + "original_offset": 11389, + "generated_offset": 261206, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 253964, + "original_offset": 11399, + "generated_offset": 261222, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 253974, + "original_offset": 11403, + "generated_offset": 261232, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 254001, + "original_offset": 11424, + "generated_offset": 261259, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 254056, + "original_offset": 11447, + "generated_offset": 261314, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 254069, + "original_offset": 11454, + "generated_offset": 261327, "length": 2 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 255675, + "original_offset": 17475, + "generated_offset": 262933, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 255715, + "original_offset": 17509, + "generated_offset": 262973, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 255769, + "original_offset": 17531, + "generated_offset": 263027, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 255804, + "original_offset": 17560, + "generated_offset": 263062, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 255958, + "original_offset": 17708, + "generated_offset": 263216, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 255981, + "original_offset": 17725, + "generated_offset": 263239, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 256032, + "original_offset": 17752, + "generated_offset": 263290, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 256058, + "original_offset": 17772, + "generated_offset": 263316, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 256123, + "original_offset": 17831, + "generated_offset": 263381, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 257350, + "original_offset": 20564, + "generated_offset": 264608, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 257396, + "original_offset": 20604, + "generated_offset": 264654, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 257421, + "original_offset": 20623, + "generated_offset": 264679, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 257451, + "original_offset": 20647, + "generated_offset": 264709, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 257473, + "original_offset": 20663, + "generated_offset": 264731, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 257497, + "original_offset": 20681, + "generated_offset": 264755, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 257547, + "original_offset": 20707, + "generated_offset": 264805, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 257609, + "original_offset": 20763, + "generated_offset": 264867, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 258551, + "original_offset": 22299, + "generated_offset": 265809, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 258566, + "original_offset": 22308, + "generated_offset": 265824, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 258576, + "original_offset": 22312, + "generated_offset": 265834, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 258586, + "original_offset": 22316, + "generated_offset": 265844, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 258596, + "original_offset": 22320, + "generated_offset": 265854, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 258645, + "original_offset": 22337, + "generated_offset": 265903, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 258656, + "original_offset": 22342, + "generated_offset": 265914, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 259451, + "original_offset": 22483, + "generated_offset": 266709, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 259461, + "original_offset": 22487, + "generated_offset": 266719, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 259471, + "original_offset": 22491, + "generated_offset": 266729, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 259481, + "original_offset": 22495, + "generated_offset": 266739, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 259491, + "original_offset": 22499, + "generated_offset": 266749, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 259540, + "original_offset": 22516, + "generated_offset": 266798, "length": 3 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 260453, + "original_offset": 11291, + "generated_offset": 267711, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 260463, + "original_offset": 11295, + "generated_offset": 267721, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 260480, + "original_offset": 11306, + "generated_offset": 267738, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 260490, + "original_offset": 11310, + "generated_offset": 267748, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 260500, + "original_offset": 11314, + "generated_offset": 267758, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 260510, + "original_offset": 11318, + "generated_offset": 267768, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 261422, + "original_offset": 11291, + "generated_offset": 268680, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 261432, + "original_offset": 11295, + "generated_offset": 268690, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 261449, + "original_offset": 11306, + "generated_offset": 268707, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 261459, + "original_offset": 11310, + "generated_offset": 268717, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 261469, + "original_offset": 11314, + "generated_offset": 268727, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 261479, + "original_offset": 11318, + "generated_offset": 268737, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 262435, + "original_offset": 11385, + "generated_offset": 269693, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 262445, + "original_offset": 11389, + "generated_offset": 269703, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 262461, + "original_offset": 11399, + "generated_offset": 269719, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 262471, + "original_offset": 11403, + "generated_offset": 269729, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 262498, + "original_offset": 11424, + "generated_offset": 269756, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 262553, + "original_offset": 11447, + "generated_offset": 269811, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 262566, + "original_offset": 11454, + "generated_offset": 269824, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 263522, + "original_offset": 11385, + "generated_offset": 270780, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 263532, + "original_offset": 11389, + "generated_offset": 270790, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 263548, + "original_offset": 11399, + "generated_offset": 270806, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 263558, + "original_offset": 11403, + "generated_offset": 270816, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 263585, + "original_offset": 11424, + "generated_offset": 270843, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 263640, + "original_offset": 11447, + "generated_offset": 270898, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 263653, + "original_offset": 11454, + "generated_offset": 270911, "length": 2 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 265258, + "original_offset": 17475, + "generated_offset": 272516, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 265298, + "original_offset": 17509, + "generated_offset": 272556, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 265352, + "original_offset": 17531, + "generated_offset": 272610, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 265387, + "original_offset": 17560, + "generated_offset": 272645, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 265541, + "original_offset": 17708, + "generated_offset": 272799, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 265564, + "original_offset": 17725, + "generated_offset": 272822, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 265615, + "original_offset": 17752, + "generated_offset": 272873, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 265641, + "original_offset": 17772, + "generated_offset": 272899, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 265706, + "original_offset": 17831, + "generated_offset": 272964, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 266932, + "original_offset": 20564, + "generated_offset": 274190, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 266978, + "original_offset": 20604, + "generated_offset": 274236, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 267003, + "original_offset": 20623, + "generated_offset": 274261, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 267033, + "original_offset": 20647, + "generated_offset": 274291, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 267055, + "original_offset": 20663, + "generated_offset": 274313, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 267079, + "original_offset": 20681, + "generated_offset": 274337, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 267129, + "original_offset": 20707, + "generated_offset": 274387, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 267191, + "original_offset": 20763, + "generated_offset": 274449, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 268132, + "original_offset": 22299, + "generated_offset": 275390, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 268147, + "original_offset": 22308, + "generated_offset": 275405, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 268157, + "original_offset": 22312, + "generated_offset": 275415, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 268167, + "original_offset": 22316, + "generated_offset": 275425, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 268177, + "original_offset": 22320, + "generated_offset": 275435, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 268226, + "original_offset": 22337, + "generated_offset": 275484, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 268237, + "original_offset": 22342, + "generated_offset": 275495, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 269031, + "original_offset": 22483, + "generated_offset": 276289, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 269041, + "original_offset": 22487, + "generated_offset": 276299, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 269051, + "original_offset": 22491, + "generated_offset": 276309, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 269061, + "original_offset": 22495, + "generated_offset": 276319, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 269071, + "original_offset": 22499, + "generated_offset": 276329, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 269120, + "original_offset": 22516, + "generated_offset": 276378, "length": 3 }, { "source": "parser.mbty", - "original_offset": 21829, - "generated_offset": 269300, + "original_offset": 22093, + "generated_offset": 276558, "length": 6 }, { "source": "parser.mbty", - "original_offset": 8588, - "generated_offset": 269740, + "original_offset": 8757, + "generated_offset": 276998, "length": 2 }, { "source": "parser.mbty", - "original_offset": 8592, - "generated_offset": 269750, + "original_offset": 8761, + "generated_offset": 277008, "length": 2 }, { "source": "parser.mbty", - "original_offset": 8596, - "generated_offset": 269760, + "original_offset": 8765, + "generated_offset": 277018, "length": 2 }, { "source": "parser.mbty", - "original_offset": 8600, - "generated_offset": 269770, + "original_offset": 8769, + "generated_offset": 277028, "length": 2 }, { "source": "parser.mbty", - "original_offset": 8664, - "generated_offset": 270215, + "original_offset": 8833, + "generated_offset": 277473, "length": 2 }, { "source": "parser.mbty", - "original_offset": 8668, - "generated_offset": 270225, + "original_offset": 8837, + "generated_offset": 277483, "length": 2 }, { "source": "parser.mbty", - "original_offset": 8672, - "generated_offset": 270235, + "original_offset": 8841, + "generated_offset": 277493, "length": 2 }, { "source": "parser.mbty", - "original_offset": 8676, - "generated_offset": 270245, + "original_offset": 8845, + "generated_offset": 277503, "length": 2 }, { "source": "parser.mbty", - "original_offset": 7351, - "generated_offset": 270721, + "original_offset": 7470, + "generated_offset": 277979, "length": 34 }, { "source": "parser.mbty", - "original_offset": 7387, - "generated_offset": 270763, + "original_offset": 7506, + "generated_offset": 278021, "length": 14 }, { "source": "parser.mbty", - "original_offset": 7409, - "generated_offset": 270817, + "original_offset": 7528, + "generated_offset": 278075, "length": 14 }, { "source": "parser.mbty", - "original_offset": 7425, - "generated_offset": 270839, + "original_offset": 7544, + "generated_offset": 278097, "length": 13 }, { "source": "parser.mbty", - "original_offset": 7452, - "generated_offset": 271167, + "original_offset": 7571, + "generated_offset": 278425, "length": 8 }, { "source": "parser.mbty", - "original_offset": 7462, - "generated_offset": 271183, + "original_offset": 7581, + "generated_offset": 278441, "length": 2 }, { "source": "parser.mbty", - "original_offset": 9744, - "generated_offset": 272667, + "original_offset": 9942, + "generated_offset": 280124, "length": 26 }, { "source": "parser.mbty", - "original_offset": 9772, - "generated_offset": 272701, + "original_offset": 9970, + "generated_offset": 280158, "length": 37 }, { "source": "parser.mbty", - "original_offset": 9812, - "generated_offset": 272747, + "original_offset": 10010, + "generated_offset": 280204, "length": 80 }, { "source": "parser.mbty", - "original_offset": 9894, - "generated_offset": 272835, + "original_offset": 10092, + "generated_offset": 280292, "length": 44 }, { "source": "parser.mbty", - "original_offset": 9940, - "generated_offset": 272887, + "original_offset": 10138, + "generated_offset": 280344, "length": 21 }, { "source": "parser.mbty", - "original_offset": 9963, - "generated_offset": 272916, + "original_offset": 10161, + "generated_offset": 280373, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9998, - "generated_offset": 272983, + "original_offset": 10196, + "generated_offset": 280440, "length": 51 }, { "source": "parser.mbty", - "original_offset": 10051, - "generated_offset": 273042, + "original_offset": 10249, + "generated_offset": 280499, "length": 46 }, { "source": "parser.mbty", - "original_offset": 10099, - "generated_offset": 273096, + "original_offset": 10297, + "generated_offset": 280553, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 10322, + "generated_offset": 280596, "length": 13 }, { "source": "parser.mbty", - "original_offset": 10114, - "generated_offset": 273117, + "original_offset": 10337, + "generated_offset": 280617, "length": 13 }, { "source": "parser.mbty", - "original_offset": 11828, - "generated_offset": 274468, + "original_offset": 12051, + "generated_offset": 281968, "length": 51 }, { "source": "parser.mbty", - "original_offset": 11881, - "generated_offset": 274527, + "original_offset": 12104, + "generated_offset": 282027, "length": 29 }, { "source": "parser.mbty", - "original_offset": 11918, - "generated_offset": 274596, + "original_offset": 12141, + "generated_offset": 282096, "length": 20 }, { "source": "parser.mbty", - "original_offset": 11940, - "generated_offset": 274624, + "original_offset": 12163, + "generated_offset": 282124, "length": 49 }, { "source": "parser.mbty", - "original_offset": 11991, - "generated_offset": 274681, + "original_offset": 12214, + "generated_offset": 282181, "length": 54 }, { "source": "parser.mbty", - "original_offset": 12047, - "generated_offset": 274743, + "original_offset": 12270, + "generated_offset": 282243, "length": 23 }, { "source": "parser.mbty", - "original_offset": 12075, - "generated_offset": 274795, + "original_offset": 12298, + "generated_offset": 282295, "length": 19 }, { "source": "parser.mbty", - "original_offset": 12096, - "generated_offset": 274822, + "original_offset": 12319, + "generated_offset": 282322, "length": 45 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 275775, + "original_offset": 11291, + "generated_offset": 283275, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 275785, + "original_offset": 11295, + "generated_offset": 283285, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 275802, + "original_offset": 11306, + "generated_offset": 283302, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 275812, + "original_offset": 11310, + "generated_offset": 283312, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 275822, + "original_offset": 11314, + "generated_offset": 283322, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 275832, + "original_offset": 11318, + "generated_offset": 283332, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11068, - "generated_offset": 276742, + "original_offset": 11291, + "generated_offset": 284242, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11072, - "generated_offset": 276752, + "original_offset": 11295, + "generated_offset": 284252, "length": 9 }, { "source": "parser.mbty", - "original_offset": 11083, - "generated_offset": 276769, + "original_offset": 11306, + "generated_offset": 284269, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11087, - "generated_offset": 276779, + "original_offset": 11310, + "generated_offset": 284279, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11091, - "generated_offset": 276789, + "original_offset": 11314, + "generated_offset": 284289, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11095, - "generated_offset": 276799, + "original_offset": 11318, + "generated_offset": 284299, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 277753, + "original_offset": 11385, + "generated_offset": 285253, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 277763, + "original_offset": 11389, + "generated_offset": 285263, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 277779, + "original_offset": 11399, + "generated_offset": 285279, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 277789, + "original_offset": 11403, + "generated_offset": 285289, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 277816, + "original_offset": 11424, + "generated_offset": 285316, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 277871, + "original_offset": 11447, + "generated_offset": 285371, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 277884, + "original_offset": 11454, + "generated_offset": 285384, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11162, - "generated_offset": 278838, + "original_offset": 11385, + "generated_offset": 286338, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11166, - "generated_offset": 278848, + "original_offset": 11389, + "generated_offset": 286348, "length": 8 }, { "source": "parser.mbty", - "original_offset": 11176, - "generated_offset": 278864, + "original_offset": 11399, + "generated_offset": 286364, "length": 2 }, { "source": "parser.mbty", - "original_offset": 11180, - "generated_offset": 278874, + "original_offset": 11403, + "generated_offset": 286374, "length": 19 }, { "source": "parser.mbty", - "original_offset": 11201, - "generated_offset": 278901, + "original_offset": 11424, + "generated_offset": 286401, "length": 15 }, { "source": "parser.mbty", - "original_offset": 11224, - "generated_offset": 278956, + "original_offset": 11447, + "generated_offset": 286456, "length": 5 }, { "source": "parser.mbty", - "original_offset": 11231, - "generated_offset": 278969, - "length": 2 + "original_offset": 11454, + "generated_offset": 286469, + "length": 2 + }, + { + "source": "parser.mbty", + "original_offset": 11598, + "generated_offset": 287450, + "length": 67 + }, + { + "source": "parser.mbty", + "original_offset": 11667, + "generated_offset": 287525, + "length": 185 + }, + { + "source": "parser.mbty", + "original_offset": 11854, + "generated_offset": 287718, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 11882, + "generated_offset": 287770, + "length": 53 + }, + { + "source": "parser.mbty", + "original_offset": 12413, + "generated_offset": 288854, + "length": 67 + }, + { + "source": "parser.mbty", + "original_offset": 12482, + "generated_offset": 288929, + "length": 113 + }, + { + "source": "parser.mbty", + "original_offset": 12597, + "generated_offset": 289050, + "length": 73 + }, + { + "source": "parser.mbty", + "original_offset": 12672, + "generated_offset": 289131, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 12700, + "generated_offset": 289183, + "length": 53 + }, + { + "source": "parser.mbty", + "original_offset": 18598, + "generated_offset": 290269, + "length": 67 + }, + { + "source": "parser.mbty", + "original_offset": 18667, + "generated_offset": 290344, + "length": 111 + }, + { + "source": "parser.mbty", + "original_offset": 18780, + "generated_offset": 290463, + "length": 73 + }, + { + "source": "parser.mbty", + "original_offset": 18855, + "generated_offset": 290544, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 18883, + "generated_offset": 290596, + "length": 53 + }, + { + "source": "parser.mbty", + "original_offset": 12814, + "generated_offset": 291849, + "length": 59 + }, + { + "source": "parser.mbty", + "original_offset": 12875, + "generated_offset": 291916, + "length": 48 + }, + { + "source": "parser.mbty", + "original_offset": 12925, + "generated_offset": 291972, + "length": 281 + }, + { + "source": "parser.mbty", + "original_offset": 13208, + "generated_offset": 292261, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 13236, + "generated_offset": 292313, + "length": 54 + }, + { + "source": "parser.mbty", + "original_offset": 13374, + "generated_offset": 293504, + "length": 59 + }, + { + "source": "parser.mbty", + "original_offset": 13435, + "generated_offset": 293571, + "length": 54 + }, + { + "source": "parser.mbty", + "original_offset": 13491, + "generated_offset": 293633, + "length": 214 + }, + { + "source": "parser.mbty", + "original_offset": 13707, + "generated_offset": 293855, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 13735, + "generated_offset": 293907, + "length": 53 + }, + { + "source": "parser.mbty", + "original_offset": 54, + "generated_offset": 294182, + "length": 6 + }, + { + "source": "parser.mbty", + "original_offset": 62, + "generated_offset": 294196, + "length": 2 + }, + { + "source": "parser.mbty", + "original_offset": 39, + "generated_offset": 294371, + "length": 6 + }, + { + "source": "parser.mbty", + "original_offset": 13858, + "generated_offset": 295502, + "length": 55 + }, + { + "source": "parser.mbty", + "original_offset": 13915, + "generated_offset": 295565, + "length": 33 + }, + { + "source": "parser.mbty", + "original_offset": 13950, + "generated_offset": 295606, + "length": 206 + }, + { + "source": "parser.mbty", + "original_offset": 14158, + "generated_offset": 295820, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 14186, + "generated_offset": 295872, + "length": 61 + }, + { + "source": "parser.mbty", + "original_offset": 62013, + "generated_offset": 296245, + "length": 26 + }, + { + "source": "parser.mbty", + "original_offset": 62041, + "generated_offset": 296279, + "length": 5 + }, + { + "source": "parser.mbty", + "original_offset": 61558, + "generated_offset": 297851, + "length": 37 + }, + { + "source": "parser.mbty", + "original_offset": 61597, + "generated_offset": 297896, + "length": 53 + }, + { + "source": "parser.mbty", + "original_offset": 61652, + "generated_offset": 297957, + "length": 43 + }, + { + "source": "parser.mbty", + "original_offset": 61697, + "generated_offset": 298008, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 61720, + "generated_offset": 298037, + "length": 26 + }, + { + "source": "parser.mbty", + "original_offset": 61748, + "generated_offset": 298071, + "length": 28 + }, + { + "source": "parser.mbty", + "original_offset": 61784, + "generated_offset": 298139, + "length": 104 + }, + { + "source": "parser.mbty", + "original_offset": 61890, + "generated_offset": 298251, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 61915, + "generated_offset": 298294, + "length": 10 + }, + { + "source": "parser.mbty", + "original_offset": 61558, + "generated_offset": 299871, + "length": 37 + }, + { + "source": "parser.mbty", + "original_offset": 61597, + "generated_offset": 299916, + "length": 53 + }, + { + "source": "parser.mbty", + "original_offset": 61652, + "generated_offset": 299977, + "length": 43 + }, + { + "source": "parser.mbty", + "original_offset": 61697, + "generated_offset": 300028, + "length": 21 + }, + { + "source": "parser.mbty", + "original_offset": 61720, + "generated_offset": 300057, + "length": 26 + }, + { + "source": "parser.mbty", + "original_offset": 61748, + "generated_offset": 300091, + "length": 28 + }, + { + "source": "parser.mbty", + "original_offset": 61784, + "generated_offset": 300159, + "length": 104 }, { "source": "parser.mbty", - "original_offset": 11375, - "generated_offset": 279950, - "length": 67 + "original_offset": 61890, + "generated_offset": 300271, + "length": 21 }, { "source": "parser.mbty", - "original_offset": 11444, - "generated_offset": 280025, - "length": 185 + "original_offset": 61915, + "generated_offset": 300314, + "length": 10 }, { "source": "parser.mbty", - "original_offset": 11631, - "generated_offset": 280218, - "length": 23 + "original_offset": 61558, + "generated_offset": 301889, + "length": 37 }, { "source": "parser.mbty", - "original_offset": 11659, - "generated_offset": 280270, + "original_offset": 61597, + "generated_offset": 301934, "length": 53 }, { "source": "parser.mbty", - "original_offset": 12190, - "generated_offset": 281354, - "length": 67 + "original_offset": 61652, + "generated_offset": 301995, + "length": 43 }, { "source": "parser.mbty", - "original_offset": 12259, - "generated_offset": 281429, - "length": 113 + "original_offset": 61697, + "generated_offset": 302046, + "length": 21 }, { "source": "parser.mbty", - "original_offset": 12374, - "generated_offset": 281550, - "length": 73 + "original_offset": 61720, + "generated_offset": 302075, + "length": 26 }, { "source": "parser.mbty", - "original_offset": 12449, - "generated_offset": 281631, - "length": 23 + "original_offset": 61748, + "generated_offset": 302109, + "length": 28 }, { "source": "parser.mbty", - "original_offset": 12477, - "generated_offset": 281683, - "length": 53 + "original_offset": 61784, + "generated_offset": 302177, + "length": 104 }, { "source": "parser.mbty", - "original_offset": 18334, - "generated_offset": 282769, - "length": 67 + "original_offset": 61890, + "generated_offset": 302289, + "length": 21 }, { "source": "parser.mbty", - "original_offset": 18403, - "generated_offset": 282844, - "length": 111 + "original_offset": 61915, + "generated_offset": 302332, + "length": 10 }, { "source": "parser.mbty", - "original_offset": 18516, - "generated_offset": 282963, - "length": 73 + "original_offset": 61558, + "generated_offset": 303907, + "length": 37 }, { "source": "parser.mbty", - "original_offset": 18591, - "generated_offset": 283044, - "length": 23 + "original_offset": 61597, + "generated_offset": 303952, + "length": 53 }, { "source": "parser.mbty", - "original_offset": 18619, - "generated_offset": 283096, - "length": 53 + "original_offset": 61652, + "generated_offset": 304013, + "length": 43 }, { "source": "parser.mbty", - "original_offset": 12591, - "generated_offset": 284349, - "length": 59 + "original_offset": 61697, + "generated_offset": 304064, + "length": 21 }, { "source": "parser.mbty", - "original_offset": 12652, - "generated_offset": 284416, - "length": 48 + "original_offset": 61720, + "generated_offset": 304093, + "length": 26 }, { "source": "parser.mbty", - "original_offset": 12702, - "generated_offset": 284472, - "length": 281 + "original_offset": 61748, + "generated_offset": 304127, + "length": 28 }, { "source": "parser.mbty", - "original_offset": 12985, - "generated_offset": 284761, - "length": 23 + "original_offset": 61784, + "generated_offset": 304195, + "length": 104 }, { "source": "parser.mbty", - "original_offset": 13013, - "generated_offset": 284813, - "length": 54 + "original_offset": 61890, + "generated_offset": 304307, + "length": 21 }, { "source": "parser.mbty", - "original_offset": 13151, - "generated_offset": 286004, - "length": 59 + "original_offset": 61915, + "generated_offset": 304350, + "length": 10 }, { "source": "parser.mbty", - "original_offset": 13212, - "generated_offset": 286071, - "length": 54 + "original_offset": 62173, + "generated_offset": 304773, + "length": 6 }, { "source": "parser.mbty", - "original_offset": 13268, - "generated_offset": 286133, - "length": 214 + "original_offset": 62181, + "generated_offset": 304787, + "length": 13 }, { "source": "parser.mbty", - "original_offset": 13484, - "generated_offset": 286355, - "length": 23 + "original_offset": 62196, + "generated_offset": 304808, + "length": 5 }, { "source": "parser.mbty", - "original_offset": 13512, - "generated_offset": 286407, - "length": 53 + "original_offset": 4999, + "generated_offset": 305137, + "length": 1 }, { "source": "parser.mbty", - "original_offset": 54, - "generated_offset": 286682, - "length": 6 + "original_offset": 5002, + "generated_offset": 305146, + "length": 5 }, { "source": "parser.mbty", - "original_offset": 62, - "generated_offset": 286696, + "original_offset": 5009, + "generated_offset": 305159, "length": 2 }, { "source": "parser.mbty", - "original_offset": 39, - "generated_offset": 286871, + "original_offset": 62268, + "generated_offset": 305500, "length": 6 }, { "source": "parser.mbty", - "original_offset": 13648, - "generated_offset": 287942, - "length": 55 - }, - { - "source": "parser.mbty", - "original_offset": 13705, - "generated_offset": 288005, - "length": 112 + "original_offset": 62276, + "generated_offset": 305514, + "length": 16 }, { "source": "parser.mbty", - "original_offset": 13819, - "generated_offset": 288125, - "length": 73 + "original_offset": 4933, + "generated_offset": 305773, + "length": 17 }, { "source": "parser.mbty", - "original_offset": 13894, - "generated_offset": 288206, - "length": 23 + "original_offset": 4952, + "generated_offset": 305798, + "length": 2 }, { "source": "parser.mbty", - "original_offset": 13922, - "generated_offset": 288258, - "length": 61 + "original_offset": 62053, + "generated_offset": 306030, + "length": 29 }, { "source": "parser.mbty", - "original_offset": 14065, - "generated_offset": 289383, + "original_offset": 14329, + "generated_offset": 307123, "length": 55 }, { "source": "parser.mbty", - "original_offset": 14122, - "generated_offset": 289446, + "original_offset": 14386, + "generated_offset": 307186, "length": 117 }, { "source": "parser.mbty", - "original_offset": 14241, - "generated_offset": 289571, + "original_offset": 14505, + "generated_offset": 307311, "length": 73 }, { "source": "parser.mbty", - "original_offset": 14316, - "generated_offset": 289652, + "original_offset": 14580, + "generated_offset": 307392, "length": 23 }, { "source": "parser.mbty", - "original_offset": 14344, - "generated_offset": 289704, + "original_offset": 14608, + "generated_offset": 307444, "length": 61 }, { "source": "parser.mbty", - "original_offset": 14485, - "generated_offset": 290829, + "original_offset": 14749, + "generated_offset": 308569, "length": 55 }, { "source": "parser.mbty", - "original_offset": 14542, - "generated_offset": 290892, + "original_offset": 14806, + "generated_offset": 308632, "length": 113 }, { "source": "parser.mbty", - "original_offset": 14657, - "generated_offset": 291013, + "original_offset": 14921, + "generated_offset": 308753, "length": 73 }, { "source": "parser.mbty", - "original_offset": 14732, - "generated_offset": 291094, + "original_offset": 14996, + "generated_offset": 308834, "length": 23 }, { "source": "parser.mbty", - "original_offset": 14760, - "generated_offset": 291146, + "original_offset": 15024, + "generated_offset": 308886, "length": 61 }, { "source": "parser.mbty", - "original_offset": 14848, - "generated_offset": 292027, + "original_offset": 15112, + "generated_offset": 309767, "length": 61 }, { "source": "parser.mbty", - "original_offset": 14911, - "generated_offset": 292096, + "original_offset": 15175, + "generated_offset": 309836, "length": 55 }, { "source": "parser.mbty", - "original_offset": 14968, - "generated_offset": 292159, + "original_offset": 15232, + "generated_offset": 309899, "length": 53 }, { "source": "parser.mbty", - "original_offset": 15026, - "generated_offset": 292241, + "original_offset": 15290, + "generated_offset": 309981, "length": 75 }, { "source": "parser.mbty", - "original_offset": 15144, - "generated_offset": 293086, + "original_offset": 15408, + "generated_offset": 310826, "length": 32 }, { "source": "parser.mbty", - "original_offset": 15178, - "generated_offset": 293126, + "original_offset": 15442, + "generated_offset": 310866, "length": 36 }, { "source": "parser.mbty", - "original_offset": 15219, - "generated_offset": 293191, + "original_offset": 15483, + "generated_offset": 310931, "length": 69 }, { "source": "parser.mbty", - "original_offset": 15290, - "generated_offset": 293268, + "original_offset": 15554, + "generated_offset": 311008, "length": 14 }, { "source": "parser.mbty", - "original_offset": 15306, - "generated_offset": 293290, + "original_offset": 15570, + "generated_offset": 311030, "length": 38 }, { "source": "parser.mbty", - "original_offset": 15976, - "generated_offset": 294032, + "original_offset": 16240, + "generated_offset": 311772, "length": 28 }, { "source": "parser.mbty", - "original_offset": 16006, - "generated_offset": 294068, + "original_offset": 16270, + "generated_offset": 311808, "length": 36 }, { "source": "parser.mbty", - "original_offset": 16047, - "generated_offset": 294133, + "original_offset": 16311, + "generated_offset": 311873, "length": 108 }, { "source": "parser.mbty", - "original_offset": 16157, - "generated_offset": 294249, + "original_offset": 16421, + "generated_offset": 311989, "length": 12 }, { "source": "parser.mbty", - "original_offset": 16231, - "generated_offset": 294999, + "original_offset": 16495, + "generated_offset": 312739, "length": 28 }, { "source": "parser.mbty", - "original_offset": 16261, - "generated_offset": 295035, + "original_offset": 16525, + "generated_offset": 312775, "length": 36 }, { "source": "parser.mbty", - "original_offset": 16302, - "generated_offset": 295100, + "original_offset": 16566, + "generated_offset": 312840, "length": 117 }, { "source": "parser.mbty", - "original_offset": 16421, - "generated_offset": 295225, + "original_offset": 16685, + "generated_offset": 312965, "length": 12 }, { "source": "parser.mbty", - "original_offset": 15385, - "generated_offset": 295936, + "original_offset": 15649, + "generated_offset": 313676, "length": 36 }, { "source": "parser.mbty", - "original_offset": 15426, - "generated_offset": 296001, + "original_offset": 15690, + "generated_offset": 313741, "length": 20 }, { "source": "parser.mbty", - "original_offset": 15448, - "generated_offset": 296029, + "original_offset": 15712, + "generated_offset": 313769, "length": 51 }, { "source": "parser.mbty", - "original_offset": 15501, - "generated_offset": 296088, + "original_offset": 15765, + "generated_offset": 313828, "length": 14 }, { "source": "parser.mbty", - "original_offset": 15517, - "generated_offset": 296110, + "original_offset": 15781, + "generated_offset": 313850, "length": 28 }, { "source": "parser.mbty", - "original_offset": 15574, - "generated_offset": 296769, + "original_offset": 15838, + "generated_offset": 314509, "length": 36 }, { "source": "parser.mbty", - "original_offset": 15615, - "generated_offset": 296834, + "original_offset": 15879, + "generated_offset": 314574, "length": 20 }, { "source": "parser.mbty", - "original_offset": 15637, - "generated_offset": 296862, + "original_offset": 15901, + "generated_offset": 314602, "length": 74 }, { "source": "parser.mbty", - "original_offset": 15713, - "generated_offset": 296944, + "original_offset": 15977, + "generated_offset": 314684, "length": 12 }, { "source": "parser.mbty", - "original_offset": 15780, - "generated_offset": 297621, + "original_offset": 16044, + "generated_offset": 315361, "length": 36 }, { "source": "parser.mbty", - "original_offset": 15821, - "generated_offset": 297686, + "original_offset": 16085, + "generated_offset": 315426, "length": 20 }, { "source": "parser.mbty", - "original_offset": 15843, - "generated_offset": 297714, + "original_offset": 16107, + "generated_offset": 315454, "length": 83 }, { "source": "parser.mbty", - "original_offset": 15928, - "generated_offset": 297805, + "original_offset": 16192, + "generated_offset": 315545, "length": 12 }, { "source": "parser.mbty", - "original_offset": 3758, - "generated_offset": 298114, + "original_offset": 3877, + "generated_offset": 315854, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3761, - "generated_offset": 298123, + "original_offset": 3880, + "generated_offset": 315863, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3768, - "generated_offset": 298136, + "original_offset": 3887, + "generated_offset": 315876, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3710, - "generated_offset": 298375, + "original_offset": 3829, + "generated_offset": 316115, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3729, - "generated_offset": 298400, + "original_offset": 3848, + "generated_offset": 316140, "length": 2 }, { "source": "parser.mbty", - "original_offset": 16479, - "generated_offset": 299074, + "original_offset": 16743, + "generated_offset": 316814, "length": 31 }, { "source": "parser.mbty", - "original_offset": 16512, - "generated_offset": 299113, + "original_offset": 16776, + "generated_offset": 316853, "length": 36 }, { "source": "parser.mbty", - "original_offset": 16553, - "generated_offset": 299178, + "original_offset": 16817, + "generated_offset": 316918, "length": 20 }, { "source": "parser.mbty", - "original_offset": 16575, - "generated_offset": 299206, + "original_offset": 16839, + "generated_offset": 316946, "length": 58 }, { "source": "parser.mbty", - "original_offset": 16659, - "generated_offset": 299789, + "original_offset": 16923, + "generated_offset": 317529, "length": 36 }, { "source": "parser.mbty", - "original_offset": 16700, - "generated_offset": 299854, + "original_offset": 16964, + "generated_offset": 317594, "length": 20 }, { "source": "parser.mbty", - "original_offset": 16722, - "generated_offset": 299882, + "original_offset": 16986, + "generated_offset": 317622, "length": 37 }, { "source": "parser.mbty", - "original_offset": 16817, - "generated_offset": 300932, + "original_offset": 17081, + "generated_offset": 318672, "length": 46 }, { "source": "parser.mbty", - "original_offset": 16865, - "generated_offset": 300986, + "original_offset": 17129, + "generated_offset": 318726, "length": 77 }, { "source": "parser.mbty", - "original_offset": 16944, - "generated_offset": 301071, + "original_offset": 17208, + "generated_offset": 318811, "length": 16 }, { "source": "parser.mbty", - "original_offset": 16962, - "generated_offset": 301095, + "original_offset": 17226, + "generated_offset": 318835, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17036, - "generated_offset": 301193, + "original_offset": 17300, + "generated_offset": 318933, "length": 10 }, { "source": "parser.mbty", - "original_offset": 23719, - "generated_offset": 301712, + "original_offset": 23983, + "generated_offset": 319452, "length": 13 }, { "source": "parser.mbty", - "original_offset": 23734, - "generated_offset": 301733, + "original_offset": 23998, + "generated_offset": 319473, "length": 25 }, { "source": "parser.mbty", - "original_offset": 23761, - "generated_offset": 301766, + "original_offset": 24025, + "generated_offset": 319506, "length": 5 }, { "source": "parser.mbty", "original_offset": 115, - "generated_offset": 301945, + "generated_offset": 319685, "length": 6 }, { "source": "parser.mbty", - "original_offset": 23719, - "generated_offset": 302460, + "original_offset": 23983, + "generated_offset": 320200, "length": 13 }, { "source": "parser.mbty", - "original_offset": 23734, - "generated_offset": 302481, + "original_offset": 23998, + "generated_offset": 320221, "length": 25 }, { "source": "parser.mbty", - "original_offset": 23761, - "generated_offset": 302514, + "original_offset": 24025, + "generated_offset": 320254, "length": 5 }, { "source": "parser.mbty", "original_offset": 130, - "generated_offset": 302744, + "generated_offset": 320484, "length": 6 }, { "source": "parser.mbty", "original_offset": 138, - "generated_offset": 302758, + "generated_offset": 320498, "length": 2 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 302984, + "generated_offset": 320724, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 302998, + "generated_offset": 320738, "length": 2 }, { "source": "parser.mbty", - "original_offset": 23816, - "generated_offset": 303544, + "original_offset": 24080, + "generated_offset": 321284, "length": 31 }, { "source": "parser.mbty", - "original_offset": 23849, - "generated_offset": 303583, + "original_offset": 24113, + "generated_offset": 321323, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23871, - "generated_offset": 303637, + "original_offset": 24135, + "generated_offset": 321377, "length": 49 }, { "source": "parser.mbty", - "original_offset": 23922, - "generated_offset": 303694, + "original_offset": 24186, + "generated_offset": 321434, "length": 5 }, { "source": "parser.mbty", - "original_offset": 24018, - "generated_offset": 304332, + "original_offset": 24282, + "generated_offset": 322072, "length": 31 }, { "source": "parser.mbty", - "original_offset": 24051, - "generated_offset": 304371, + "original_offset": 24315, + "generated_offset": 322111, "length": 14 }, { "source": "parser.mbty", - "original_offset": 24073, - "generated_offset": 304425, + "original_offset": 24337, + "generated_offset": 322165, "length": 25 }, { "source": "parser.mbty", - "original_offset": 24100, - "generated_offset": 304458, + "original_offset": 24364, + "generated_offset": 322198, "length": 26 }, { "source": "parser.mbty", - "original_offset": 24128, - "generated_offset": 304492, + "original_offset": 24392, + "generated_offset": 322232, "length": 5 }, { "source": "parser.mbty", - "original_offset": 24564, - "generated_offset": 305149, + "original_offset": 24828, + "generated_offset": 322889, "length": 31 }, { "source": "parser.mbty", - "original_offset": 24597, - "generated_offset": 305188, + "original_offset": 24861, + "generated_offset": 322928, "length": 14 }, { "source": "parser.mbty", - "original_offset": 24619, - "generated_offset": 305242, + "original_offset": 24883, + "generated_offset": 322982, "length": 25 }, { "source": "parser.mbty", - "original_offset": 24646, - "generated_offset": 305275, + "original_offset": 24910, + "generated_offset": 323015, "length": 9 }, { "source": "parser.mbty", - "original_offset": 24657, - "generated_offset": 305292, + "original_offset": 24921, + "generated_offset": 323032, "length": 4 }, { "source": "parser.mbty", - "original_offset": 24349, - "generated_offset": 305856, + "original_offset": 24613, + "generated_offset": 323596, "length": 31 }, { "source": "parser.mbty", - "original_offset": 24382, - "generated_offset": 305895, + "original_offset": 24646, + "generated_offset": 323635, "length": 14 }, { "source": "parser.mbty", - "original_offset": 24404, - "generated_offset": 305949, + "original_offset": 24668, + "generated_offset": 323689, "length": 32 }, { "source": "parser.mbty", - "original_offset": 24438, - "generated_offset": 305989, + "original_offset": 24702, + "generated_offset": 323729, "length": 4 }, { "source": "parser.mbty", - "original_offset": 24989, - "generated_offset": 306770, + "original_offset": 25253, + "generated_offset": 324510, "length": 12 }, { "source": "parser.mbty", - "original_offset": 25003, - "generated_offset": 306790, + "original_offset": 25267, + "generated_offset": 324530, "length": 56 }, { "source": "parser.mbty", - "original_offset": 25061, - "generated_offset": 306854, + "original_offset": 25325, + "generated_offset": 324594, "length": 14 }, { "source": "parser.mbty", - "original_offset": 25083, - "generated_offset": 306908, + "original_offset": 25347, + "generated_offset": 324648, "length": 118 }, { "source": "parser.mbty", - "original_offset": 25203, - "generated_offset": 307034, + "original_offset": 25467, + "generated_offset": 324774, "length": 14 }, { "source": "parser.mbty", - "original_offset": 25225, - "generated_offset": 307088, + "original_offset": 25489, + "generated_offset": 324828, "length": 74 }, { "source": "parser.mbty", - "original_offset": 24761, - "generated_offset": 307511, + "original_offset": 25025, + "generated_offset": 325251, "length": 16 }, { "source": "parser.mbty", - "original_offset": 24779, - "generated_offset": 307535, + "original_offset": 25043, + "generated_offset": 325275, "length": 14 }, { "source": "parser.mbty", - "original_offset": 24801, - "generated_offset": 307589, + "original_offset": 25065, + "generated_offset": 325329, "length": 4 }, { "source": "parser.mbty", - "original_offset": 24834, - "generated_offset": 307942, + "original_offset": 25098, + "generated_offset": 325682, "length": 16 }, { "source": "parser.mbty", - "original_offset": 24852, - "generated_offset": 307966, + "original_offset": 25116, + "generated_offset": 325706, "length": 14 }, { "source": "parser.mbty", - "original_offset": 24874, - "generated_offset": 308020, + "original_offset": 25138, + "generated_offset": 325760, "length": 4 }, { "source": "parser.mbty", - "original_offset": 24242, - "generated_offset": 308475, + "original_offset": 24506, + "generated_offset": 326215, "length": 13 }, { "source": "parser.mbty", - "original_offset": 24257, - "generated_offset": 308496, + "original_offset": 24521, + "generated_offset": 326236, "length": 8 }, { "source": "parser.mbty", - "original_offset": 24267, - "generated_offset": 308512, + "original_offset": 24531, + "generated_offset": 326252, "length": 4 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 308797, + "original_offset": 4227, + "generated_offset": 326537, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 308806, + "original_offset": 4230, + "generated_offset": 326546, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 309140, + "original_offset": 4013, + "generated_offset": 326880, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 309149, + "original_offset": 4016, + "generated_offset": 326889, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 309162, + "original_offset": 4023, + "generated_offset": 326902, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 309411, + "original_offset": 3950, + "generated_offset": 327151, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 309436, + "original_offset": 3969, + "generated_offset": 327176, "length": 2 }, { "source": "parser.mbty", - "original_offset": 24761, - "generated_offset": 309787, + "original_offset": 25025, + "generated_offset": 327527, "length": 16 }, { "source": "parser.mbty", - "original_offset": 24779, - "generated_offset": 309811, + "original_offset": 25043, + "generated_offset": 327551, "length": 14 }, { "source": "parser.mbty", - "original_offset": 24801, - "generated_offset": 309865, + "original_offset": 25065, + "generated_offset": 327605, "length": 4 }, { "source": "parser.mbty", - "original_offset": 24989, - "generated_offset": 310646, + "original_offset": 25253, + "generated_offset": 328386, "length": 12 }, { "source": "parser.mbty", - "original_offset": 25003, - "generated_offset": 310666, + "original_offset": 25267, + "generated_offset": 328406, "length": 56 }, { "source": "parser.mbty", - "original_offset": 25061, - "generated_offset": 310730, + "original_offset": 25325, + "generated_offset": 328470, "length": 14 }, { "source": "parser.mbty", - "original_offset": 25083, - "generated_offset": 310784, + "original_offset": 25347, + "generated_offset": 328524, "length": 118 }, { "source": "parser.mbty", - "original_offset": 25203, - "generated_offset": 310910, + "original_offset": 25467, + "generated_offset": 328650, "length": 14 }, { "source": "parser.mbty", - "original_offset": 25225, - "generated_offset": 310964, + "original_offset": 25489, + "generated_offset": 328704, "length": 74 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 311340, + "generated_offset": 329080, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 311354, + "generated_offset": 329094, "length": 2 }, { "source": "parser.mbty", "original_offset": 495, - "generated_offset": 311647, + "generated_offset": 329387, "length": 1 }, { "source": "parser.mbty", "original_offset": 498, - "generated_offset": 311656, + "generated_offset": 329396, "length": 1 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 311832, + "generated_offset": 329572, "length": 6 }, { "source": "parser.mbty", - "original_offset": 24834, - "generated_offset": 312187, + "original_offset": 25098, + "generated_offset": 329927, "length": 16 }, { "source": "parser.mbty", - "original_offset": 24852, - "generated_offset": 312211, + "original_offset": 25116, + "generated_offset": 329951, "length": 14 }, { "source": "parser.mbty", - "original_offset": 24874, - "generated_offset": 312265, + "original_offset": 25138, + "generated_offset": 330005, "length": 4 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 312443, + "generated_offset": 330183, "length": 6 }, { "source": "parser.mbty", - "original_offset": 17211, - "generated_offset": 314050, + "original_offset": 17475, + "generated_offset": 331790, "length": 32 }, { "source": "parser.mbty", - "original_offset": 17245, - "generated_offset": 314090, + "original_offset": 17509, + "generated_offset": 331830, "length": 14 }, { "source": "parser.mbty", - "original_offset": 17267, - "generated_offset": 314144, + "original_offset": 17531, + "generated_offset": 331884, "length": 27 }, { "source": "parser.mbty", - "original_offset": 17296, - "generated_offset": 314179, + "original_offset": 17560, + "generated_offset": 331919, "length": 146 }, { "source": "parser.mbty", - "original_offset": 17444, - "generated_offset": 314333, + "original_offset": 17708, + "generated_offset": 332073, "length": 15 }, { "source": "parser.mbty", - "original_offset": 17461, - "generated_offset": 314356, + "original_offset": 17725, + "generated_offset": 332096, "length": 22 }, { "source": "parser.mbty", - "original_offset": 17488, - "generated_offset": 314407, + "original_offset": 17752, + "generated_offset": 332147, "length": 18 }, { "source": "parser.mbty", - "original_offset": 17508, - "generated_offset": 314433, + "original_offset": 17772, + "generated_offset": 332173, "length": 57 }, { "source": "parser.mbty", - "original_offset": 17567, - "generated_offset": 314498, + "original_offset": 17831, + "generated_offset": 332238, "length": 17 }, { "source": "parser.mbty", - "original_offset": 5481, - "generated_offset": 314781, + "original_offset": 5600, + "generated_offset": 332521, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5484, - "generated_offset": 314790, + "original_offset": 5603, + "generated_offset": 332530, "length": 1 }, { "source": "parser.mbty", - "original_offset": 27169, - "generated_offset": 316305, + "original_offset": 27433, + "generated_offset": 334045, "length": 38 }, { "source": "parser.mbty", - "original_offset": 27209, - "generated_offset": 316351, + "original_offset": 27473, + "generated_offset": 334091, "length": 36 }, { "source": "parser.mbty", - "original_offset": 27247, - "generated_offset": 316395, + "original_offset": 27511, + "generated_offset": 334135, "length": 19 }, { "source": "parser.mbty", - "original_offset": 27268, - "generated_offset": 316422, + "original_offset": 27532, + "generated_offset": 334162, "length": 18 }, { "source": "parser.mbty", - "original_offset": 27288, - "generated_offset": 316448, + "original_offset": 27552, + "generated_offset": 334188, "length": 21 }, { "source": "parser.mbty", - "original_offset": 27311, - "generated_offset": 316477, + "original_offset": 27575, + "generated_offset": 334217, "length": 16 }, { "source": "parser.mbty", - "original_offset": 27329, - "generated_offset": 316501, + "original_offset": 27593, + "generated_offset": 334241, "length": 58 }, { "source": "parser.mbty", - "original_offset": 27390, - "generated_offset": 316568, + "original_offset": 27654, + "generated_offset": 334308, "length": 15 }, { "source": "parser.mbty", - "original_offset": 27407, - "generated_offset": 316591, + "original_offset": 27671, + "generated_offset": 334331, "length": 20 }, { "source": "parser.mbty", - "original_offset": 27432, - "generated_offset": 316640, + "original_offset": 27696, + "generated_offset": 334380, "length": 10 }, { "source": "parser.mbty", - "original_offset": 27169, - "generated_offset": 318163, + "original_offset": 27433, + "generated_offset": 335903, "length": 38 }, { "source": "parser.mbty", - "original_offset": 27209, - "generated_offset": 318209, + "original_offset": 27473, + "generated_offset": 335949, "length": 36 }, { "source": "parser.mbty", - "original_offset": 27247, - "generated_offset": 318253, + "original_offset": 27511, + "generated_offset": 335993, "length": 19 }, { "source": "parser.mbty", - "original_offset": 27268, - "generated_offset": 318280, + "original_offset": 27532, + "generated_offset": 336020, "length": 18 }, { "source": "parser.mbty", - "original_offset": 27288, - "generated_offset": 318306, + "original_offset": 27552, + "generated_offset": 336046, "length": 21 }, { "source": "parser.mbty", - "original_offset": 27311, - "generated_offset": 318335, + "original_offset": 27575, + "generated_offset": 336075, "length": 16 }, { "source": "parser.mbty", - "original_offset": 27329, - "generated_offset": 318359, + "original_offset": 27593, + "generated_offset": 336099, "length": 58 }, { "source": "parser.mbty", - "original_offset": 27390, - "generated_offset": 318426, + "original_offset": 27654, + "generated_offset": 336166, "length": 15 }, { "source": "parser.mbty", - "original_offset": 27407, - "generated_offset": 318449, + "original_offset": 27671, + "generated_offset": 336189, "length": 20 }, { "source": "parser.mbty", - "original_offset": 27432, - "generated_offset": 318498, + "original_offset": 27696, + "generated_offset": 336238, "length": 10 }, { "source": "parser.mbty", - "original_offset": 27169, - "generated_offset": 320024, + "original_offset": 27433, + "generated_offset": 337764, "length": 38 }, { "source": "parser.mbty", - "original_offset": 27209, - "generated_offset": 320070, + "original_offset": 27473, + "generated_offset": 337810, "length": 36 }, { "source": "parser.mbty", - "original_offset": 27247, - "generated_offset": 320114, + "original_offset": 27511, + "generated_offset": 337854, "length": 19 }, { "source": "parser.mbty", - "original_offset": 27268, - "generated_offset": 320141, + "original_offset": 27532, + "generated_offset": 337881, "length": 18 }, { "source": "parser.mbty", - "original_offset": 27288, - "generated_offset": 320167, + "original_offset": 27552, + "generated_offset": 337907, "length": 21 }, { "source": "parser.mbty", - "original_offset": 27311, - "generated_offset": 320196, + "original_offset": 27575, + "generated_offset": 337936, "length": 16 }, { "source": "parser.mbty", - "original_offset": 27329, - "generated_offset": 320220, + "original_offset": 27593, + "generated_offset": 337960, "length": 58 }, { "source": "parser.mbty", - "original_offset": 27390, - "generated_offset": 320287, + "original_offset": 27654, + "generated_offset": 338027, "length": 15 }, { "source": "parser.mbty", - "original_offset": 27407, - "generated_offset": 320310, + "original_offset": 27671, + "generated_offset": 338050, "length": 20 }, { "source": "parser.mbty", - "original_offset": 27432, - "generated_offset": 320359, + "original_offset": 27696, + "generated_offset": 338099, "length": 10 }, { "source": "parser.mbty", - "original_offset": 27169, - "generated_offset": 321885, + "original_offset": 27433, + "generated_offset": 339625, "length": 38 }, { "source": "parser.mbty", - "original_offset": 27209, - "generated_offset": 321931, + "original_offset": 27473, + "generated_offset": 339671, "length": 36 }, { "source": "parser.mbty", - "original_offset": 27247, - "generated_offset": 321975, + "original_offset": 27511, + "generated_offset": 339715, "length": 19 }, { "source": "parser.mbty", - "original_offset": 27268, - "generated_offset": 322002, + "original_offset": 27532, + "generated_offset": 339742, "length": 18 }, { "source": "parser.mbty", - "original_offset": 27288, - "generated_offset": 322028, + "original_offset": 27552, + "generated_offset": 339768, "length": 21 }, { "source": "parser.mbty", - "original_offset": 27311, - "generated_offset": 322057, + "original_offset": 27575, + "generated_offset": 339797, "length": 16 }, { "source": "parser.mbty", - "original_offset": 27329, - "generated_offset": 322081, + "original_offset": 27593, + "generated_offset": 339821, "length": 58 }, { "source": "parser.mbty", - "original_offset": 27390, - "generated_offset": 322148, + "original_offset": 27654, + "generated_offset": 339888, "length": 15 }, { "source": "parser.mbty", - "original_offset": 27407, - "generated_offset": 322171, + "original_offset": 27671, + "generated_offset": 339911, "length": 20 }, { "source": "parser.mbty", - "original_offset": 27432, - "generated_offset": 322220, + "original_offset": 27696, + "generated_offset": 339960, "length": 10 }, { "source": "parser.mbty", - "original_offset": 27479, - "generated_offset": 322572, + "original_offset": 27743, + "generated_offset": 340312, "length": 8 }, { "source": "parser.mbty", - "original_offset": 27492, - "generated_offset": 322609, + "original_offset": 27756, + "generated_offset": 340349, "length": 2 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 322917, + "generated_offset": 340657, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 322931, + "generated_offset": 340671, "length": 2 }, { "source": "parser.mbty", "original_offset": 495, - "generated_offset": 323152, + "generated_offset": 340892, "length": 1 }, { "source": "parser.mbty", "original_offset": 498, - "generated_offset": 323161, + "generated_offset": 340901, "length": 1 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 323339, + "generated_offset": 341079, "length": 6 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 323600, + "original_offset": 4437, + "generated_offset": 341340, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 323609, + "original_offset": 4440, + "generated_offset": 341349, "length": 1 }, { "source": "parser.mbty", - "original_offset": 27544, - "generated_offset": 324038, + "original_offset": 27808, + "generated_offset": 341778, "length": 29 }, { "source": "parser.mbty", - "original_offset": 27575, - "generated_offset": 324075, + "original_offset": 27839, + "generated_offset": 341815, "length": 16 }, { "source": "parser.mbty", - "original_offset": 27596, - "generated_offset": 324120, + "original_offset": 27860, + "generated_offset": 341860, "length": 3 }, { "source": "parser.mbty", - "original_offset": 27623, - "generated_offset": 324510, + "original_offset": 27887, + "generated_offset": 342250, "length": 21 }, { "source": "parser.mbty", - "original_offset": 27646, - "generated_offset": 324539, + "original_offset": 27910, + "generated_offset": 342279, "length": 12 }, { "source": "parser.mbty", - "original_offset": 27660, - "generated_offset": 324559, + "original_offset": 27924, + "generated_offset": 342299, "length": 3 }, { "source": "parser.mbty", - "original_offset": 27691, - "generated_offset": 324959, + "original_offset": 27955, + "generated_offset": 342699, "length": 27 }, { "source": "parser.mbty", - "original_offset": 27720, - "generated_offset": 324994, + "original_offset": 27984, + "generated_offset": 342734, "length": 12 }, { "source": "parser.mbty", - "original_offset": 27734, - "generated_offset": 325014, + "original_offset": 27998, + "generated_offset": 342754, "length": 3 }, { "source": "parser.mbty", - "original_offset": 27765, - "generated_offset": 325512, + "original_offset": 28029, + "generated_offset": 343252, "length": 35 }, { "source": "parser.mbty", - "original_offset": 27802, - "generated_offset": 325555, + "original_offset": 28066, + "generated_offset": 343295, "length": 14 }, { "source": "parser.mbty", - "original_offset": 27824, - "generated_offset": 325609, + "original_offset": 28088, + "generated_offset": 343349, "length": 53 }, { "source": "parser.mbty", - "original_offset": 27879, - "generated_offset": 325670, + "original_offset": 28143, + "generated_offset": 343410, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 325996, + "original_offset": 4013, + "generated_offset": 343736, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 326005, + "original_offset": 4016, + "generated_offset": 343745, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 326018, + "original_offset": 4023, + "generated_offset": 343758, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 326297, + "original_offset": 4227, + "generated_offset": 344037, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 326306, + "original_offset": 4230, + "generated_offset": 344046, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 326556, + "original_offset": 3950, + "generated_offset": 344296, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 326581, + "original_offset": 3969, + "generated_offset": 344321, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 326770, + "original_offset": 4390, + "generated_offset": 344510, "length": 15 }, { "source": "parser.mbty", - "original_offset": 5277, - "generated_offset": 327120, + "original_offset": 5396, + "generated_offset": 344860, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5280, - "generated_offset": 327129, + "original_offset": 5399, + "generated_offset": 344869, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5287, - "generated_offset": 327142, + "original_offset": 5406, + "generated_offset": 344882, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5218, - "generated_offset": 327412, + "original_offset": 5337, + "generated_offset": 345152, "length": 17 }, { "source": "parser.mbty", - "original_offset": 5237, - "generated_offset": 327437, + "original_offset": 5356, + "generated_offset": 345177, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5435, - "generated_offset": 327632, + "original_offset": 5554, + "generated_offset": 345372, "length": 15 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 327995, + "generated_offset": 345735, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 328009, + "generated_offset": 345749, "length": 2 }, { "source": "parser.mbty", "original_offset": 495, - "generated_offset": 328272, + "generated_offset": 346012, "length": 1 }, { "source": "parser.mbty", "original_offset": 498, - "generated_offset": 328281, + "generated_offset": 346021, "length": 1 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 328480, + "generated_offset": 346220, "length": 6 }, { "source": "parser.mbty", - "original_offset": 17650, - "generated_offset": 329468, + "original_offset": 17914, + "generated_offset": 347208, "length": 35 }, { "source": "parser.mbty", - "original_offset": 17687, - "generated_offset": 329511, + "original_offset": 17951, + "generated_offset": 347251, "length": 64 }, { "source": "parser.mbty", - "original_offset": 17753, - "generated_offset": 329583, + "original_offset": 18017, + "generated_offset": 347323, "length": 16 }, { "source": "parser.mbty", - "original_offset": 17771, - "generated_offset": 329607, + "original_offset": 18035, + "generated_offset": 347347, "length": 69 }, { "source": "parser.mbty", - "original_offset": 17845, - "generated_offset": 329705, + "original_offset": 18109, + "generated_offset": 347445, "length": 10 }, { "source": "parser.mbty", - "original_offset": 17954, - "generated_offset": 331031, + "original_offset": 18218, + "generated_offset": 348771, "length": 51 }, { "source": "parser.mbty", - "original_offset": 18007, - "generated_offset": 331090, + "original_offset": 18271, + "generated_offset": 348830, "length": 29 }, { "source": "parser.mbty", - "original_offset": 18044, - "generated_offset": 331159, + "original_offset": 18308, + "generated_offset": 348899, "length": 20 }, { "source": "parser.mbty", - "original_offset": 18066, - "generated_offset": 331187, + "original_offset": 18330, + "generated_offset": 348927, "length": 28 }, { "source": "parser.mbty", - "original_offset": 18096, - "generated_offset": 331223, + "original_offset": 18360, + "generated_offset": 348963, "length": 22 }, { "source": "parser.mbty", - "original_offset": 18120, - "generated_offset": 331253, + "original_offset": 18384, + "generated_offset": 348993, "length": 90 }, { "source": "parser.mbty", - "original_offset": 18215, - "generated_offset": 331372, + "original_offset": 18479, + "generated_offset": 349112, "length": 19 }, { "source": "parser.mbty", - "original_offset": 18236, - "generated_offset": 331399, + "original_offset": 18500, + "generated_offset": 349139, "length": 45 }, { "source": "parser.mbty", - "original_offset": 18739, - "generated_offset": 332428, + "original_offset": 19003, + "generated_offset": 350168, "length": 35 }, { "source": "parser.mbty", - "original_offset": 18776, - "generated_offset": 332471, + "original_offset": 19040, + "generated_offset": 350211, "length": 65 }, { "source": "parser.mbty", - "original_offset": 18843, - "generated_offset": 332544, + "original_offset": 19107, + "generated_offset": 350284, "length": 16 }, { "source": "parser.mbty", - "original_offset": 18861, - "generated_offset": 332568, + "original_offset": 19125, + "generated_offset": 350308, "length": 69 }, { "source": "parser.mbty", - "original_offset": 18935, - "generated_offset": 332666, + "original_offset": 19199, + "generated_offset": 350406, "length": 10 }, { "source": "parser.mbty", - "original_offset": 22816, - "generated_offset": 333212, + "original_offset": 23080, + "generated_offset": 350952, "length": 31 }, { "source": "parser.mbty", - "original_offset": 22849, - "generated_offset": 333251, + "original_offset": 23113, + "generated_offset": 350991, "length": 14 }, { "source": "parser.mbty", - "original_offset": 22871, - "generated_offset": 333305, + "original_offset": 23135, + "generated_offset": 351045, "length": 43 }, { "source": "parser.mbty", - "original_offset": 22916, - "generated_offset": 333356, + "original_offset": 23180, + "generated_offset": 351096, "length": 5 }, { "source": "parser.mbty", - "original_offset": 23005, - "generated_offset": 333913, + "original_offset": 23269, + "generated_offset": 351653, "length": 31 }, { "source": "parser.mbty", - "original_offset": 23038, - "generated_offset": 333952, + "original_offset": 23302, + "generated_offset": 351692, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23060, - "generated_offset": 334006, + "original_offset": 23324, + "generated_offset": 351746, "length": 26 }, { "source": "parser.mbty", - "original_offset": 23088, - "generated_offset": 334040, + "original_offset": 23352, + "generated_offset": 351780, "length": 4 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 334325, + "original_offset": 4227, + "generated_offset": 352065, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 334334, + "original_offset": 4230, + "generated_offset": 352074, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 334668, + "original_offset": 4013, + "generated_offset": 352408, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 334677, + "original_offset": 4016, + "generated_offset": 352417, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 334690, + "original_offset": 4023, + "generated_offset": 352430, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 334939, + "original_offset": 3950, + "generated_offset": 352679, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 334964, + "original_offset": 3969, + "generated_offset": 352704, "length": 2 }, { "source": "parser.mbty", - "original_offset": 23396, - "generated_offset": 335608, + "original_offset": 23660, + "generated_offset": 353348, "length": 34 }, { "source": "parser.mbty", - "original_offset": 23432, - "generated_offset": 335650, + "original_offset": 23696, + "generated_offset": 353390, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23454, - "generated_offset": 335704, + "original_offset": 23718, + "generated_offset": 353444, "length": 37 }, { "source": "parser.mbty", - "original_offset": 23493, - "generated_offset": 335749, + "original_offset": 23757, + "generated_offset": 353489, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23515, - "generated_offset": 335803, + "original_offset": 23779, + "generated_offset": 353543, "length": 56 }, { "source": "parser.mbty", - "original_offset": 23253, - "generated_offset": 336293, + "original_offset": 23517, + "generated_offset": 354033, "length": 35 }, { "source": "parser.mbty", - "original_offset": 23290, - "generated_offset": 336336, + "original_offset": 23554, + "generated_offset": 354076, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23312, - "generated_offset": 336390, + "original_offset": 23576, + "generated_offset": 354130, "length": 48 }, { "source": "parser.mbty", - "original_offset": 23131, - "generated_offset": 336746, + "original_offset": 23395, + "generated_offset": 354486, "length": 31 }, { "source": "parser.mbty", - "original_offset": 23164, - "generated_offset": 336785, + "original_offset": 23428, + "generated_offset": 354525, "length": 3 }, { "source": "parser.mbty", - "original_offset": 23396, - "generated_offset": 337430, + "original_offset": 23660, + "generated_offset": 355170, "length": 34 }, { "source": "parser.mbty", - "original_offset": 23432, - "generated_offset": 337472, + "original_offset": 23696, + "generated_offset": 355212, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23454, - "generated_offset": 337526, + "original_offset": 23718, + "generated_offset": 355266, "length": 37 }, { "source": "parser.mbty", - "original_offset": 23493, - "generated_offset": 337571, + "original_offset": 23757, + "generated_offset": 355311, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23515, - "generated_offset": 337625, + "original_offset": 23779, + "generated_offset": 355365, "length": 56 }, { "source": "parser.mbty", - "original_offset": 23253, - "generated_offset": 338115, + "original_offset": 23517, + "generated_offset": 355855, "length": 35 }, { "source": "parser.mbty", - "original_offset": 23290, - "generated_offset": 338158, + "original_offset": 23554, + "generated_offset": 355898, "length": 14 }, { "source": "parser.mbty", - "original_offset": 23312, - "generated_offset": 338212, + "original_offset": 23576, + "generated_offset": 355952, "length": 48 }, { "source": "parser.mbty", - "original_offset": 19047, - "generated_offset": 339428, + "original_offset": 19311, + "generated_offset": 357168, "length": 31 }, { "source": "parser.mbty", - "original_offset": 19080, - "generated_offset": 339467, + "original_offset": 19344, + "generated_offset": 357207, "length": 40 }, { "source": "parser.mbty", - "original_offset": 19122, - "generated_offset": 339515, + "original_offset": 19386, + "generated_offset": 357255, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19141, - "generated_offset": 339540, + "original_offset": 19405, + "generated_offset": 357280, "length": 39 }, { "source": "parser.mbty", - "original_offset": 19182, - "generated_offset": 339587, + "original_offset": 19446, + "generated_offset": 357327, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19208, - "generated_offset": 339637, + "original_offset": 19472, + "generated_offset": 357377, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19227, - "generated_offset": 339662, + "original_offset": 19491, + "generated_offset": 357402, "length": 41 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 339947, + "generated_offset": 357687, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 339961, + "generated_offset": 357701, "length": 2 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 340147, + "generated_offset": 357887, "length": 6 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 340493, + "generated_offset": 358233, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 340507, + "generated_offset": 358247, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51494, - "generated_offset": 340929, + "original_offset": 52339, + "generated_offset": 358669, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51498, - "generated_offset": 340939, + "original_offset": 52343, + "generated_offset": 358679, "length": 9 }, { "source": "parser.mbty", - "original_offset": 51512, - "generated_offset": 340977, + "original_offset": 52357, + "generated_offset": 358717, "length": 3 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 341174, + "generated_offset": 358914, "length": 6 }, { "source": "parser.mbty", - "original_offset": 19417, - "generated_offset": 342819, + "original_offset": 19681, + "generated_offset": 360559, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19448, - "generated_offset": 342856, + "original_offset": 19712, + "generated_offset": 360596, "length": 35 }, { "source": "parser.mbty", - "original_offset": 19485, - "generated_offset": 342899, + "original_offset": 19749, + "generated_offset": 360639, "length": 18 }, { "source": "parser.mbty", - "original_offset": 19505, - "generated_offset": 342925, + "original_offset": 19769, + "generated_offset": 360665, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19529, - "generated_offset": 342955, + "original_offset": 19793, + "generated_offset": 360695, "length": 20 }, { "source": "parser.mbty", - "original_offset": 19552, - "generated_offset": 342984, + "original_offset": 19816, + "generated_offset": 360724, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19576, - "generated_offset": 343014, + "original_offset": 19840, + "generated_offset": 360754, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19596, - "generated_offset": 343040, + "original_offset": 19860, + "generated_offset": 360780, "length": 45 }, { "source": "parser.mbty", - "original_offset": 19644, - "generated_offset": 343094, + "original_offset": 19908, + "generated_offset": 360834, "length": 14 }, { "source": "parser.mbty", - "original_offset": 19660, - "generated_offset": 343116, + "original_offset": 19924, + "generated_offset": 360856, "length": 21 }, { "source": "parser.mbty", - "original_offset": 19686, - "generated_offset": 343166, + "original_offset": 19950, + "generated_offset": 360906, "length": 17 }, { "source": "parser.mbty", - "original_offset": 19705, - "generated_offset": 343191, + "original_offset": 19969, + "generated_offset": 360931, "length": 41 }, { "source": "parser.mbty", - "original_offset": 20300, - "generated_offset": 344439, + "original_offset": 20564, + "generated_offset": 362179, "length": 38 }, { "source": "parser.mbty", - "original_offset": 20340, - "generated_offset": 344485, + "original_offset": 20604, + "generated_offset": 362225, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20359, - "generated_offset": 344510, + "original_offset": 20623, + "generated_offset": 362250, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20383, - "generated_offset": 344540, + "original_offset": 20647, + "generated_offset": 362280, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20399, - "generated_offset": 344562, + "original_offset": 20663, + "generated_offset": 362302, "length": 16 }, { "source": "parser.mbty", - "original_offset": 20417, - "generated_offset": 344586, + "original_offset": 20681, + "generated_offset": 362326, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20443, - "generated_offset": 344636, + "original_offset": 20707, + "generated_offset": 362376, "length": 54 }, { "source": "parser.mbty", - "original_offset": 20499, - "generated_offset": 344698, + "original_offset": 20763, + "generated_offset": 362438, "length": 9 }, { "source": "parser.mbty", - "original_offset": 8801, - "generated_offset": 345374, + "original_offset": 8970, + "generated_offset": 363143, "length": 36 }, { "source": "parser.mbty", - "original_offset": 8839, - "generated_offset": 345418, + "original_offset": 9008, + "generated_offset": 363187, "length": 27 }, { "source": "parser.mbty", - "original_offset": 8874, - "generated_offset": 345485, - "length": 28 + "original_offset": 9043, + "generated_offset": 363254, + "length": 37 }, { "source": "parser.mbty", - "original_offset": 8904, - "generated_offset": 345521, - "length": 19 + "original_offset": 9082, + "generated_offset": 363299, + "length": 39 }, { "source": "parser.mbty", - "original_offset": 8925, - "generated_offset": 345548, + "original_offset": 9123, + "generated_offset": 363346, "length": 9 }, { "source": "parser.mbty", - "original_offset": 5481, - "generated_offset": 345811, + "original_offset": 5600, + "generated_offset": 363609, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5484, - "generated_offset": 345820, + "original_offset": 5603, + "generated_offset": 363618, "length": 1 }, { "source": "parser.mbty", - "original_offset": 60340, - "generated_offset": 346961, + "original_offset": 61185, + "generated_offset": 364759, "length": 51 }, { "source": "parser.mbty", - "original_offset": 60393, - "generated_offset": 347020, + "original_offset": 61238, + "generated_offset": 364818, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60415, - "generated_offset": 347074, + "original_offset": 61260, + "generated_offset": 364872, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60432, - "generated_offset": 347097, + "original_offset": 61277, + "generated_offset": 364895, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60448, - "generated_offset": 347119, + "original_offset": 61293, + "generated_offset": 364917, "length": 24 }, { "source": "parser.mbty", - "original_offset": 60474, - "generated_offset": 347151, + "original_offset": 61319, + "generated_offset": 364949, "length": 20 }, { "source": "parser.mbty", - "original_offset": 60499, - "generated_offset": 347200, + "original_offset": 61344, + "generated_offset": 364998, "length": 16 }, { "source": "parser.mbty", - "original_offset": 60517, - "generated_offset": 347224, + "original_offset": 61362, + "generated_offset": 365022, "length": 40 }, { "source": "parser.mbty", - "original_offset": 60340, - "generated_offset": 348405, + "original_offset": 61185, + "generated_offset": 366203, "length": 51 }, { "source": "parser.mbty", - "original_offset": 60393, - "generated_offset": 348464, + "original_offset": 61238, + "generated_offset": 366262, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60415, - "generated_offset": 348518, + "original_offset": 61260, + "generated_offset": 366316, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60432, - "generated_offset": 348541, + "original_offset": 61277, + "generated_offset": 366339, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60448, - "generated_offset": 348563, + "original_offset": 61293, + "generated_offset": 366361, "length": 24 }, { "source": "parser.mbty", - "original_offset": 60474, - "generated_offset": 348595, + "original_offset": 61319, + "generated_offset": 366393, "length": 20 }, { "source": "parser.mbty", - "original_offset": 60499, - "generated_offset": 348644, + "original_offset": 61344, + "generated_offset": 366442, "length": 16 }, { "source": "parser.mbty", - "original_offset": 60517, - "generated_offset": 348668, + "original_offset": 61362, + "generated_offset": 366466, "length": 40 }, { "source": "parser.mbty", - "original_offset": 60340, - "generated_offset": 349849, + "original_offset": 61185, + "generated_offset": 367647, "length": 51 }, { "source": "parser.mbty", - "original_offset": 60393, - "generated_offset": 349908, + "original_offset": 61238, + "generated_offset": 367706, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60415, - "generated_offset": 349962, + "original_offset": 61260, + "generated_offset": 367760, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60432, - "generated_offset": 349985, + "original_offset": 61277, + "generated_offset": 367783, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60448, - "generated_offset": 350007, + "original_offset": 61293, + "generated_offset": 367805, "length": 24 }, { "source": "parser.mbty", - "original_offset": 60474, - "generated_offset": 350039, + "original_offset": 61319, + "generated_offset": 367837, "length": 20 }, { "source": "parser.mbty", - "original_offset": 60499, - "generated_offset": 350088, + "original_offset": 61344, + "generated_offset": 367886, "length": 16 }, { "source": "parser.mbty", - "original_offset": 60517, - "generated_offset": 350112, + "original_offset": 61362, + "generated_offset": 367910, "length": 40 }, { "source": "parser.mbty", - "original_offset": 60340, - "generated_offset": 351294, + "original_offset": 61185, + "generated_offset": 369092, "length": 51 }, { "source": "parser.mbty", - "original_offset": 60393, - "generated_offset": 351353, + "original_offset": 61238, + "generated_offset": 369151, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60415, - "generated_offset": 351407, + "original_offset": 61260, + "generated_offset": 369205, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60432, - "generated_offset": 351430, + "original_offset": 61277, + "generated_offset": 369228, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60448, - "generated_offset": 351452, + "original_offset": 61293, + "generated_offset": 369250, "length": 24 }, { "source": "parser.mbty", - "original_offset": 60474, - "generated_offset": 351484, + "original_offset": 61319, + "generated_offset": 369282, "length": 20 }, { "source": "parser.mbty", - "original_offset": 60499, - "generated_offset": 351533, + "original_offset": 61344, + "generated_offset": 369331, "length": 16 }, { "source": "parser.mbty", - "original_offset": 60517, - "generated_offset": 351557, + "original_offset": 61362, + "generated_offset": 369355, "length": 40 }, { "source": "parser.mbty", - "original_offset": 60340, - "generated_offset": 352740, + "original_offset": 61185, + "generated_offset": 370538, "length": 51 }, { "source": "parser.mbty", - "original_offset": 60393, - "generated_offset": 352799, + "original_offset": 61238, + "generated_offset": 370597, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60415, - "generated_offset": 352853, + "original_offset": 61260, + "generated_offset": 370651, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60432, - "generated_offset": 352876, + "original_offset": 61277, + "generated_offset": 370674, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60448, - "generated_offset": 352898, + "original_offset": 61293, + "generated_offset": 370696, "length": 24 }, { "source": "parser.mbty", - "original_offset": 60474, - "generated_offset": 352930, + "original_offset": 61319, + "generated_offset": 370728, "length": 20 }, { "source": "parser.mbty", - "original_offset": 60499, - "generated_offset": 352979, + "original_offset": 61344, + "generated_offset": 370777, "length": 16 }, { "source": "parser.mbty", - "original_offset": 60517, - "generated_offset": 353003, + "original_offset": 61362, + "generated_offset": 370801, "length": 40 }, { "source": "parser.mbty", - "original_offset": 21579, - "generated_offset": 353400, + "original_offset": 21843, + "generated_offset": 371198, "length": 19 }, { "source": "parser.mbty", - "original_offset": 21603, - "generated_offset": 353448, + "original_offset": 21867, + "generated_offset": 371246, "length": 3 }, { "source": "parser.mbty", - "original_offset": 21730, - "generated_offset": 353652, + "original_offset": 21994, + "generated_offset": 371450, "length": 18 }, { "source": "parser.mbty", - "original_offset": 21770, - "generated_offset": 353904, + "original_offset": 22034, + "generated_offset": 371702, "length": 6 }, { "source": "parser.mbty", - "original_offset": 21778, - "generated_offset": 353918, + "original_offset": 22042, + "generated_offset": 371716, "length": 2 }, { "source": "parser.mbty", - "original_offset": 60340, - "generated_offset": 355063, + "original_offset": 61185, + "generated_offset": 372861, "length": 51 }, { "source": "parser.mbty", - "original_offset": 60393, - "generated_offset": 355122, + "original_offset": 61238, + "generated_offset": 372920, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60415, - "generated_offset": 355176, + "original_offset": 61260, + "generated_offset": 372974, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60432, - "generated_offset": 355199, + "original_offset": 61277, + "generated_offset": 372997, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60448, - "generated_offset": 355221, + "original_offset": 61293, + "generated_offset": 373019, "length": 24 }, { "source": "parser.mbty", - "original_offset": 60474, - "generated_offset": 355253, + "original_offset": 61319, + "generated_offset": 373051, "length": 20 }, { "source": "parser.mbty", - "original_offset": 60499, - "generated_offset": 355302, + "original_offset": 61344, + "generated_offset": 373100, "length": 16 }, { "source": "parser.mbty", - "original_offset": 60517, - "generated_offset": 355326, + "original_offset": 61362, + "generated_offset": 373124, "length": 40 }, { "source": "parser.mbty", - "original_offset": 21628, - "generated_offset": 355787, + "original_offset": 21892, + "generated_offset": 373585, "length": 18 }, { "source": "parser.mbty", - "original_offset": 21651, - "generated_offset": 355834, + "original_offset": 21915, + "generated_offset": 373632, "length": 10 }, { "source": "parser.mbty", - "original_offset": 21663, - "generated_offset": 355852, + "original_offset": 21927, + "generated_offset": 373650, "length": 2 }, { "source": "parser.mbty", - "original_offset": 21698, - "generated_offset": 356025, + "original_offset": 21962, + "generated_offset": 373823, "length": 6 }, { "source": "parser.mbty", - "original_offset": 5277, - "generated_offset": 356348, + "original_offset": 5396, + "generated_offset": 374146, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5280, - "generated_offset": 356357, + "original_offset": 5399, + "generated_offset": 374155, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5287, - "generated_offset": 356370, + "original_offset": 5406, + "generated_offset": 374168, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5218, - "generated_offset": 356628, + "original_offset": 5337, + "generated_offset": 374426, "length": 17 }, { "source": "parser.mbty", - "original_offset": 5237, - "generated_offset": 356653, + "original_offset": 5356, + "generated_offset": 374451, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5435, - "generated_offset": 356842, + "original_offset": 5554, + "generated_offset": 374640, "length": 15 }, { "source": "parser.mbty", - "original_offset": 9018, - "generated_offset": 357523, + "original_offset": 9216, + "generated_offset": 375321, "length": 36 }, { "source": "parser.mbty", - "original_offset": 9056, - "generated_offset": 357567, + "original_offset": 9254, + "generated_offset": 375365, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9091, - "generated_offset": 357634, + "original_offset": 9289, + "generated_offset": 375432, "length": 33 }, { "source": "parser.mbty", - "original_offset": 9126, - "generated_offset": 357675, + "original_offset": 9324, + "generated_offset": 375473, "length": 19 }, { "source": "parser.mbty", - "original_offset": 9147, - "generated_offset": 357702, + "original_offset": 9345, + "generated_offset": 375500, "length": 9 }, { "source": "parser.mbty", - "original_offset": 9238, - "generated_offset": 358377, + "original_offset": 9436, + "generated_offset": 376175, "length": 36 }, { "source": "parser.mbty", - "original_offset": 9276, - "generated_offset": 358421, + "original_offset": 9474, + "generated_offset": 376219, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9311, - "generated_offset": 358488, + "original_offset": 9509, + "generated_offset": 376286, "length": 29 }, { "source": "parser.mbty", - "original_offset": 9342, - "generated_offset": 358525, + "original_offset": 9540, + "generated_offset": 376323, "length": 19 }, { "source": "parser.mbty", - "original_offset": 9363, - "generated_offset": 358552, + "original_offset": 9561, + "generated_offset": 376350, "length": 9 }, { "source": "parser.mbty", - "original_offset": 9423, - "generated_offset": 359184, + "original_offset": 9621, + "generated_offset": 376982, "length": 36 }, { "source": "parser.mbty", - "original_offset": 9461, - "generated_offset": 359228, + "original_offset": 9659, + "generated_offset": 377026, "length": 27 }, { "source": "parser.mbty", - "original_offset": 9496, - "generated_offset": 359295, + "original_offset": 9694, + "generated_offset": 377093, "length": 29 }, { "source": "parser.mbty", - "original_offset": 9527, - "generated_offset": 359332, + "original_offset": 9725, + "generated_offset": 377130, "length": 19 }, { "source": "parser.mbty", - "original_offset": 9548, - "generated_offset": 359359, + "original_offset": 9746, + "generated_offset": 377157, "length": 9 }, { "source": "parser.mbty", - "original_offset": 26961, - "generated_offset": 359664, + "original_offset": 27225, + "generated_offset": 377462, "length": 1 }, { "source": "parser.mbty", - "original_offset": 26964, - "generated_offset": 359673, + "original_offset": 27228, + "generated_offset": 377471, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 359945, + "original_offset": 4437, + "generated_offset": 377743, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 359954, + "original_offset": 4440, + "generated_offset": 377752, "length": 1 }, { "source": "parser.mbty", - "original_offset": 26758, - "generated_offset": 360495, + "original_offset": 27022, + "generated_offset": 378293, "length": 33 }, { "source": "parser.mbty", - "original_offset": 26793, - "generated_offset": 360536, + "original_offset": 27057, + "generated_offset": 378334, "length": 8 }, { "source": "parser.mbty", - "original_offset": 26803, - "generated_offset": 360552, + "original_offset": 27067, + "generated_offset": 378350, "length": 14 }, { "source": "parser.mbty", - "original_offset": 26822, - "generated_offset": 360595, + "original_offset": 27086, + "generated_offset": 378393, "length": 4 }, { "source": "parser.mbty", - "original_offset": 26632, - "generated_offset": 361067, + "original_offset": 26896, + "generated_offset": 378865, "length": 33 }, { "source": "parser.mbty", - "original_offset": 26667, - "generated_offset": 361108, + "original_offset": 26931, + "generated_offset": 378906, "length": 35 }, { "source": "parser.mbty", - "original_offset": 26707, - "generated_offset": 361172, + "original_offset": 26971, + "generated_offset": 378970, "length": 4 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 361521, + "original_offset": 4013, + "generated_offset": 379319, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 361530, + "original_offset": 4016, + "generated_offset": 379328, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 361543, + "original_offset": 4023, + "generated_offset": 379341, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 361838, + "original_offset": 4227, + "generated_offset": 379636, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 361847, + "original_offset": 4230, + "generated_offset": 379645, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 362113, + "original_offset": 3950, + "generated_offset": 379911, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 362138, + "original_offset": 3969, + "generated_offset": 379936, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 362335, + "original_offset": 4390, + "generated_offset": 380133, "length": 15 }, { "source": "parser.mbty", - "original_offset": 26890, - "generated_offset": 362547, + "original_offset": 27154, + "generated_offset": 380345, "length": 15 }, { "source": "parser.mbty", - "original_offset": 10547, - "generated_offset": 362929, + "original_offset": 10770, + "generated_offset": 380727, "length": 2 }, { "source": "parser.mbty", - "original_offset": 10551, - "generated_offset": 362939, + "original_offset": 10774, + "generated_offset": 380737, "length": 7 }, { "source": "parser.mbty", - "original_offset": 10560, - "generated_offset": 362954, + "original_offset": 10783, + "generated_offset": 380752, "length": 3 }, { "source": "parser.mbty", - "original_offset": 10565, - "generated_offset": 362965, + "original_offset": 10788, + "generated_offset": 380763, "length": 4 }, { "source": "parser.mbty", - "original_offset": 10328, - "generated_offset": 363448, + "original_offset": 10551, + "generated_offset": 381246, "length": 18 }, { "source": "parser.mbty", - "original_offset": 10348, - "generated_offset": 363474, + "original_offset": 10571, + "generated_offset": 381272, "length": 27 }, { "source": "parser.mbty", - "original_offset": 10380, - "generated_offset": 363530, + "original_offset": 10603, + "generated_offset": 381328, "length": 18 }, { "source": "parser.mbty", - "original_offset": 10431, - "generated_offset": 364035, + "original_offset": 10654, + "generated_offset": 381833, "length": 40 }, { "source": "parser.mbty", - "original_offset": 10473, - "generated_offset": 364083, + "original_offset": 10696, + "generated_offset": 381881, "length": 15 }, { "source": "parser.mbty", - "original_offset": 10493, - "generated_offset": 364127, + "original_offset": 10716, + "generated_offset": 381925, "length": 4 }, { "source": "parser.mbty", - "original_offset": 10670, - "generated_offset": 364415, + "original_offset": 10893, + "generated_offset": 382213, "length": 1 }, { "source": "parser.mbty", - "original_offset": 10673, - "generated_offset": 364424, + "original_offset": 10896, + "generated_offset": 382222, "length": 1 }, { "source": "parser.mbty", - "original_offset": 10736, - "generated_offset": 364775, + "original_offset": 10959, + "generated_offset": 382573, "length": 31 }, { "source": "parser.mbty", - "original_offset": 10769, - "generated_offset": 364814, + "original_offset": 10992, + "generated_offset": 382612, "length": 37 }, { "source": "parser.mbty", - "original_offset": 10824, - "generated_offset": 365140, + "original_offset": 11047, + "generated_offset": 382938, "length": 55 }, { "source": "parser.mbty", - "original_offset": 10881, - "generated_offset": 365203, + "original_offset": 11104, + "generated_offset": 383001, "length": 4 }, { "source": "parser.mbty", - "original_offset": 19883, - "generated_offset": 366782, + "original_offset": 20147, + "generated_offset": 384580, "length": 28 }, { "source": "parser.mbty", - "original_offset": 19914, - "generated_offset": 366819, + "original_offset": 20178, + "generated_offset": 384617, "length": 51 }, { "source": "parser.mbty", - "original_offset": 19967, - "generated_offset": 366878, + "original_offset": 20231, + "generated_offset": 384676, "length": 22 }, { "source": "parser.mbty", - "original_offset": 19991, - "generated_offset": 366908, + "original_offset": 20255, + "generated_offset": 384706, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20013, - "generated_offset": 366936, + "original_offset": 20277, + "generated_offset": 384734, "length": 22 }, { "source": "parser.mbty", - "original_offset": 20037, - "generated_offset": 366966, + "original_offset": 20301, + "generated_offset": 384764, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20056, - "generated_offset": 366991, + "original_offset": 20320, + "generated_offset": 384789, "length": 45 }, { "source": "parser.mbty", - "original_offset": 20104, - "generated_offset": 367045, + "original_offset": 20368, + "generated_offset": 384843, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20120, - "generated_offset": 367067, + "original_offset": 20384, + "generated_offset": 384865, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20146, - "generated_offset": 367117, + "original_offset": 20410, + "generated_offset": 384915, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20165, - "generated_offset": 367142, + "original_offset": 20429, + "generated_offset": 384940, "length": 41 }, { "source": "parser.mbty", - "original_offset": 6599, - "generated_offset": 367557, + "original_offset": 6718, + "generated_offset": 385355, "length": 1 }, { "source": "parser.mbty", - "original_offset": 6602, - "generated_offset": 367566, + "original_offset": 6721, + "generated_offset": 385364, "length": 1 }, { "source": "parser.mbty", "original_offset": 613, - "generated_offset": 367810, + "generated_offset": 385608, "length": 1 }, { "source": "parser.mbty", "original_offset": 616, - "generated_offset": 367819, + "generated_offset": 385617, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 368105, + "original_offset": 4227, + "generated_offset": 385903, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 368114, + "original_offset": 4230, + "generated_offset": 385912, "length": 7 }, { "source": "parser.mbty", - "original_offset": 49949, - "generated_offset": 368638, + "original_offset": 50794, + "generated_offset": 386436, "length": 29 }, { "source": "parser.mbty", - "original_offset": 49980, - "generated_offset": 368675, + "original_offset": 50825, + "generated_offset": 386473, "length": 15 }, { "source": "parser.mbty", - "original_offset": 49997, - "generated_offset": 368698, + "original_offset": 50842, + "generated_offset": 386496, "length": 19 }, { "source": "parser.mbty", - "original_offset": 50024, - "generated_offset": 368757, + "original_offset": 50869, + "generated_offset": 386555, "length": 6 }, { "source": "parser.mbty", - "original_offset": 50266, - "generated_offset": 369212, + "original_offset": 51111, + "generated_offset": 387010, "length": 30 }, { "source": "parser.mbty", - "original_offset": 50298, - "generated_offset": 369250, + "original_offset": 51143, + "generated_offset": 387048, "length": 14 }, { "source": "parser.mbty", - "original_offset": 50317, - "generated_offset": 369293, + "original_offset": 51162, + "generated_offset": 387091, "length": 4 }, { "source": "parser.mbty", "original_offset": 1072, - "generated_offset": 369656, + "generated_offset": 387454, "length": 1 }, { "source": "parser.mbty", "original_offset": 1075, - "generated_offset": 369665, + "generated_offset": 387463, "length": 5 }, { "source": "parser.mbty", "original_offset": 1082, - "generated_offset": 369678, + "generated_offset": 387476, "length": 2 }, { "source": "parser.mbty", "original_offset": 1006, - "generated_offset": 369944, + "generated_offset": 387742, "length": 17 }, { "source": "parser.mbty", "original_offset": 1025, - "generated_offset": 369969, + "generated_offset": 387767, "length": 2 }, { "source": "parser.mbty", - "original_offset": 49790, - "generated_offset": 370378, + "original_offset": 50635, + "generated_offset": 388176, "length": 29 }, { "source": "parser.mbty", - "original_offset": 49821, - "generated_offset": 370415, + "original_offset": 50666, + "generated_offset": 388213, "length": 47 }, { "source": "parser.mbty", - "original_offset": 49876, - "generated_offset": 370502, + "original_offset": 50721, + "generated_offset": 388300, "length": 6 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 370918, + "original_offset": 4013, + "generated_offset": 388716, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 370927, + "original_offset": 4016, + "generated_offset": 388725, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 370940, + "original_offset": 4023, + "generated_offset": 388738, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 371269, + "original_offset": 3950, + "generated_offset": 389067, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 371294, + "original_offset": 3969, + "generated_offset": 389092, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5525, - "generated_offset": 371524, + "original_offset": 5644, + "generated_offset": 389322, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5528, - "generated_offset": 371533, + "original_offset": 5647, + "generated_offset": 389331, "length": 1 }, { "source": "parser.mbty", - "original_offset": 6774, - "generated_offset": 371916, + "original_offset": 6893, + "generated_offset": 389714, "length": 11 }, { "source": "parser.mbty", - "original_offset": 6787, - "generated_offset": 371935, + "original_offset": 6906, + "generated_offset": 389733, "length": 68 }, { "source": "parser.mbty", - "original_offset": 20665, - "generated_offset": 373777, + "original_offset": 20929, + "generated_offset": 391575, "length": 34 }, { "source": "parser.mbty", - "original_offset": 20701, - "generated_offset": 373819, + "original_offset": 20965, + "generated_offset": 391617, "length": 20 }, { "source": "parser.mbty", - "original_offset": 20724, - "generated_offset": 373848, + "original_offset": 20988, + "generated_offset": 391646, "length": 25 }, { "source": "parser.mbty", - "original_offset": 20751, - "generated_offset": 373881, + "original_offset": 21015, + "generated_offset": 391679, "length": 31 }, { "source": "parser.mbty", - "original_offset": 20790, - "generated_offset": 373952, + "original_offset": 21054, + "generated_offset": 391750, "length": 26 }, { "source": "parser.mbty", - "original_offset": 20819, - "generated_offset": 373987, + "original_offset": 21083, + "generated_offset": 391785, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20843, - "generated_offset": 374017, + "original_offset": 21107, + "generated_offset": 391815, "length": 28 }, { "source": "parser.mbty", - "original_offset": 20880, - "generated_offset": 374087, + "original_offset": 21144, + "generated_offset": 391885, "length": 24 }, { "source": "parser.mbty", - "original_offset": 20906, - "generated_offset": 374119, + "original_offset": 21170, + "generated_offset": 391917, "length": 15 }, { "source": "parser.mbty", - "original_offset": 20924, - "generated_offset": 374143, + "original_offset": 21188, + "generated_offset": 391941, "length": 14 }, { "source": "parser.mbty", - "original_offset": 20940, - "generated_offset": 374165, + "original_offset": 21204, + "generated_offset": 391963, "length": 21 }, { "source": "parser.mbty", - "original_offset": 20966, - "generated_offset": 374215, + "original_offset": 21230, + "generated_offset": 392013, "length": 17 }, { "source": "parser.mbty", - "original_offset": 20985, - "generated_offset": 374240, + "original_offset": 21249, + "generated_offset": 392038, "length": 41 }, { "source": "parser.mbty", - "original_offset": 5481, - "generated_offset": 374537, + "original_offset": 5600, + "generated_offset": 392335, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5484, - "generated_offset": 374546, + "original_offset": 5603, + "generated_offset": 392344, "length": 1 }, { "source": "parser.mbty", - "original_offset": 61073, - "generated_offset": 375622, + "original_offset": 62804, + "generated_offset": 393420, "length": 52 }, { "source": "parser.mbty", - "original_offset": 61127, - "generated_offset": 375682, + "original_offset": 62858, + "generated_offset": 393480, "length": 14 }, { "source": "parser.mbty", - "original_offset": 61149, - "generated_offset": 375736, + "original_offset": 62880, + "generated_offset": 393534, "length": 17 }, { "source": "parser.mbty", - "original_offset": 61168, - "generated_offset": 375761, + "original_offset": 62899, + "generated_offset": 393559, "length": 13 }, { "source": "parser.mbty", - "original_offset": 61183, - "generated_offset": 375782, + "original_offset": 62914, + "generated_offset": 393580, "length": 20 }, { "source": "parser.mbty", - "original_offset": 61208, - "generated_offset": 375831, + "original_offset": 62939, + "generated_offset": 393629, "length": 16 }, { "source": "parser.mbty", - "original_offset": 61226, - "generated_offset": 375855, + "original_offset": 62957, + "generated_offset": 393653, "length": 40 }, { "source": "parser.mbty", - "original_offset": 61073, - "generated_offset": 376971, + "original_offset": 62804, + "generated_offset": 394769, "length": 52 }, { "source": "parser.mbty", - "original_offset": 61127, - "generated_offset": 377031, + "original_offset": 62858, + "generated_offset": 394829, "length": 14 }, { "source": "parser.mbty", - "original_offset": 61149, - "generated_offset": 377085, + "original_offset": 62880, + "generated_offset": 394883, "length": 17 }, { "source": "parser.mbty", - "original_offset": 61168, - "generated_offset": 377110, + "original_offset": 62899, + "generated_offset": 394908, "length": 13 }, { "source": "parser.mbty", - "original_offset": 61183, - "generated_offset": 377131, + "original_offset": 62914, + "generated_offset": 394929, "length": 20 }, { "source": "parser.mbty", - "original_offset": 61208, - "generated_offset": 377180, + "original_offset": 62939, + "generated_offset": 394978, "length": 16 }, { "source": "parser.mbty", - "original_offset": 61226, - "generated_offset": 377204, + "original_offset": 62957, + "generated_offset": 395002, "length": 40 }, { "source": "parser.mbty", - "original_offset": 21414, - "generated_offset": 377499, + "original_offset": 21678, + "generated_offset": 395297, "length": 1 }, { "source": "parser.mbty", - "original_offset": 21417, - "generated_offset": 377508, + "original_offset": 21681, + "generated_offset": 395306, "length": 1 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 377835, + "generated_offset": 395633, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 377849, + "generated_offset": 395647, "length": 2 }, { "source": "parser.mbty", - "original_offset": 61327, - "generated_offset": 378180, + "original_offset": 63058, + "generated_offset": 395978, "length": 2 }, { "source": "parser.mbty", - "original_offset": 61331, - "generated_offset": 378190, + "original_offset": 63062, + "generated_offset": 395988, "length": 9 }, { "source": "parser.mbty", - "original_offset": 61348, - "generated_offset": 378239, + "original_offset": 63079, + "generated_offset": 396037, "length": 3 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 378429, + "generated_offset": 396227, "length": 6 }, { "source": "parser.mbty", - "original_offset": 60622, - "generated_offset": 378854, + "original_offset": 62353, + "generated_offset": 396652, "length": 31 }, { "source": "parser.mbty", - "original_offset": 60655, - "generated_offset": 378893, + "original_offset": 62386, + "generated_offset": 396691, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60671, - "generated_offset": 378915, + "original_offset": 62402, + "generated_offset": 396713, "length": 39 }, { "source": "parser.mbty", - "original_offset": 60752, - "generated_offset": 379600, + "original_offset": 62483, + "generated_offset": 397398, "length": 33 }, { "source": "parser.mbty", - "original_offset": 60787, - "generated_offset": 379641, + "original_offset": 62518, + "generated_offset": 397439, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60809, - "generated_offset": 379695, + "original_offset": 62540, + "generated_offset": 397493, "length": 50 }, { "source": "parser.mbty", - "original_offset": 60861, - "generated_offset": 379753, + "original_offset": 62592, + "generated_offset": 397551, "length": 14 }, { "source": "parser.mbty", - "original_offset": 60877, - "generated_offset": 379775, + "original_offset": 62608, + "generated_offset": 397573, "length": 46 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 380020, + "generated_offset": 397818, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 380034, + "generated_offset": 397832, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 380363, + "original_offset": 4013, + "generated_offset": 398161, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 380372, + "original_offset": 4016, + "generated_offset": 398170, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 380385, + "original_offset": 4023, + "generated_offset": 398183, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 380668, + "original_offset": 4227, + "generated_offset": 398466, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 380677, + "original_offset": 4230, + "generated_offset": 398475, "length": 7 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 381008, + "generated_offset": 398806, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 381022, + "generated_offset": 398820, "length": 2 }, { "source": "parser.mbty", "original_offset": 613, - "generated_offset": 381263, + "generated_offset": 399061, "length": 1 }, { "source": "parser.mbty", "original_offset": 616, - "generated_offset": 381272, + "generated_offset": 399070, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 381520, + "original_offset": 3950, + "generated_offset": 399318, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 381545, + "original_offset": 3969, + "generated_offset": 399343, "length": 2 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 381720, + "generated_offset": 399518, "length": 6 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 381912, + "generated_offset": 399710, "length": 6 }, { "source": "parser.mbty", - "original_offset": 5277, - "generated_offset": 382238, + "original_offset": 5396, + "generated_offset": 400036, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5280, - "generated_offset": 382247, + "original_offset": 5399, + "generated_offset": 400045, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5287, - "generated_offset": 382260, + "original_offset": 5406, + "generated_offset": 400058, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5218, - "generated_offset": 382520, + "original_offset": 5337, + "generated_offset": 400318, "length": 17 }, { "source": "parser.mbty", - "original_offset": 5237, - "generated_offset": 382545, + "original_offset": 5356, + "generated_offset": 400343, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5435, - "generated_offset": 382735, + "original_offset": 5554, + "generated_offset": 400533, "length": 15 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 383002, + "generated_offset": 400800, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 383016, + "generated_offset": 400814, "length": 2 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 383206, + "generated_offset": 401004, "length": 6 }, { "source": "parser.mbty", - "original_offset": 21110, - "generated_offset": 384347, + "original_offset": 21374, + "generated_offset": 402145, "length": 44 }, { "source": "parser.mbty", - "original_offset": 21156, - "generated_offset": 384399, + "original_offset": 21420, + "generated_offset": 402197, "length": 23 }, { "source": "parser.mbty", - "original_offset": 21187, - "generated_offset": 384462, + "original_offset": 21451, + "generated_offset": 402260, "length": 25 }, { "source": "parser.mbty", - "original_offset": 21214, - "generated_offset": 384495, + "original_offset": 21478, + "generated_offset": 402293, "length": 14 }, { "source": "parser.mbty", - "original_offset": 21230, - "generated_offset": 384517, + "original_offset": 21494, + "generated_offset": 402315, "length": 16 }, { "source": "parser.mbty", - "original_offset": 21248, - "generated_offset": 384541, + "original_offset": 21512, + "generated_offset": 402339, "length": 21 }, { "source": "parser.mbty", - "original_offset": 21273, - "generated_offset": 384584, + "original_offset": 21537, + "generated_offset": 402382, "length": 42 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 384911, + "original_offset": 4437, + "generated_offset": 402709, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 384920, + "original_offset": 4440, + "generated_offset": 402718, "length": 1 }, { "source": "parser.mbty", - "original_offset": 25548, - "generated_offset": 385681, + "original_offset": 25812, + "generated_offset": 403491, "length": 41 }, { "source": "parser.mbty", - "original_offset": 25591, - "generated_offset": 385730, + "original_offset": 25855, + "generated_offset": 403540, "length": 21 }, { "source": "parser.mbty", - "original_offset": 25620, - "generated_offset": 385791, + "original_offset": 25884, + "generated_offset": 403601, "length": 47 }, { "source": "parser.mbty", - "original_offset": 25669, - "generated_offset": 385846, + "original_offset": 25933, + "generated_offset": 403656, "length": 21 }, { "source": "parser.mbty", - "original_offset": 25698, - "generated_offset": 385907, + "original_offset": 25962, + "generated_offset": 403717, "length": 68 }, { "source": "parser.mbty", - "original_offset": 25371, - "generated_offset": 386563, + "original_offset": 25635, + "generated_offset": 404373, "length": 41 }, { "source": "parser.mbty", - "original_offset": 25414, - "generated_offset": 386612, + "original_offset": 25678, + "generated_offset": 404422, "length": 21 }, { "source": "parser.mbty", - "original_offset": 25439, - "generated_offset": 386655, + "original_offset": 25703, + "generated_offset": 404465, "length": 60 }, { "source": "parser.mbty", - "original_offset": 25548, - "generated_offset": 387445, + "original_offset": 25812, + "generated_offset": 405266, "length": 41 }, { "source": "parser.mbty", - "original_offset": 25591, - "generated_offset": 387494, + "original_offset": 25855, + "generated_offset": 405315, "length": 21 }, { "source": "parser.mbty", - "original_offset": 25620, - "generated_offset": 387555, + "original_offset": 25884, + "generated_offset": 405376, "length": 47 }, { "source": "parser.mbty", - "original_offset": 25669, - "generated_offset": 387610, + "original_offset": 25933, + "generated_offset": 405431, "length": 21 }, { "source": "parser.mbty", - "original_offset": 25698, - "generated_offset": 387671, + "original_offset": 25962, + "generated_offset": 405492, "length": 68 }, { "source": "parser.mbty", - "original_offset": 25371, - "generated_offset": 388309, + "original_offset": 25635, + "generated_offset": 406130, "length": 41 }, { "source": "parser.mbty", - "original_offset": 25414, - "generated_offset": 388358, + "original_offset": 25678, + "generated_offset": 406179, "length": 21 }, { "source": "parser.mbty", - "original_offset": 25439, - "generated_offset": 388401, + "original_offset": 25703, + "generated_offset": 406222, "length": 60 }, { "source": "parser.mbty", - "original_offset": 25951, - "generated_offset": 389208, + "original_offset": 26215, + "generated_offset": 407029, "length": 41 }, { "source": "parser.mbty", - "original_offset": 25994, - "generated_offset": 389257, + "original_offset": 26258, + "generated_offset": 407078, "length": 21 }, { "source": "parser.mbty", - "original_offset": 26023, - "generated_offset": 389318, + "original_offset": 26287, + "generated_offset": 407139, "length": 47 }, { "source": "parser.mbty", - "original_offset": 26072, - "generated_offset": 389373, + "original_offset": 26336, + "generated_offset": 407194, "length": 21 }, { "source": "parser.mbty", - "original_offset": 26101, - "generated_offset": 389434, + "original_offset": 26365, + "generated_offset": 407255, "length": 67 }, { "source": "parser.mbty", - "original_offset": 25787, - "generated_offset": 389997, + "original_offset": 26051, + "generated_offset": 407818, "length": 41 }, { "source": "parser.mbty", - "original_offset": 25830, - "generated_offset": 390046, + "original_offset": 26094, + "generated_offset": 407867, "length": 21 }, { "source": "parser.mbty", - "original_offset": 25859, - "generated_offset": 390107, + "original_offset": 26123, + "generated_offset": 407928, "length": 59 }, { "source": "parser.mbty", - "original_offset": 26356, - "generated_offset": 390915, + "original_offset": 26620, + "generated_offset": 408736, "length": 41 }, { "source": "parser.mbty", - "original_offset": 26399, - "generated_offset": 390964, + "original_offset": 26663, + "generated_offset": 408785, "length": 21 }, { "source": "parser.mbty", - "original_offset": 26428, - "generated_offset": 391025, + "original_offset": 26692, + "generated_offset": 408846, "length": 47 }, { "source": "parser.mbty", - "original_offset": 26477, - "generated_offset": 391080, + "original_offset": 26741, + "generated_offset": 408901, "length": 21 }, { "source": "parser.mbty", - "original_offset": 26506, - "generated_offset": 391141, + "original_offset": 26770, + "generated_offset": 408962, "length": 68 }, { "source": "parser.mbty", - "original_offset": 26190, - "generated_offset": 391707, + "original_offset": 26454, + "generated_offset": 409528, "length": 41 }, { "source": "parser.mbty", - "original_offset": 26233, - "generated_offset": 391756, + "original_offset": 26497, + "generated_offset": 409577, "length": 21 }, { "source": "parser.mbty", - "original_offset": 26262, - "generated_offset": 391817, + "original_offset": 26526, + "generated_offset": 409638, "length": 60 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 392243, + "original_offset": 4013, + "generated_offset": 410064, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 392252, + "original_offset": 4016, + "generated_offset": 410073, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 392265, + "original_offset": 4023, + "generated_offset": 410086, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 392574, + "original_offset": 4227, + "generated_offset": 410395, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 392583, + "original_offset": 4230, + "generated_offset": 410404, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 392863, + "original_offset": 3950, + "generated_offset": 410684, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 392888, + "original_offset": 3969, + "generated_offset": 410709, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 393092, + "original_offset": 4390, + "generated_offset": 410913, "length": 15 }, { "source": "parser.mbty", - "original_offset": 22035, - "generated_offset": 394037, + "original_offset": 22299, + "generated_offset": 411858, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22044, - "generated_offset": 394052, + "original_offset": 22308, + "generated_offset": 411873, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22048, - "generated_offset": 394062, + "original_offset": 22312, + "generated_offset": 411883, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22052, - "generated_offset": 394072, + "original_offset": 22316, + "generated_offset": 411893, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22056, - "generated_offset": 394082, + "original_offset": 22320, + "generated_offset": 411903, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22073, - "generated_offset": 394131, + "original_offset": 22337, + "generated_offset": 411952, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22078, - "generated_offset": 394142, + "original_offset": 22342, + "generated_offset": 411963, "length": 5 }, { "source": "parser.mbty", - "original_offset": 22219, - "generated_offset": 394934, + "original_offset": 22483, + "generated_offset": 412755, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22223, - "generated_offset": 394944, + "original_offset": 22487, + "generated_offset": 412765, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22227, - "generated_offset": 394954, + "original_offset": 22491, + "generated_offset": 412775, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22231, - "generated_offset": 394964, + "original_offset": 22495, + "generated_offset": 412785, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22235, - "generated_offset": 394974, + "original_offset": 22499, + "generated_offset": 412795, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22252, - "generated_offset": 395023, + "original_offset": 22516, + "generated_offset": 412844, "length": 3 }, { "source": "parser.mbty", - "original_offset": 21842, - "generated_offset": 395193, + "original_offset": 22106, + "generated_offset": 413014, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22432, - "generated_offset": 395993, + "original_offset": 22696, + "generated_offset": 413814, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22441, - "generated_offset": 396008, + "original_offset": 22705, + "generated_offset": 413829, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22445, - "generated_offset": 396018, + "original_offset": 22709, + "generated_offset": 413839, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22449, - "generated_offset": 396028, + "original_offset": 22713, + "generated_offset": 413849, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22466, - "generated_offset": 396077, + "original_offset": 22730, + "generated_offset": 413898, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22471, - "generated_offset": 396088, + "original_offset": 22735, + "generated_offset": 413909, "length": 5 }, { "source": "parser.mbty", - "original_offset": 7004, - "generated_offset": 396526, + "original_offset": 7123, + "generated_offset": 414347, "length": 11 }, { "source": "parser.mbty", - "original_offset": 7017, - "generated_offset": 396545, + "original_offset": 7136, + "generated_offset": 414366, "length": 68 }, { "source": "parser.mbty", - "original_offset": 22649, - "generated_offset": 397404, + "original_offset": 22913, + "generated_offset": 415225, "length": 7 }, { "source": "parser.mbty", - "original_offset": 22658, - "generated_offset": 397419, + "original_offset": 22922, + "generated_offset": 415240, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22662, - "generated_offset": 397429, + "original_offset": 22926, + "generated_offset": 415250, "length": 2 }, { "source": "parser.mbty", - "original_offset": 22666, - "generated_offset": 397439, + "original_offset": 22930, + "generated_offset": 415260, "length": 9 }, { "source": "parser.mbty", - "original_offset": 22683, - "generated_offset": 397488, + "original_offset": 22947, + "generated_offset": 415309, "length": 3 }, { "source": "parser.mbty", - "original_offset": 22688, - "generated_offset": 397499, + "original_offset": 22952, + "generated_offset": 415320, "length": 5 }, { "source": "parser.mbty", - "original_offset": 21556, - "generated_offset": 397679, + "original_offset": 21820, + "generated_offset": 415500, "length": 9 }, { "source": "parser.mbty", - "original_offset": 21366, - "generated_offset": 397874, + "original_offset": 21630, + "generated_offset": 415695, "length": 15 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 398176, + "original_offset": 4227, + "generated_offset": 415997, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 398185, + "original_offset": 4230, + "generated_offset": 416006, "length": 7 }, { "source": "parser.mbty", - "original_offset": 50084, - "generated_offset": 398629, + "original_offset": 50929, + "generated_offset": 416450, "length": 30 }, { "source": "parser.mbty", - "original_offset": 50116, - "generated_offset": 398667, + "original_offset": 50961, + "generated_offset": 416488, "length": 15 }, { "source": "parser.mbty", - "original_offset": 50136, - "generated_offset": 398711, + "original_offset": 50981, + "generated_offset": 416532, "length": 4 }, { "source": "parser.mbty", - "original_offset": 50151, - "generated_offset": 399100, + "original_offset": 50996, + "generated_offset": 416921, "length": 43 }, { "source": "parser.mbty", - "original_offset": 50199, - "generated_offset": 399172, + "original_offset": 51044, + "generated_offset": 416993, "length": 4 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 399589, + "original_offset": 4013, + "generated_offset": 417410, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 399598, + "original_offset": 4016, + "generated_offset": 417419, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 399611, + "original_offset": 4023, + "generated_offset": 417432, "length": 2 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 399943, + "generated_offset": 417764, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 399957, + "generated_offset": 417778, "length": 2 }, { "source": "parser.mbty", "original_offset": 613, - "generated_offset": 400204, + "generated_offset": 418025, "length": 1 }, { "source": "parser.mbty", "original_offset": 616, - "generated_offset": 400213, + "generated_offset": 418034, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 400543, + "original_offset": 3950, + "generated_offset": 418364, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 400568, + "original_offset": 3969, + "generated_offset": 418389, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5525, - "generated_offset": 400800, + "original_offset": 5644, + "generated_offset": 418621, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5528, - "generated_offset": 400809, + "original_offset": 5647, + "generated_offset": 418630, "length": 1 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 400999, + "generated_offset": 418820, "length": 6 }, { "source": "parser.mbty", - "original_offset": 3758, - "generated_offset": 401387, + "original_offset": 3877, + "generated_offset": 419208, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3761, - "generated_offset": 401396, + "original_offset": 3880, + "generated_offset": 419217, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3768, - "generated_offset": 401409, + "original_offset": 3887, + "generated_offset": 419230, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3710, - "generated_offset": 401730, + "original_offset": 3829, + "generated_offset": 419551, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3729, - "generated_offset": 401755, + "original_offset": 3848, + "generated_offset": 419576, "length": 2 }, { "source": "parser.mbty", - "original_offset": 21471, - "generated_offset": 402193, + "original_offset": 21735, + "generated_offset": 420014, "length": 27 }, { "source": "parser.mbty", - "original_offset": 21503, - "generated_offset": 402249, + "original_offset": 21767, + "generated_offset": 420070, "length": 3 }, { "source": "parser.mbty", - "original_offset": 21508, - "generated_offset": 402260, + "original_offset": 21772, + "generated_offset": 420081, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5277, - "generated_offset": 402564, + "original_offset": 5396, + "generated_offset": 420385, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5280, - "generated_offset": 402573, + "original_offset": 5399, + "generated_offset": 420394, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5287, - "generated_offset": 402586, + "original_offset": 5406, + "generated_offset": 420407, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5218, - "generated_offset": 402834, + "original_offset": 5337, + "generated_offset": 420655, "length": 17 }, { "source": "parser.mbty", - "original_offset": 5237, - "generated_offset": 402859, + "original_offset": 5356, + "generated_offset": 420680, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5435, - "generated_offset": 403043, + "original_offset": 5554, + "generated_offset": 420864, "length": 15 }, { "source": "parser.mbty", - "original_offset": 10925, - "generated_offset": 403275, + "original_offset": 11148, + "generated_offset": 421096, "length": 1 }, { "source": "parser.mbty", - "original_offset": 10928, - "generated_offset": 403284, + "original_offset": 11151, + "generated_offset": 421105, "length": 1 }, { "source": "parser.mbty", - "original_offset": 49255, - "generated_offset": 403750, + "original_offset": 50100, + "generated_offset": 421571, "length": 38 }, { "source": "parser.mbty", - "original_offset": 49298, - "generated_offset": 403817, + "original_offset": 50143, + "generated_offset": 421638, "length": 3 }, { "source": "parser.mbty", - "original_offset": 49303, - "generated_offset": 403828, + "original_offset": 50148, + "generated_offset": 421649, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 404095, + "original_offset": 4437, + "generated_offset": 421916, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 404104, + "original_offset": 4440, + "generated_offset": 421925, "length": 1 }, { "source": "parser.mbty", - "original_offset": 53564, - "generated_offset": 404338, + "original_offset": 54409, + "generated_offset": 422159, "length": 9 }, { "source": "parser.mbty", - "original_offset": 53575, - "generated_offset": 404355, + "original_offset": 54420, + "generated_offset": 422176, "length": 2 }, { "source": "parser.mbty", - "original_offset": 61474, - "generated_offset": 404995, + "original_offset": 63205, + "generated_offset": 422816, "length": 27 }, { "source": "parser.mbty", - "original_offset": 61503, - "generated_offset": 405030, + "original_offset": 63234, + "generated_offset": 422851, "length": 118 }, { "source": "parser.mbty", - "original_offset": 61623, - "generated_offset": 405156, + "original_offset": 63354, + "generated_offset": 422977, "length": 20 }, { "source": "parser.mbty", - "original_offset": 61675, - "generated_offset": 405725, + "original_offset": 63406, + "generated_offset": 423546, "length": 29 }, { "source": "parser.mbty", - "original_offset": 61706, - "generated_offset": 405762, + "original_offset": 63437, + "generated_offset": 423583, "length": 85 }, { "source": "parser.mbty", - "original_offset": 61793, - "generated_offset": 405855, + "original_offset": 63524, + "generated_offset": 423676, "length": 20 }, { "source": "parser.mbty", - "original_offset": 61898, - "generated_offset": 406509, + "original_offset": 63629, + "generated_offset": 424330, "length": 27 }, { "source": "parser.mbty", - "original_offset": 61927, - "generated_offset": 406544, + "original_offset": 63658, + "generated_offset": 424365, "length": 101 }, { "source": "parser.mbty", - "original_offset": 62030, - "generated_offset": 406653, + "original_offset": 63761, + "generated_offset": 424474, "length": 20 }, { "source": "parser.mbty", - "original_offset": 45950, - "generated_offset": 407208, + "original_offset": 46795, + "generated_offset": 425029, "length": 27 }, { "source": "parser.mbty", - "original_offset": 45979, - "generated_offset": 407243, + "original_offset": 46824, + "generated_offset": 425064, "length": 43 }, { "source": "parser.mbty", - "original_offset": 46027, - "generated_offset": 407315, + "original_offset": 46872, + "generated_offset": 425136, "length": 26 }, { "source": "parser.mbty", - "original_offset": 46420, - "generated_offset": 408006, + "original_offset": 47265, + "generated_offset": 425827, "length": 31 }, { "source": "parser.mbty", - "original_offset": 46453, - "generated_offset": 408045, + "original_offset": 47298, + "generated_offset": 425866, "length": 11 }, { "source": "parser.mbty", - "original_offset": 46466, - "generated_offset": 408064, + "original_offset": 47311, + "generated_offset": 425885, "length": 39 }, { "source": "parser.mbty", - "original_offset": 46510, - "generated_offset": 408132, + "original_offset": 47355, + "generated_offset": 425953, "length": 5 }, { "source": "parser.mbty", - "original_offset": 46619, - "generated_offset": 408880, + "original_offset": 47464, + "generated_offset": 426701, "length": 31 }, { "source": "parser.mbty", - "original_offset": 46652, - "generated_offset": 408919, + "original_offset": 47497, + "generated_offset": 426740, "length": 11 }, { "source": "parser.mbty", - "original_offset": 46665, - "generated_offset": 408938, + "original_offset": 47510, + "generated_offset": 426759, "length": 11 }, { "source": "parser.mbty", - "original_offset": 46678, - "generated_offset": 408957, + "original_offset": 47523, + "generated_offset": 426778, "length": 15 }, { "source": "parser.mbty", - "original_offset": 46698, - "generated_offset": 409001, + "original_offset": 47543, + "generated_offset": 426822, "length": 5 }, { "source": "parser.mbty", "original_offset": 115, - "generated_offset": 409183, + "generated_offset": 427004, "length": 6 }, { "source": "parser.mbty", - "original_offset": 46737, - "generated_offset": 410256, + "original_offset": 47582, + "generated_offset": 428077, "length": 29 }, { "source": "parser.mbty", - "original_offset": 46768, - "generated_offset": 410293, + "original_offset": 47613, + "generated_offset": 428114, "length": 170 }, { "source": "parser.mbty", - "original_offset": 46943, - "generated_offset": 410492, + "original_offset": 47788, + "generated_offset": 428313, "length": 159 }, { "source": "parser.mbty", - "original_offset": 47107, - "generated_offset": 410680, + "original_offset": 47952, + "generated_offset": 428501, "length": 119 }, { "source": "parser.mbty", - "original_offset": 47231, - "generated_offset": 410828, + "original_offset": 48076, + "generated_offset": 428649, "length": 11 }, { "source": "parser.mbty", - "original_offset": 28555, - "generated_offset": 411404, + "original_offset": 28819, + "generated_offset": 429225, "length": 27 }, { "source": "parser.mbty", - "original_offset": 28584, - "generated_offset": 411439, + "original_offset": 28848, + "generated_offset": 429260, "length": 46 }, { "source": "parser.mbty", - "original_offset": 28635, - "generated_offset": 411514, + "original_offset": 28899, + "generated_offset": 429335, "length": 16 }, { "source": "parser.mbty", - "original_offset": 47284, - "generated_offset": 412001, + "original_offset": 48129, + "generated_offset": 429822, "length": 18 }, { "source": "parser.mbty", - "original_offset": 47304, - "generated_offset": 412027, + "original_offset": 48149, + "generated_offset": 429848, "length": 15 }, { "source": "parser.mbty", - "original_offset": 47324, - "generated_offset": 412071, + "original_offset": 48169, + "generated_offset": 429892, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5128, - "generated_offset": 412426, + "original_offset": 5247, + "generated_offset": 430247, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5132, - "generated_offset": 412436, + "original_offset": 5251, + "generated_offset": 430257, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5136, - "generated_offset": 412446, + "original_offset": 5255, + "generated_offset": 430267, "length": 13 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 412718, + "original_offset": 4437, + "generated_offset": 430539, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 412727, + "original_offset": 4440, + "generated_offset": 430548, "length": 1 }, { "source": "parser.mbty", - "original_offset": 10192, - "generated_offset": 413203, + "original_offset": 10415, + "generated_offset": 431024, "length": 28 }, { "source": "parser.mbty", - "original_offset": 10222, - "generated_offset": 413239, + "original_offset": 10445, + "generated_offset": 431060, "length": 15 }, { "source": "parser.mbty", - "original_offset": 10242, - "generated_offset": 413283, + "original_offset": 10465, + "generated_offset": 431104, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5387, - "generated_offset": 413546, + "original_offset": 5506, + "generated_offset": 431367, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5390, - "generated_offset": 413555, + "original_offset": 5509, + "generated_offset": 431376, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28967, - "generated_offset": 414346, + "original_offset": 29231, + "generated_offset": 432167, "length": 22 }, { "source": "parser.mbty", - "original_offset": 28991, - "generated_offset": 414376, + "original_offset": 29255, + "generated_offset": 432197, "length": 17 }, { "source": "parser.mbty", - "original_offset": 29010, - "generated_offset": 414401, + "original_offset": 29274, + "generated_offset": 432222, "length": 45 }, { "source": "parser.mbty", - "original_offset": 29057, - "generated_offset": 414454, + "original_offset": 29321, + "generated_offset": 432275, "length": 20 }, { "source": "parser.mbty", - "original_offset": 29082, - "generated_offset": 414503, + "original_offset": 29346, + "generated_offset": 432324, "length": 34 }, { "source": "parser.mbty", - "original_offset": 29118, - "generated_offset": 414545, + "original_offset": 29382, + "generated_offset": 432366, "length": 15 }, { "source": "parser.mbty", - "original_offset": 29138, - "generated_offset": 414589, + "original_offset": 29402, + "generated_offset": 432410, "length": 5 }, { "source": "parser.mbty", - "original_offset": 28967, - "generated_offset": 415384, + "original_offset": 29231, + "generated_offset": 433205, "length": 22 }, { "source": "parser.mbty", - "original_offset": 28991, - "generated_offset": 415414, + "original_offset": 29255, + "generated_offset": 433235, "length": 17 }, { "source": "parser.mbty", - "original_offset": 29010, - "generated_offset": 415439, + "original_offset": 29274, + "generated_offset": 433260, "length": 45 }, { "source": "parser.mbty", - "original_offset": 29057, - "generated_offset": 415492, + "original_offset": 29321, + "generated_offset": 433313, "length": 20 }, { "source": "parser.mbty", - "original_offset": 29082, - "generated_offset": 415541, + "original_offset": 29346, + "generated_offset": 433362, "length": 34 }, { "source": "parser.mbty", - "original_offset": 29118, - "generated_offset": 415583, + "original_offset": 29382, + "generated_offset": 433404, "length": 15 }, { "source": "parser.mbty", - "original_offset": 29138, - "generated_offset": 415627, + "original_offset": 29402, + "generated_offset": 433448, "length": 5 }, { "source": "parser.mbty", - "original_offset": 29342, - "generated_offset": 416371, + "original_offset": 29606, + "generated_offset": 434192, "length": 26 }, { "source": "parser.mbty", - "original_offset": 29370, - "generated_offset": 416405, + "original_offset": 29634, + "generated_offset": 434226, "length": 11 }, { "source": "parser.mbty", - "original_offset": 29383, - "generated_offset": 416424, + "original_offset": 29647, + "generated_offset": 434245, "length": 9 }, { "source": "parser.mbty", - "original_offset": 29394, - "generated_offset": 416441, + "original_offset": 29658, + "generated_offset": 434262, "length": 15 }, { "source": "parser.mbty", - "original_offset": 29414, - "generated_offset": 416485, + "original_offset": 29678, + "generated_offset": 434306, "length": 5 }, { "source": "parser.mbty", - "original_offset": 29342, - "generated_offset": 417229, + "original_offset": 29606, + "generated_offset": 435050, "length": 26 }, { "source": "parser.mbty", - "original_offset": 29370, - "generated_offset": 417263, + "original_offset": 29634, + "generated_offset": 435084, "length": 11 }, { "source": "parser.mbty", - "original_offset": 29383, - "generated_offset": 417282, + "original_offset": 29647, + "generated_offset": 435103, "length": 9 }, { "source": "parser.mbty", - "original_offset": 29394, - "generated_offset": 417299, + "original_offset": 29658, + "generated_offset": 435120, "length": 15 }, { "source": "parser.mbty", - "original_offset": 29414, - "generated_offset": 417343, + "original_offset": 29678, + "generated_offset": 435164, "length": 5 }, { "source": "parser.mbty", - "original_offset": 29207, - "generated_offset": 418199, + "original_offset": 29471, + "generated_offset": 436020, "length": 20 }, { "source": "parser.mbty", - "original_offset": 29229, - "generated_offset": 418227, + "original_offset": 29493, + "generated_offset": 436048, "length": 6 }, { "source": "parser.mbty", - "original_offset": 29237, - "generated_offset": 418241, + "original_offset": 29501, + "generated_offset": 436062, "length": 2 }, { "source": "parser.mbty", - "original_offset": 29241, - "generated_offset": 418251, + "original_offset": 29505, + "generated_offset": 436072, "length": 2 }, { "source": "parser.mbty", - "original_offset": 29245, - "generated_offset": 418261, + "original_offset": 29509, + "generated_offset": 436082, "length": 42 }, { "source": "parser.mbty", - "original_offset": 29292, - "generated_offset": 418332, + "original_offset": 29556, + "generated_offset": 436153, "length": 5 }, { "source": "parser.mbty", - "original_offset": 29207, - "generated_offset": 419188, + "original_offset": 29471, + "generated_offset": 437009, "length": 20 }, { "source": "parser.mbty", - "original_offset": 29229, - "generated_offset": 419216, + "original_offset": 29493, + "generated_offset": 437037, "length": 6 }, { "source": "parser.mbty", - "original_offset": 29237, - "generated_offset": 419230, + "original_offset": 29501, + "generated_offset": 437051, "length": 2 }, { "source": "parser.mbty", - "original_offset": 29241, - "generated_offset": 419240, + "original_offset": 29505, + "generated_offset": 437061, "length": 2 }, { "source": "parser.mbty", - "original_offset": 29245, - "generated_offset": 419250, + "original_offset": 29509, + "generated_offset": 437071, "length": 42 }, { "source": "parser.mbty", - "original_offset": 29292, - "generated_offset": 419321, + "original_offset": 29556, + "generated_offset": 437142, "length": 5 }, { "source": "parser.mbty", - "original_offset": 28885, - "generated_offset": 419842, + "original_offset": 29149, + "generated_offset": 437663, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28889, - "generated_offset": 419852, + "original_offset": 29153, + "generated_offset": 437673, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28893, - "generated_offset": 419862, + "original_offset": 29157, + "generated_offset": 437683, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28897, - "generated_offset": 419872, + "original_offset": 29161, + "generated_offset": 437693, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28776, - "generated_offset": 420097, + "original_offset": 29040, + "generated_offset": 437918, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28779, - "generated_offset": 420106, + "original_offset": 29043, + "generated_offset": 437927, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28796, - "generated_offset": 420325, + "original_offset": 29060, + "generated_offset": 438146, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28799, - "generated_offset": 420334, + "original_offset": 29063, + "generated_offset": 438155, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28885, - "generated_offset": 420851, + "original_offset": 29149, + "generated_offset": 438672, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28889, - "generated_offset": 420861, + "original_offset": 29153, + "generated_offset": 438682, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28893, - "generated_offset": 420871, + "original_offset": 29157, + "generated_offset": 438692, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28897, - "generated_offset": 420881, + "original_offset": 29161, + "generated_offset": 438702, "length": 2 }, { "source": "parser.mbty", "original_offset": 693, - "generated_offset": 421226, + "generated_offset": 439047, "length": 1 }, { "source": "parser.mbty", "original_offset": 696, - "generated_offset": 421235, + "generated_offset": 439056, "length": 5 }, { "source": "parser.mbty", "original_offset": 703, - "generated_offset": 421248, + "generated_offset": 439069, "length": 2 }, { "source": "parser.mbty", "original_offset": 661, - "generated_offset": 421454, + "generated_offset": 439275, "length": 15 }, { "source": "parser.mbty", - "original_offset": 29500, - "generated_offset": 422830, + "original_offset": 29764, + "generated_offset": 440651, "length": 38 }, { "source": "parser.mbty", - "original_offset": 29540, - "generated_offset": 422876, + "original_offset": 29804, + "generated_offset": 440697, "length": 43 }, { "source": "parser.mbty", - "original_offset": 29585, - "generated_offset": 422927, + "original_offset": 29849, + "generated_offset": 440748, "length": 28 }, { "source": "parser.mbty", - "original_offset": 29621, - "generated_offset": 422995, + "original_offset": 29885, + "generated_offset": 440816, "length": 16 }, { "source": "parser.mbty", - "original_offset": 29639, - "generated_offset": 423019, + "original_offset": 29903, + "generated_offset": 440840, "length": 78 }, { "source": "parser.mbty", - "original_offset": 29719, - "generated_offset": 423105, + "original_offset": 29983, + "generated_offset": 440926, "length": 19 }, { "source": "parser.mbty", - "original_offset": 29740, - "generated_offset": 423132, + "original_offset": 30004, + "generated_offset": 440953, "length": 21 }, { "source": "parser.mbty", - "original_offset": 29766, - "generated_offset": 423182, + "original_offset": 30030, + "generated_offset": 441003, "length": 30 }, { "source": "parser.mbty", - "original_offset": 29798, - "generated_offset": 423220, + "original_offset": 30062, + "generated_offset": 441041, "length": 22 }, { "source": "parser.mbty", - "original_offset": 29825, - "generated_offset": 423271, + "original_offset": 30089, + "generated_offset": 441092, "length": 5 }, { "source": "parser.mbty", - "original_offset": 29500, - "generated_offset": 424637, + "original_offset": 29764, + "generated_offset": 442458, "length": 38 }, { "source": "parser.mbty", - "original_offset": 29540, - "generated_offset": 424683, + "original_offset": 29804, + "generated_offset": 442504, "length": 43 }, { "source": "parser.mbty", - "original_offset": 29585, - "generated_offset": 424734, + "original_offset": 29849, + "generated_offset": 442555, "length": 28 }, { "source": "parser.mbty", - "original_offset": 29621, - "generated_offset": 424802, + "original_offset": 29885, + "generated_offset": 442623, "length": 16 }, { "source": "parser.mbty", - "original_offset": 29639, - "generated_offset": 424826, + "original_offset": 29903, + "generated_offset": 442647, "length": 78 }, { "source": "parser.mbty", - "original_offset": 29719, - "generated_offset": 424912, + "original_offset": 29983, + "generated_offset": 442733, "length": 19 }, { "source": "parser.mbty", - "original_offset": 29740, - "generated_offset": 424939, + "original_offset": 30004, + "generated_offset": 442760, "length": 21 }, { "source": "parser.mbty", - "original_offset": 29766, - "generated_offset": 424989, + "original_offset": 30030, + "generated_offset": 442810, "length": 30 }, { "source": "parser.mbty", - "original_offset": 29798, - "generated_offset": 425027, + "original_offset": 30062, + "generated_offset": 442848, "length": 22 }, { "source": "parser.mbty", - "original_offset": 29825, - "generated_offset": 425078, + "original_offset": 30089, + "generated_offset": 442899, "length": 5 }, { "source": "parser.mbty", - "original_offset": 29853, - "generated_offset": 425318, + "original_offset": 30117, + "generated_offset": 443139, "length": 1 }, { "source": "parser.mbty", - "original_offset": 29856, - "generated_offset": 425327, + "original_offset": 30120, + "generated_offset": 443148, "length": 1 }, { "source": "parser.mbty", - "original_offset": 29882, - "generated_offset": 425756, + "original_offset": 30146, + "generated_offset": 443577, "length": 18 }, { "source": "parser.mbty", - "original_offset": 29902, - "generated_offset": 425782, + "original_offset": 30166, + "generated_offset": 443603, "length": 15 }, { "source": "parser.mbty", - "original_offset": 29922, - "generated_offset": 425826, + "original_offset": 30186, + "generated_offset": 443647, "length": 3 }, { "source": "parser.mbty", - "original_offset": 29947, - "generated_offset": 426068, + "original_offset": 30211, + "generated_offset": 443889, "length": 10 }, { "source": "parser.mbty", - "original_offset": 29959, - "generated_offset": 426086, + "original_offset": 30223, + "generated_offset": 443907, "length": 2 }, { "source": "parser.mbty", - "original_offset": 30126, - "generated_offset": 426600, + "original_offset": 30390, + "generated_offset": 444421, "length": 18 }, { "source": "parser.mbty", - "original_offset": 30146, - "generated_offset": 426626, + "original_offset": 30410, + "generated_offset": 444447, "length": 19 }, { "source": "parser.mbty", - "original_offset": 30167, - "generated_offset": 426653, + "original_offset": 30431, + "generated_offset": 444474, "length": 16 }, { "source": "parser.mbty", - "original_offset": 30188, - "generated_offset": 426698, + "original_offset": 30452, + "generated_offset": 444519, "length": 3 }, { "source": "parser.mbty", - "original_offset": 30021, - "generated_offset": 427148, + "original_offset": 30285, + "generated_offset": 444969, "length": 18 }, { "source": "parser.mbty", - "original_offset": 30041, - "generated_offset": 427174, + "original_offset": 30305, + "generated_offset": 444995, "length": 33 }, { "source": "parser.mbty", - "original_offset": 30079, - "generated_offset": 427236, + "original_offset": 30343, + "generated_offset": 445057, "length": 3 }, { "source": "parser.mbty", - "original_offset": 46140, - "generated_offset": 427990, + "original_offset": 46985, + "generated_offset": 445811, "length": 27 }, { "source": "parser.mbty", - "original_offset": 46169, - "generated_offset": 428025, + "original_offset": 47014, + "generated_offset": 445846, "length": 133 }, { "source": "parser.mbty", - "original_offset": 46307, - "generated_offset": 428187, + "original_offset": 47152, + "generated_offset": 446008, "length": 34 }, { "source": "parser.mbty", - "original_offset": 46343, - "generated_offset": 428229, + "original_offset": 47188, + "generated_offset": 446050, "length": 9 }, { "source": "parser.mbty", - "original_offset": 46420, - "generated_offset": 428903, + "original_offset": 47265, + "generated_offset": 446724, "length": 31 }, { "source": "parser.mbty", - "original_offset": 46453, - "generated_offset": 428942, + "original_offset": 47298, + "generated_offset": 446763, "length": 11 }, { "source": "parser.mbty", - "original_offset": 46466, - "generated_offset": 428961, + "original_offset": 47311, + "generated_offset": 446782, "length": 39 }, { "source": "parser.mbty", - "original_offset": 46510, - "generated_offset": 429029, + "original_offset": 47355, + "generated_offset": 446850, "length": 5 }, { "source": "parser.mbty", - "original_offset": 46619, - "generated_offset": 429777, + "original_offset": 47464, + "generated_offset": 447598, "length": 31 }, { "source": "parser.mbty", - "original_offset": 46652, - "generated_offset": 429816, + "original_offset": 47497, + "generated_offset": 447637, "length": 11 }, { "source": "parser.mbty", - "original_offset": 46665, - "generated_offset": 429835, + "original_offset": 47510, + "generated_offset": 447656, "length": 11 }, { "source": "parser.mbty", - "original_offset": 46678, - "generated_offset": 429854, + "original_offset": 47523, + "generated_offset": 447675, "length": 15 }, { "source": "parser.mbty", - "original_offset": 46698, - "generated_offset": 429898, + "original_offset": 47543, + "generated_offset": 447719, "length": 5 }, { "source": "parser.mbty", "original_offset": 130, - "generated_offset": 430210, + "generated_offset": 448031, "length": 6 }, { "source": "parser.mbty", "original_offset": 138, - "generated_offset": 430224, + "generated_offset": 448045, "length": 2 }, { "source": "parser.mbty", "original_offset": 552, - "generated_offset": 430445, + "generated_offset": 448266, "length": 1 }, { "source": "parser.mbty", "original_offset": 555, - "generated_offset": 430454, + "generated_offset": 448275, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 430708, + "original_offset": 4437, + "generated_offset": 448529, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 430717, + "original_offset": 4440, + "generated_offset": 448538, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 430993, + "original_offset": 4227, + "generated_offset": 448814, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 431002, + "original_offset": 4230, + "generated_offset": 448823, "length": 7 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 431195, + "original_offset": 4390, + "generated_offset": 449016, "length": 15 }, { "source": "parser.mbty", - "original_offset": 4747, - "generated_offset": 431498, + "original_offset": 4866, + "generated_offset": 449319, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4750, - "generated_offset": 431507, + "original_offset": 4869, + "generated_offset": 449328, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28695, - "generated_offset": 431857, + "original_offset": 28959, + "generated_offset": 449678, "length": 13 }, { "source": "parser.mbty", - "original_offset": 28713, - "generated_offset": 431899, + "original_offset": 28977, + "generated_offset": 449720, "length": 3 }, { "source": "parser.mbty", - "original_offset": 6484, - "generated_offset": 432252, + "original_offset": 6603, + "generated_offset": 450073, "length": 1 }, { "source": "parser.mbty", - "original_offset": 6487, - "generated_offset": 432261, + "original_offset": 6606, + "generated_offset": 450082, "length": 1 }, { "source": "parser.mbty", "original_offset": 613, - "generated_offset": 432497, + "generated_offset": 450318, "length": 1 }, { "source": "parser.mbty", "original_offset": 616, - "generated_offset": 432506, + "generated_offset": 450327, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 432762, + "original_offset": 4437, + "generated_offset": 450583, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 432771, + "original_offset": 4440, + "generated_offset": 450592, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5684, - "generated_offset": 433200, + "original_offset": 5803, + "generated_offset": 451021, "length": 24 }, { "source": "parser.mbty", - "original_offset": 5710, - "generated_offset": 433232, + "original_offset": 5829, + "generated_offset": 451053, "length": 15 }, { "source": "parser.mbty", - "original_offset": 5733, - "generated_offset": 433287, + "original_offset": 5852, + "generated_offset": 451108, "length": 3 }, { "source": "parser.mbty", - "original_offset": 5684, - "generated_offset": 433718, + "original_offset": 5803, + "generated_offset": 451539, "length": 24 }, { "source": "parser.mbty", - "original_offset": 5710, - "generated_offset": 433750, + "original_offset": 5829, + "generated_offset": 451571, "length": 15 }, { "source": "parser.mbty", - "original_offset": 5733, - "generated_offset": 433805, + "original_offset": 5852, + "generated_offset": 451626, "length": 3 }, { "source": "parser.mbty", - "original_offset": 5760, - "generated_offset": 434265, + "original_offset": 5879, + "generated_offset": 452086, "length": 21 }, { "source": "parser.mbty", - "original_offset": 5783, - "generated_offset": 434294, + "original_offset": 5902, + "generated_offset": 452115, "length": 7 }, { "source": "parser.mbty", - "original_offset": 5792, - "generated_offset": 434309, + "original_offset": 5911, + "generated_offset": 452130, "length": 2 }, { "source": "parser.mbty", - "original_offset": 6146, - "generated_offset": 434927, + "original_offset": 6265, + "generated_offset": 452748, "length": 36 }, { "source": "parser.mbty", - "original_offset": 6184, - "generated_offset": 434971, + "original_offset": 6303, + "generated_offset": 452792, "length": 14 }, { "source": "parser.mbty", - "original_offset": 6206, - "generated_offset": 435025, + "original_offset": 6325, + "generated_offset": 452846, "length": 33 }, { "source": "parser.mbty", - "original_offset": 6241, - "generated_offset": 435066, + "original_offset": 6360, + "generated_offset": 452887, "length": 12 }, { "source": "parser.mbty", - "original_offset": 6255, - "generated_offset": 435086, + "original_offset": 6374, + "generated_offset": 452907, "length": 6 }, { "source": "parser.mbty", - "original_offset": 6146, - "generated_offset": 435708, + "original_offset": 6265, + "generated_offset": 453529, "length": 36 }, { "source": "parser.mbty", - "original_offset": 6184, - "generated_offset": 435752, + "original_offset": 6303, + "generated_offset": 453573, "length": 14 }, { "source": "parser.mbty", - "original_offset": 6206, - "generated_offset": 435806, + "original_offset": 6325, + "generated_offset": 453627, "length": 33 }, { "source": "parser.mbty", - "original_offset": 6241, - "generated_offset": 435847, + "original_offset": 6360, + "generated_offset": 453668, "length": 12 }, { "source": "parser.mbty", - "original_offset": 6255, - "generated_offset": 435867, + "original_offset": 6374, + "generated_offset": 453688, "length": 6 }, { "source": "parser.mbty", - "original_offset": 6289, - "generated_offset": 436431, + "original_offset": 6408, + "generated_offset": 454252, "length": 36 }, { "source": "parser.mbty", - "original_offset": 6327, - "generated_offset": 436475, + "original_offset": 6446, + "generated_offset": 454296, "length": 14 }, { "source": "parser.mbty", - "original_offset": 6349, - "generated_offset": 436529, + "original_offset": 6468, + "generated_offset": 454350, "length": 41 }, { "source": "parser.mbty", - "original_offset": 6392, - "generated_offset": 436578, + "original_offset": 6511, + "generated_offset": 454399, "length": 6 }, { "source": "parser.mbty", - "original_offset": 6289, - "generated_offset": 437142, + "original_offset": 6408, + "generated_offset": 454963, "length": 36 }, { "source": "parser.mbty", - "original_offset": 6327, - "generated_offset": 437186, + "original_offset": 6446, + "generated_offset": 455007, "length": 14 }, { "source": "parser.mbty", - "original_offset": 6349, - "generated_offset": 437240, + "original_offset": 6468, + "generated_offset": 455061, "length": 41 }, { "source": "parser.mbty", - "original_offset": 6392, - "generated_offset": 437289, + "original_offset": 6511, + "generated_offset": 455110, "length": 6 }, { "source": "parser.mbty", - "original_offset": 5760, - "generated_offset": 437752, + "original_offset": 5879, + "generated_offset": 455573, "length": 21 }, { "source": "parser.mbty", - "original_offset": 5783, - "generated_offset": 437781, + "original_offset": 5902, + "generated_offset": 455602, "length": 7 }, { "source": "parser.mbty", - "original_offset": 5792, - "generated_offset": 437796, + "original_offset": 5911, + "generated_offset": 455617, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5977, - "generated_offset": 438431, + "original_offset": 6096, + "generated_offset": 456252, "length": 36 }, { "source": "parser.mbty", - "original_offset": 6015, - "generated_offset": 438475, + "original_offset": 6134, + "generated_offset": 456296, "length": 14 }, { "source": "parser.mbty", - "original_offset": 6037, - "generated_offset": 438529, + "original_offset": 6156, + "generated_offset": 456350, "length": 50 }, { "source": "parser.mbty", - "original_offset": 6089, - "generated_offset": 438587, + "original_offset": 6208, + "generated_offset": 456408, "length": 12 }, { "source": "parser.mbty", - "original_offset": 6103, - "generated_offset": 438607, + "original_offset": 6222, + "generated_offset": 456428, "length": 6 }, { "source": "parser.mbty", - "original_offset": 5822, - "generated_offset": 439180, + "original_offset": 5941, + "generated_offset": 457001, "length": 36 }, { "source": "parser.mbty", - "original_offset": 5860, - "generated_offset": 439224, + "original_offset": 5979, + "generated_offset": 457045, "length": 14 }, { "source": "parser.mbty", - "original_offset": 5882, - "generated_offset": 439278, + "original_offset": 6001, + "generated_offset": 457099, "length": 50 }, { "source": "parser.mbty", - "original_offset": 5934, - "generated_offset": 439336, + "original_offset": 6053, + "generated_offset": 457157, "length": 6 }, { "source": "parser.mbty", - "original_offset": 5631, - "generated_offset": 439649, + "original_offset": 5750, + "generated_offset": 457470, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5634, - "generated_offset": 439658, + "original_offset": 5753, + "generated_offset": 457479, "length": 1 }, { "source": "parser.mbty", "original_offset": 130, - "generated_offset": 439958, + "generated_offset": 457779, "length": 6 }, { "source": "parser.mbty", "original_offset": 138, - "generated_offset": 439972, + "generated_offset": 457793, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5977, - "generated_offset": 440607, + "original_offset": 6096, + "generated_offset": 458428, "length": 36 }, { "source": "parser.mbty", - "original_offset": 6015, - "generated_offset": 440651, + "original_offset": 6134, + "generated_offset": 458472, "length": 14 }, { "source": "parser.mbty", - "original_offset": 6037, - "generated_offset": 440705, + "original_offset": 6156, + "generated_offset": 458526, "length": 50 }, { "source": "parser.mbty", - "original_offset": 6089, - "generated_offset": 440763, + "original_offset": 6208, + "generated_offset": 458584, "length": 12 }, { "source": "parser.mbty", - "original_offset": 6103, - "generated_offset": 440783, + "original_offset": 6222, + "generated_offset": 458604, "length": 6 }, { "source": "parser.mbty", - "original_offset": 48731, - "generated_offset": 441807, + "original_offset": 49576, + "generated_offset": 459628, "length": 39 }, { "source": "parser.mbty", - "original_offset": 48772, - "generated_offset": 441854, + "original_offset": 49617, + "generated_offset": 459675, "length": 14 }, { "source": "parser.mbty", - "original_offset": 48794, - "generated_offset": 441908, + "original_offset": 49639, + "generated_offset": 459729, "length": 31 }, { "source": "parser.mbty", - "original_offset": 48827, - "generated_offset": 441947, + "original_offset": 49672, + "generated_offset": 459768, "length": 35 }, { "source": "parser.mbty", - "original_offset": 48864, - "generated_offset": 441990, + "original_offset": 49709, + "generated_offset": 459811, "length": 41 }, { "source": "parser.mbty", - "original_offset": 48907, - "generated_offset": 442039, + "original_offset": 49752, + "generated_offset": 459860, "length": 21 }, { "source": "parser.mbty", - "original_offset": 48933, - "generated_offset": 442089, + "original_offset": 49778, + "generated_offset": 459910, "length": 10 }, { "source": "parser.mbty", - "original_offset": 48731, - "generated_offset": 443117, + "original_offset": 49576, + "generated_offset": 460938, "length": 39 }, { "source": "parser.mbty", - "original_offset": 48772, - "generated_offset": 443164, + "original_offset": 49617, + "generated_offset": 460985, "length": 14 }, { "source": "parser.mbty", - "original_offset": 48794, - "generated_offset": 443218, + "original_offset": 49639, + "generated_offset": 461039, "length": 31 }, { "source": "parser.mbty", - "original_offset": 48827, - "generated_offset": 443257, + "original_offset": 49672, + "generated_offset": 461078, "length": 35 }, { "source": "parser.mbty", - "original_offset": 48864, - "generated_offset": 443300, + "original_offset": 49709, + "generated_offset": 461121, "length": 41 }, { "source": "parser.mbty", - "original_offset": 48907, - "generated_offset": 443349, + "original_offset": 49752, + "generated_offset": 461170, "length": 21 }, { "source": "parser.mbty", - "original_offset": 48933, - "generated_offset": 443399, + "original_offset": 49778, + "generated_offset": 461220, "length": 10 }, { "source": "parser.mbty", - "original_offset": 48731, - "generated_offset": 444427, + "original_offset": 49576, + "generated_offset": 462248, "length": 39 }, { "source": "parser.mbty", - "original_offset": 48772, - "generated_offset": 444474, + "original_offset": 49617, + "generated_offset": 462295, "length": 14 }, { "source": "parser.mbty", - "original_offset": 48794, - "generated_offset": 444528, + "original_offset": 49639, + "generated_offset": 462349, "length": 31 }, { "source": "parser.mbty", - "original_offset": 48827, - "generated_offset": 444567, + "original_offset": 49672, + "generated_offset": 462388, "length": 35 }, { "source": "parser.mbty", - "original_offset": 48864, - "generated_offset": 444610, + "original_offset": 49709, + "generated_offset": 462431, "length": 41 }, { "source": "parser.mbty", - "original_offset": 48907, - "generated_offset": 444659, + "original_offset": 49752, + "generated_offset": 462480, "length": 21 }, { "source": "parser.mbty", - "original_offset": 48933, - "generated_offset": 444709, + "original_offset": 49778, + "generated_offset": 462530, "length": 10 }, { "source": "parser.mbty", - "original_offset": 43209, - "generated_offset": 445133, + "original_offset": 44054, + "generated_offset": 462954, "length": 24 }, { "source": "parser.mbty", - "original_offset": 43238, - "generated_offset": 445186, + "original_offset": 44083, + "generated_offset": 463007, "length": 3 }, { "source": "parser.mbty", - "original_offset": 43243, - "generated_offset": 445197, + "original_offset": 44088, + "generated_offset": 463018, "length": 2 }, { "source": "parser.mbty", - "original_offset": 39723, - "generated_offset": 445832, + "original_offset": 40568, + "generated_offset": 463653, "length": 52 }, { "source": "parser.mbty", - "original_offset": 39783, - "generated_offset": 445924, + "original_offset": 40628, + "generated_offset": 463745, "length": 12 }, { "source": "parser.mbty", - "original_offset": 39797, - "generated_offset": 445944, + "original_offset": 40642, + "generated_offset": 463765, "length": 22 }, { "source": "parser.mbty", - "original_offset": 39827, - "generated_offset": 446006, + "original_offset": 40672, + "generated_offset": 463827, "length": 16 }, { "source": "parser.mbty", - "original_offset": 39848, - "generated_offset": 446051, + "original_offset": 40693, + "generated_offset": 463872, "length": 5 }, { "source": "parser.mbty", - "original_offset": 48446, - "generated_offset": 447074, + "original_offset": 49291, + "generated_offset": 464895, "length": 39 }, { "source": "parser.mbty", - "original_offset": 48487, - "generated_offset": 447121, + "original_offset": 49332, + "generated_offset": 464942, "length": 14 }, { "source": "parser.mbty", - "original_offset": 48509, - "generated_offset": 447175, + "original_offset": 49354, + "generated_offset": 464996, "length": 31 }, { "source": "parser.mbty", - "original_offset": 48542, - "generated_offset": 447214, + "original_offset": 49387, + "generated_offset": 465035, "length": 35 }, { "source": "parser.mbty", - "original_offset": 48579, - "generated_offset": 447257, + "original_offset": 49424, + "generated_offset": 465078, "length": 42 }, { "source": "parser.mbty", - "original_offset": 48623, - "generated_offset": 447307, + "original_offset": 49468, + "generated_offset": 465128, "length": 21 }, { "source": "parser.mbty", - "original_offset": 48649, - "generated_offset": 447357, + "original_offset": 49494, + "generated_offset": 465178, "length": 10 }, { "source": "parser.mbty", - "original_offset": 48446, - "generated_offset": 448385, + "original_offset": 49291, + "generated_offset": 466206, "length": 39 }, { "source": "parser.mbty", - "original_offset": 48487, - "generated_offset": 448432, + "original_offset": 49332, + "generated_offset": 466253, "length": 14 }, { "source": "parser.mbty", - "original_offset": 48509, - "generated_offset": 448486, + "original_offset": 49354, + "generated_offset": 466307, "length": 31 }, { "source": "parser.mbty", - "original_offset": 48542, - "generated_offset": 448525, + "original_offset": 49387, + "generated_offset": 466346, "length": 35 }, { "source": "parser.mbty", - "original_offset": 48579, - "generated_offset": 448568, + "original_offset": 49424, + "generated_offset": 466389, "length": 42 }, { "source": "parser.mbty", - "original_offset": 48623, - "generated_offset": 448618, + "original_offset": 49468, + "generated_offset": 466439, "length": 21 }, { "source": "parser.mbty", - "original_offset": 48649, - "generated_offset": 448668, + "original_offset": 49494, + "generated_offset": 466489, "length": 10 }, { "source": "parser.mbty", - "original_offset": 48446, - "generated_offset": 449696, + "original_offset": 49291, + "generated_offset": 467517, "length": 39 }, { "source": "parser.mbty", - "original_offset": 48487, - "generated_offset": 449743, + "original_offset": 49332, + "generated_offset": 467564, "length": 14 }, { "source": "parser.mbty", - "original_offset": 48509, - "generated_offset": 449797, + "original_offset": 49354, + "generated_offset": 467618, "length": 31 }, { "source": "parser.mbty", - "original_offset": 48542, - "generated_offset": 449836, + "original_offset": 49387, + "generated_offset": 467657, "length": 35 }, { "source": "parser.mbty", - "original_offset": 48579, - "generated_offset": 449879, + "original_offset": 49424, + "generated_offset": 467700, "length": 42 }, { "source": "parser.mbty", - "original_offset": 48623, - "generated_offset": 449929, + "original_offset": 49468, + "generated_offset": 467750, "length": 21 }, { "source": "parser.mbty", - "original_offset": 48649, - "generated_offset": 449979, + "original_offset": 49494, + "generated_offset": 467800, "length": 10 }, { "source": "parser.mbty", - "original_offset": 43437, - "generated_offset": 450359, + "original_offset": 44282, + "generated_offset": 468180, "length": 7 }, { "source": "parser.mbty", - "original_offset": 43446, - "generated_offset": 450374, + "original_offset": 44291, + "generated_offset": 468195, "length": 2 }, { "source": "parser.mbty", - "original_offset": 43450, - "generated_offset": 450384, + "original_offset": 44295, + "generated_offset": 468205, "length": 2 }, { "source": "parser.mbty", - "original_offset": 48988, - "generated_offset": 450989, + "original_offset": 49833, + "generated_offset": 468810, "length": 21 }, { "source": "parser.mbty", - "original_offset": 49011, - "generated_offset": 451018, + "original_offset": 49856, + "generated_offset": 468839, "length": 13 }, { "source": "parser.mbty", - "original_offset": 49026, - "generated_offset": 451039, + "original_offset": 49871, + "generated_offset": 468860, "length": 15 }, { "source": "parser.mbty", - "original_offset": 49046, - "generated_offset": 451083, + "original_offset": 49891, + "generated_offset": 468904, "length": 5 }, { "source": "parser.mbty", - "original_offset": 49462, - "generated_offset": 451724, + "original_offset": 50307, + "generated_offset": 469545, "length": 9 }, { "source": "parser.mbty", - "original_offset": 49473, - "generated_offset": 451741, + "original_offset": 50318, + "generated_offset": 469562, "length": 37 }, { "source": "parser.mbty", - "original_offset": 49518, - "generated_offset": 451818, + "original_offset": 50363, + "generated_offset": 469639, "length": 43 }, { "source": "parser.mbty", - "original_offset": 49563, - "generated_offset": 451869, + "original_offset": 50408, + "generated_offset": 469690, "length": 14 }, { "source": "parser.mbty", - "original_offset": 49582, - "generated_offset": 451912, + "original_offset": 50427, + "generated_offset": 469733, "length": 13 }, { "source": "parser.mbty", - "original_offset": 43437, - "generated_offset": 452295, + "original_offset": 44282, + "generated_offset": 470116, "length": 7 }, { "source": "parser.mbty", - "original_offset": 43446, - "generated_offset": 452310, + "original_offset": 44291, + "generated_offset": 470131, "length": 2 }, { "source": "parser.mbty", - "original_offset": 43450, - "generated_offset": 452320, + "original_offset": 44295, + "generated_offset": 470141, "length": 2 }, { "source": "parser.mbty", - "original_offset": 43484, - "generated_offset": 452615, + "original_offset": 44329, + "generated_offset": 470436, "length": 7 }, { "source": "parser.mbty", - "original_offset": 43493, - "generated_offset": 452630, + "original_offset": 44338, + "generated_offset": 470451, "length": 2 }, { "source": "parser.mbty", - "original_offset": 43497, - "generated_offset": 452640, + "original_offset": 44342, + "generated_offset": 470461, "length": 2 }, { "source": "parser.mbty", - "original_offset": 48085, - "generated_offset": 453150, + "original_offset": 48930, + "generated_offset": 470971, "length": 23 }, { "source": "parser.mbty", - "original_offset": 48110, - "generated_offset": 453181, + "original_offset": 48955, + "generated_offset": 471002, "length": 10 }, { "source": "parser.mbty", - "original_offset": 48122, - "generated_offset": 453199, + "original_offset": 48967, + "generated_offset": 471020, "length": 15 }, { "source": "parser.mbty", - "original_offset": 48142, - "generated_offset": 453243, + "original_offset": 48987, + "generated_offset": 471064, "length": 5 }, { "source": "parser.mbty", - "original_offset": 48204, - "generated_offset": 454149, + "original_offset": 49049, + "generated_offset": 471970, "length": 35 }, { "source": "parser.mbty", - "original_offset": 48241, - "generated_offset": 454192, + "original_offset": 49086, + "generated_offset": 472013, "length": 22 }, { "source": "parser.mbty", - "original_offset": 48265, - "generated_offset": 454222, + "original_offset": 49110, + "generated_offset": 472043, "length": 20 }, { "source": "parser.mbty", - "original_offset": 48287, - "generated_offset": 454250, + "original_offset": 49132, + "generated_offset": 472071, "length": 28 }, { "source": "parser.mbty", - "original_offset": 48323, - "generated_offset": 454318, + "original_offset": 49168, + "generated_offset": 472139, "length": 4 }, { "source": "parser.mbty", - "original_offset": 48335, - "generated_offset": 454362, + "original_offset": 49180, + "generated_offset": 472183, "length": 25 }, { "source": "parser.mbty", - "original_offset": 48365, - "generated_offset": 454416, + "original_offset": 49210, + "generated_offset": 472237, "length": 10 }, { "source": "parser.mbty", - "original_offset": 47985, - "generated_offset": 455103, + "original_offset": 48830, + "generated_offset": 472924, "length": 19 }, { "source": "parser.mbty", - "original_offset": 48006, - "generated_offset": 455130, + "original_offset": 48851, + "generated_offset": 472951, "length": 9 }, { "source": "parser.mbty", - "original_offset": 48017, - "generated_offset": 455147, + "original_offset": 48862, + "generated_offset": 472968, "length": 9 }, { "source": "parser.mbty", - "original_offset": 48028, - "generated_offset": 455164, + "original_offset": 48873, + "generated_offset": 472985, "length": 15 }, { "source": "parser.mbty", - "original_offset": 48048, - "generated_offset": 455208, + "original_offset": 48893, + "generated_offset": 473029, "length": 5 }, { "source": "parser.mbty", - "original_offset": 44084, - "generated_offset": 455389, + "original_offset": 44929, + "generated_offset": 473210, "length": 8 }, { "source": "parser.mbty", - "original_offset": 47985, - "generated_offset": 456074, + "original_offset": 48830, + "generated_offset": 473895, "length": 19 }, { "source": "parser.mbty", - "original_offset": 48006, - "generated_offset": 456101, + "original_offset": 48851, + "generated_offset": 473922, "length": 9 }, { "source": "parser.mbty", - "original_offset": 48017, - "generated_offset": 456118, + "original_offset": 48862, + "generated_offset": 473939, "length": 9 }, { "source": "parser.mbty", - "original_offset": 48028, - "generated_offset": 456135, + "original_offset": 48873, + "generated_offset": 473956, "length": 15 }, { "source": "parser.mbty", - "original_offset": 48048, - "generated_offset": 456179, + "original_offset": 48893, + "generated_offset": 474000, "length": 5 }, { "source": "parser.mbty", - "original_offset": 44103, - "generated_offset": 456368, + "original_offset": 44948, + "generated_offset": 474189, "length": 13 }, { "source": "parser.mbty", - "original_offset": 53248, - "generated_offset": 457060, + "original_offset": 54093, + "generated_offset": 474881, "length": 23 }, { "source": "parser.mbty", - "original_offset": 53279, - "generated_offset": 457123, + "original_offset": 54124, + "generated_offset": 474944, "length": 33 }, { "source": "parser.mbty", - "original_offset": 53314, - "generated_offset": 457164, + "original_offset": 54159, + "generated_offset": 474985, "length": 84 }, { "source": "parser.mbty", - "original_offset": 53400, - "generated_offset": 457256, + "original_offset": 54245, + "generated_offset": 475077, "length": 98 }, { "source": "parser.mbty", - "original_offset": 53506, - "generated_offset": 457394, + "original_offset": 54351, + "generated_offset": 475215, "length": 7 }, { "source": "parser.mbty", - "original_offset": 52442, - "generated_offset": 457750, + "original_offset": 53287, + "generated_offset": 475571, "length": 13 }, { "source": "parser.mbty", - "original_offset": 52460, - "generated_offset": 457792, + "original_offset": 53305, + "generated_offset": 475613, "length": 3 }, { "source": "parser.mbty", - "original_offset": 52543, - "generated_offset": 458449, + "original_offset": 53388, + "generated_offset": 476270, "length": 42 }, { "source": "parser.mbty", - "original_offset": 52587, - "generated_offset": 458499, + "original_offset": 53432, + "generated_offset": 476320, "length": 54 }, { "source": "parser.mbty", - "original_offset": 52643, - "generated_offset": 458561, + "original_offset": 53488, + "generated_offset": 476382, "length": 40 }, { "source": "parser.mbty", - "original_offset": 52685, - "generated_offset": 458609, + "original_offset": 53530, + "generated_offset": 476430, "length": 31 }, { "source": "parser.mbty", - "original_offset": 52718, - "generated_offset": 458648, + "original_offset": 53563, + "generated_offset": 476469, "length": 21 }, { "source": "parser.mbty", - "original_offset": 52471, - "generated_offset": 458843, + "original_offset": 53316, + "generated_offset": 476664, "length": 6 }, { "source": "parser.mbty", - "original_offset": 53087, - "generated_offset": 459374, + "original_offset": 53932, + "generated_offset": 477195, "length": 32 }, { "source": "parser.mbty", - "original_offset": 53121, - "generated_offset": 459414, + "original_offset": 53966, + "generated_offset": 477235, "length": 14 }, { "source": "parser.mbty", - "original_offset": 53143, - "generated_offset": 459468, + "original_offset": 53988, + "generated_offset": 477289, "length": 24 }, { "source": "parser.mbty", - "original_offset": 53169, - "generated_offset": 459500, + "original_offset": 54014, + "generated_offset": 477321, "length": 61 }, { "source": "parser.mbty", - "original_offset": 52812, - "generated_offset": 460139, + "original_offset": 53657, + "generated_offset": 477960, "length": 33 }, { "source": "parser.mbty", - "original_offset": 52847, - "generated_offset": 460180, + "original_offset": 53692, + "generated_offset": 478001, "length": 14 }, { "source": "parser.mbty", - "original_offset": 52869, - "generated_offset": 460234, + "original_offset": 53714, + "generated_offset": 478055, "length": 61 }, { "source": "parser.mbty", - "original_offset": 52938, - "generated_offset": 460335, + "original_offset": 53783, + "generated_offset": 478156, "length": 29 }, { "source": "parser.mbty", - "original_offset": 52969, - "generated_offset": 460372, + "original_offset": 53814, + "generated_offset": 478193, "length": 15 }, { "source": "parser.mbty", - "original_offset": 52992, - "generated_offset": 460427, + "original_offset": 53837, + "generated_offset": 478248, "length": 68 }, { "source": "parser.mbty", - "original_offset": 45193, - "generated_offset": 461080, + "original_offset": 46038, + "generated_offset": 478901, "length": 42 }, { "source": "parser.mbty", - "original_offset": 45237, - "generated_offset": 461130, + "original_offset": 46082, + "generated_offset": 478951, "length": 8 }, { "source": "parser.mbty", - "original_offset": 45247, - "generated_offset": 461146, + "original_offset": 46092, + "generated_offset": 478967, "length": 15 }, { "source": "parser.mbty", - "original_offset": 45267, - "generated_offset": 461190, + "original_offset": 46112, + "generated_offset": 479011, "length": 3 }, { "source": "parser.mbty", - "original_offset": 39212, - "generated_offset": 461960, + "original_offset": 40057, + "generated_offset": 479781, "length": 20 }, { "source": "parser.mbty", - "original_offset": 39234, - "generated_offset": 461988, + "original_offset": 40079, + "generated_offset": 479809, "length": 2 }, { "source": "parser.mbty", - "original_offset": 39238, - "generated_offset": 461998, + "original_offset": 40083, + "generated_offset": 479819, "length": 22 }, { "source": "parser.mbty", - "original_offset": 39268, - "generated_offset": 462060, + "original_offset": 40113, + "generated_offset": 479881, "length": 15 }, { "source": "parser.mbty", - "original_offset": 39291, - "generated_offset": 462115, + "original_offset": 40136, + "generated_offset": 479936, "length": 17 }, { "source": "parser.mbty", - "original_offset": 39313, - "generated_offset": 462161, + "original_offset": 40158, + "generated_offset": 479982, "length": 5 }, { "source": "parser.mbty", - "original_offset": 39378, - "generated_offset": 462865, + "original_offset": 40223, + "generated_offset": 480686, "length": 35 }, { "source": "parser.mbty", - "original_offset": 39415, - "generated_offset": 462908, + "original_offset": 40260, + "generated_offset": 480729, "length": 22 }, { "source": "parser.mbty", - "original_offset": 39445, - "generated_offset": 462970, + "original_offset": 40290, + "generated_offset": 480791, "length": 15 }, { "source": "parser.mbty", - "original_offset": 39468, - "generated_offset": 463025, + "original_offset": 40313, + "generated_offset": 480846, "length": 16 }, { "source": "parser.mbty", - "original_offset": 39489, - "generated_offset": 463070, + "original_offset": 40334, + "generated_offset": 480891, "length": 5 }, { "source": "parser.mbty", - "original_offset": 40613, - "generated_offset": 463490, + "original_offset": 41458, + "generated_offset": 481311, "length": 23 }, { "source": "parser.mbty", - "original_offset": 40638, - "generated_offset": 463521, + "original_offset": 41483, + "generated_offset": 481342, "length": 3 }, { "source": "parser.mbty", - "original_offset": 40613, - "generated_offset": 463939, + "original_offset": 41458, + "generated_offset": 481760, "length": 23 }, { "source": "parser.mbty", - "original_offset": 40638, - "generated_offset": 463970, + "original_offset": 41483, + "generated_offset": 481791, "length": 3 }, { "source": "parser.mbty", - "original_offset": 40761, - "generated_offset": 464386, + "original_offset": 41606, + "generated_offset": 482207, "length": 1 }, { "source": "parser.mbty", - "original_offset": 40764, - "generated_offset": 464395, + "original_offset": 41609, + "generated_offset": 482216, "length": 11 }, { "source": "parser.mbty", - "original_offset": 40777, - "generated_offset": 464414, + "original_offset": 41622, + "generated_offset": 482235, "length": 3 }, { "source": "parser.mbty", - "original_offset": 44383, - "generated_offset": 464835, + "original_offset": 45228, + "generated_offset": 482656, "length": 1 }, { "source": "parser.mbty", - "original_offset": 44386, - "generated_offset": 464844, + "original_offset": 45231, + "generated_offset": 482665, "length": 28 }, { "source": "parser.mbty", - "original_offset": 44416, - "generated_offset": 464880, + "original_offset": 45261, + "generated_offset": 482701, "length": 3 }, { "source": "parser.mbty", - "original_offset": 38714, - "generated_offset": 465956, + "original_offset": 39662, + "generated_offset": 483893, + "length": 34 + }, + { + "source": "parser.mbty", + "original_offset": 39698, + "generated_offset": 483935, + "length": 20 + }, + { + "source": "parser.mbty", + "original_offset": 39720, + "generated_offset": 483963, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 39745, + "generated_offset": 483994, + "length": 17 + }, + { + "source": "parser.mbty", + "original_offset": 39764, + "generated_offset": 484019, + "length": 42 + }, + { + "source": "parser.mbty", + "original_offset": 39808, + "generated_offset": 484069, + "length": 49 + }, + { + "source": "parser.mbty", + "original_offset": 39865, + "generated_offset": 484158, + "length": 57 + }, + { + "source": "parser.mbty", + "original_offset": 39927, + "generated_offset": 484244, + "length": 10 + }, + { + "source": "parser.mbty", + "original_offset": 39190, + "generated_offset": 485327, "length": 35 }, { "source": "parser.mbty", - "original_offset": 38751, - "generated_offset": 465999, + "original_offset": 39227, + "generated_offset": 485370, "length": 23 }, { "source": "parser.mbty", - "original_offset": 38776, - "generated_offset": 466030, + "original_offset": 39252, + "generated_offset": 485401, "length": 17 }, { "source": "parser.mbty", - "original_offset": 38795, - "generated_offset": 466055, + "original_offset": 39271, + "generated_offset": 485426, "length": 89 }, { "source": "parser.mbty", - "original_offset": 38892, - "generated_offset": 466184, + "original_offset": 39368, + "generated_offset": 485555, "length": 185 }, { "source": "parser.mbty", - "original_offset": 39082, - "generated_offset": 466398, + "original_offset": 39558, + "generated_offset": 485769, "length": 10 }, { "source": "parser.mbty", - "original_offset": 5218, - "generated_offset": 466654, + "original_offset": 5337, + "generated_offset": 486025, "length": 17 }, { "source": "parser.mbty", - "original_offset": 5237, - "generated_offset": 466679, + "original_offset": 5356, + "generated_offset": 486050, "length": 2 }, { "source": "parser.mbty", - "original_offset": 32313, - "generated_offset": 467117, + "original_offset": 32577, + "generated_offset": 486488, "length": 24 }, { "source": "parser.mbty", - "original_offset": 32339, - "generated_offset": 467149, + "original_offset": 32603, + "generated_offset": 486520, "length": 11 }, { "source": "parser.mbty", - "original_offset": 32352, - "generated_offset": 467168, + "original_offset": 32616, + "generated_offset": 486539, "length": 9 }, { "source": "parser.mbty", - "original_offset": 32363, - "generated_offset": 467185, + "original_offset": 32627, + "generated_offset": 486556, "length": 5 }, { "source": "parser.mbty", - "original_offset": 34876, - "generated_offset": 467846, + "original_offset": 35140, + "generated_offset": 487217, "length": 23 }, { "source": "parser.mbty", - "original_offset": 34901, - "generated_offset": 467877, + "original_offset": 35165, + "generated_offset": 487248, "length": 9 }, { "source": "parser.mbty", - "original_offset": 34912, - "generated_offset": 467894, + "original_offset": 35176, + "generated_offset": 487265, "length": 21 }, { "source": "parser.mbty", - "original_offset": 34941, - "generated_offset": 467955, + "original_offset": 35205, + "generated_offset": 487326, "length": 9 }, { "source": "parser.mbty", - "original_offset": 34952, - "generated_offset": 467972, + "original_offset": 35216, + "generated_offset": 487343, "length": 13 }, { "source": "parser.mbty", - "original_offset": 34970, - "generated_offset": 468014, + "original_offset": 35234, + "generated_offset": 487385, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5481, - "generated_offset": 468269, + "original_offset": 5600, + "generated_offset": 487640, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5484, - "generated_offset": 468278, + "original_offset": 5603, + "generated_offset": 487649, "length": 1 }, { "source": "parser.mbty", - "original_offset": 31245, - "generated_offset": 468951, + "original_offset": 35456, + "generated_offset": 488197, + "length": 28 + }, + { + "source": "parser.mbty", + "original_offset": 35486, + "generated_offset": 488233, + "length": 25 + }, + { + "source": "parser.mbty", + "original_offset": 35519, + "generated_offset": 488298, + "length": 37 + }, + { + "source": "parser.mbty", + "original_offset": 35558, + "generated_offset": 488343, + "length": 9 + }, + { + "source": "parser.mbty", + "original_offset": 31509, + "generated_offset": 489024, "length": 33 }, { "source": "parser.mbty", - "original_offset": 31280, - "generated_offset": 468992, + "original_offset": 31544, + "generated_offset": 489065, "length": 14 }, { "source": "parser.mbty", - "original_offset": 31302, - "generated_offset": 469046, + "original_offset": 31566, + "generated_offset": 489119, "length": 20 }, { "source": "parser.mbty", - "original_offset": 31324, - "generated_offset": 469074, + "original_offset": 31588, + "generated_offset": 489147, "length": 36 }, { "source": "parser.mbty", - "original_offset": 31365, - "generated_offset": 469139, + "original_offset": 31629, + "generated_offset": 489212, "length": 5 }, { "source": "parser.mbty", - "original_offset": 31398, - "generated_offset": 469587, + "original_offset": 31662, + "generated_offset": 489660, "length": 13 }, { "source": "parser.mbty", - "original_offset": 31413, - "generated_offset": 469608, + "original_offset": 31677, + "generated_offset": 489681, "length": 29 }, { "source": "parser.mbty", - "original_offset": 31447, - "generated_offset": 469666, + "original_offset": 31711, + "generated_offset": 489739, "length": 3 }, { "source": "parser.mbty", - "original_offset": 31509, - "generated_offset": 470363, + "original_offset": 31773, + "generated_offset": 490436, "length": 33 }, { "source": "parser.mbty", - "original_offset": 31544, - "generated_offset": 470404, + "original_offset": 31808, + "generated_offset": 490477, "length": 14 }, { "source": "parser.mbty", - "original_offset": 31566, - "generated_offset": 470458, + "original_offset": 31830, + "generated_offset": 490531, "length": 24 }, { "source": "parser.mbty", - "original_offset": 31592, - "generated_offset": 470490, + "original_offset": 31856, + "generated_offset": 490563, "length": 36 }, { "source": "parser.mbty", - "original_offset": 31633, - "generated_offset": 470555, + "original_offset": 31897, + "generated_offset": 490628, "length": 5 }, { "source": "parser.mbty", - "original_offset": 31686, - "generated_offset": 471025, + "original_offset": 31950, + "generated_offset": 491098, "length": 17 }, { "source": "parser.mbty", - "original_offset": 31705, - "generated_offset": 471050, + "original_offset": 31969, + "generated_offset": 491123, "length": 29 }, { "source": "parser.mbty", - "original_offset": 31739, - "generated_offset": 471108, + "original_offset": 32003, + "generated_offset": 491181, "length": 3 }, { "source": "parser.mbty", - "original_offset": 4438, - "generated_offset": 471368, + "original_offset": 4557, + "generated_offset": 491441, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4441, - "generated_offset": 471377, + "original_offset": 4560, + "generated_offset": 491450, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 471684, + "original_offset": 4013, + "generated_offset": 491757, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 471693, + "original_offset": 4016, + "generated_offset": 491766, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 471706, + "original_offset": 4023, + "generated_offset": 491779, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4002, - "generated_offset": 471963, + "original_offset": 4121, + "generated_offset": 492036, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4005, - "generated_offset": 471972, + "original_offset": 4124, + "generated_offset": 492045, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 472212, + "original_offset": 3950, + "generated_offset": 492285, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 472237, + "original_offset": 3969, + "generated_offset": 492310, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4379, - "generated_offset": 472421, + "original_offset": 4498, + "generated_offset": 492494, "length": 15 }, { "source": "parser.mbty", - "original_offset": 31771, - "generated_offset": 472876, + "original_offset": 32035, + "generated_offset": 492949, "length": 23 }, { "source": "parser.mbty", - "original_offset": 31796, - "generated_offset": 472907, + "original_offset": 32060, + "generated_offset": 492980, "length": 15 }, { "source": "parser.mbty", - "original_offset": 31816, - "generated_offset": 472951, + "original_offset": 32080, + "generated_offset": 493024, "length": 3 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 473176, + "generated_offset": 493249, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 473190, + "generated_offset": 493263, "length": 2 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 473365, + "generated_offset": 493438, "length": 6 }, { "source": "parser.mbty", - "original_offset": 31866, - "generated_offset": 473620, + "original_offset": 32130, + "generated_offset": 493693, "length": 1 }, { "source": "parser.mbty", - "original_offset": 31869, - "generated_offset": 473629, + "original_offset": 32133, + "generated_offset": 493702, "length": 1 }, { "source": "parser.mbty", - "original_offset": 32078, - "generated_offset": 474381, + "original_offset": 32342, + "generated_offset": 494454, "length": 31 }, { "source": "parser.mbty", - "original_offset": 32111, - "generated_offset": 474420, + "original_offset": 32375, + "generated_offset": 494493, "length": 20 }, { "source": "parser.mbty", - "original_offset": 32133, - "generated_offset": 474448, + "original_offset": 32397, + "generated_offset": 494521, "length": 21 }, { "source": "parser.mbty", - "original_offset": 32156, - "generated_offset": 474477, + "original_offset": 32420, + "generated_offset": 494550, "length": 16 }, { "source": "parser.mbty", - "original_offset": 32174, - "generated_offset": 474501, + "original_offset": 32438, + "generated_offset": 494574, "length": 21 }, { "source": "parser.mbty", - "original_offset": 32200, - "generated_offset": 474551, + "original_offset": 32464, + "generated_offset": 494624, "length": 10 }, { "source": "parser.mbty", - "original_offset": 36842, - "generated_offset": 475431, + "original_offset": 37318, + "generated_offset": 495504, "length": 24 }, { "source": "parser.mbty", - "original_offset": 36868, - "generated_offset": 475463, + "original_offset": 37344, + "generated_offset": 495536, "length": 15 }, { "source": "parser.mbty", - "original_offset": 36885, - "generated_offset": 475486, + "original_offset": 37361, + "generated_offset": 495559, "length": 16 }, { "source": "parser.mbty", - "original_offset": 36903, - "generated_offset": 475510, + "original_offset": 37379, + "generated_offset": 495583, "length": 26 }, { "source": "parser.mbty", - "original_offset": 36937, - "generated_offset": 475576, + "original_offset": 37413, + "generated_offset": 495649, "length": 22 }, { "source": "parser.mbty", - "original_offset": 36964, - "generated_offset": 475627, + "original_offset": 37440, + "generated_offset": 495700, "length": 10 }, { "source": "parser.mbty", - "original_offset": 34796, - "generated_offset": 475868, + "original_offset": 35060, + "generated_offset": 495941, "length": 1 }, { "source": "parser.mbty", - "original_offset": 34799, - "generated_offset": 475877, + "original_offset": 35063, + "generated_offset": 495950, "length": 1 }, { "source": "parser.mbty", - "original_offset": 37081, - "generated_offset": 476178, + "original_offset": 37557, + "generated_offset": 496251, "length": 1 }, { "source": "parser.mbty", - "original_offset": 37084, - "generated_offset": 476187, + "original_offset": 37560, + "generated_offset": 496260, "length": 1 }, { "source": "parser.mbty", - "original_offset": 37513, - "generated_offset": 477313, + "original_offset": 37989, + "generated_offset": 497386, "length": 26 }, { "source": "parser.mbty", - "original_offset": 37541, - "generated_offset": 477347, + "original_offset": 38017, + "generated_offset": 497420, "length": 20 }, { "source": "parser.mbty", - "original_offset": 37563, - "generated_offset": 477375, + "original_offset": 38039, + "generated_offset": 497448, "length": 25 }, { "source": "parser.mbty", - "original_offset": 37590, - "generated_offset": 477408, + "original_offset": 38066, + "generated_offset": 497481, "length": 15 }, { "source": "parser.mbty", - "original_offset": 37607, - "generated_offset": 477431, + "original_offset": 38083, + "generated_offset": 497504, "length": 19 }, { "source": "parser.mbty", - "original_offset": 37628, - "generated_offset": 477458, + "original_offset": 38104, + "generated_offset": 497531, "length": 16 }, { "source": "parser.mbty", - "original_offset": 37646, - "generated_offset": 477482, + "original_offset": 38122, + "generated_offset": 497555, "length": 21 }, { "source": "parser.mbty", - "original_offset": 37672, - "generated_offset": 477532, + "original_offset": 38148, + "generated_offset": 497605, "length": 24 }, { "source": "parser.mbty", - "original_offset": 37699, - "generated_offset": 477565, + "original_offset": 38175, + "generated_offset": 497638, "length": 9 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 477796, + "generated_offset": 497869, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 477810, + "generated_offset": 497883, "length": 2 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 477985, + "generated_offset": 498058, "length": 6 }, { "source": "parser.mbty", - "original_offset": 37255, - "generated_offset": 478479, + "original_offset": 37731, + "generated_offset": 498552, "length": 21 }, { "source": "parser.mbty", - "original_offset": 37278, - "generated_offset": 478508, + "original_offset": 37754, + "generated_offset": 498581, "length": 15 }, { "source": "parser.mbty", - "original_offset": 37298, - "generated_offset": 478552, + "original_offset": 37774, + "generated_offset": 498625, "length": 7 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 478812, + "original_offset": 4437, + "generated_offset": 498885, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 478821, + "original_offset": 4440, + "generated_offset": 498894, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 479217, + "original_offset": 4013, + "generated_offset": 499290, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 479226, + "original_offset": 4016, + "generated_offset": 499299, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 479239, + "original_offset": 4023, + "generated_offset": 499312, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 479516, + "original_offset": 4227, + "generated_offset": 499589, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 479525, + "original_offset": 4230, + "generated_offset": 499598, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 479849, + "original_offset": 3950, + "generated_offset": 499922, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 479874, + "original_offset": 3969, + "generated_offset": 499947, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 480062, + "original_offset": 4390, + "generated_offset": 500135, "length": 15 }, { "source": "parser.mbty", - "original_offset": 37797, - "generated_offset": 481015, + "original_offset": 38273, + "generated_offset": 501088, "length": 26 }, { "source": "parser.mbty", - "original_offset": 37825, - "generated_offset": 481049, + "original_offset": 38301, + "generated_offset": 501122, "length": 77 }, { "source": "parser.mbty", - "original_offset": 37904, - "generated_offset": 481134, + "original_offset": 38380, + "generated_offset": 501207, "length": 19 }, { "source": "parser.mbty", - "original_offset": 37925, - "generated_offset": 481161, + "original_offset": 38401, + "generated_offset": 501234, "length": 16 }, { "source": "parser.mbty", - "original_offset": 37943, - "generated_offset": 481185, + "original_offset": 38419, + "generated_offset": 501258, "length": 21 }, { "source": "parser.mbty", - "original_offset": 37969, - "generated_offset": 481235, + "original_offset": 38445, + "generated_offset": 501308, "length": 24 }, { "source": "parser.mbty", - "original_offset": 37995, - "generated_offset": 481267, + "original_offset": 38471, + "generated_offset": 501340, "length": 9 }, { "source": "parser.mbty", - "original_offset": 37312, - "generated_offset": 481452, + "original_offset": 37788, + "generated_offset": 501525, "length": 6 }, { "source": "parser.mbty", - "original_offset": 37138, - "generated_offset": 481692, + "original_offset": 37614, + "generated_offset": 501765, "length": 6 }, { "source": "parser.mbty", - "original_offset": 37146, - "generated_offset": 481706, + "original_offset": 37622, + "generated_offset": 501779, "length": 2 }, { "source": "parser.mbty", - "original_offset": 38133, - "generated_offset": 482566, + "original_offset": 38609, + "generated_offset": 502639, "length": 31 }, { "source": "parser.mbty", - "original_offset": 38166, - "generated_offset": 482605, + "original_offset": 38642, + "generated_offset": 502678, "length": 15 }, { "source": "parser.mbty", - "original_offset": 38183, - "generated_offset": 482628, + "original_offset": 38659, + "generated_offset": 502701, "length": 15 }, { "source": "parser.mbty", - "original_offset": 38200, - "generated_offset": 482651, + "original_offset": 38676, + "generated_offset": 502724, "length": 21 }, { "source": "parser.mbty", - "original_offset": 38223, - "generated_offset": 482680, + "original_offset": 38699, + "generated_offset": 502753, "length": 16 }, { "source": "parser.mbty", - "original_offset": 38241, - "generated_offset": 482704, + "original_offset": 38717, + "generated_offset": 502777, "length": 21 }, { "source": "parser.mbty", - "original_offset": 38267, - "generated_offset": 482754, + "original_offset": 38743, + "generated_offset": 502827, "length": 10 }, { "source": "parser.mbty", - "original_offset": 37156, - "generated_offset": 482934, + "original_offset": 37632, + "generated_offset": 503007, "length": 6 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 483269, + "original_offset": 3950, + "generated_offset": 503342, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 483294, + "original_offset": 3969, + "generated_offset": 503367, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4438, - "generated_offset": 483573, + "original_offset": 4557, + "generated_offset": 503646, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4441, - "generated_offset": 483582, + "original_offset": 4560, + "generated_offset": 503655, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 483856, + "original_offset": 4227, + "generated_offset": 503929, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 483865, + "original_offset": 4230, + "generated_offset": 503938, "length": 7 }, { "source": "parser.mbty", - "original_offset": 38322, - "generated_offset": 484173, + "original_offset": 38798, + "generated_offset": 504246, "length": 6 }, { "source": "parser.mbty", - "original_offset": 38330, - "generated_offset": 484187, + "original_offset": 38806, + "generated_offset": 504260, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38342, - "generated_offset": 484363, + "original_offset": 38818, + "generated_offset": 504436, "length": 6 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 484684, + "original_offset": 4013, + "generated_offset": 504757, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 484693, + "original_offset": 4016, + "generated_offset": 504766, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 484706, + "original_offset": 4023, + "generated_offset": 504779, "length": 2 }, { "source": "parser.mbty", - "original_offset": 27927, - "generated_offset": 484945, + "original_offset": 28191, + "generated_offset": 505018, "length": 14 }, { "source": "parser.mbty", - "original_offset": 27943, - "generated_offset": 484967, + "original_offset": 28207, + "generated_offset": 505040, "length": 2 }, { "source": "parser.mbty", - "original_offset": 27976, - "generated_offset": 485274, + "original_offset": 28240, + "generated_offset": 505347, "length": 11 }, { "source": "parser.mbty", - "original_offset": 27989, - "generated_offset": 485293, + "original_offset": 28253, + "generated_offset": 505366, "length": 7 }, { "source": "parser.mbty", - "original_offset": 27998, - "generated_offset": 485308, + "original_offset": 28262, + "generated_offset": 505381, "length": 2 }, { "source": "parser.mbty", - "original_offset": 31001, - "generated_offset": 485729, + "original_offset": 31265, + "generated_offset": 505802, "length": 19 }, { "source": "parser.mbty", - "original_offset": 31022, - "generated_offset": 485756, + "original_offset": 31286, + "generated_offset": 505829, "length": 15 }, { "source": "parser.mbty", - "original_offset": 31042, - "generated_offset": 485800, + "original_offset": 31306, + "generated_offset": 505873, "length": 3 }, { "source": "parser.mbty", - "original_offset": 31058, - "generated_offset": 486168, + "original_offset": 31322, + "generated_offset": 506241, "length": 19 }, { "source": "parser.mbty", - "original_offset": 31082, - "generated_offset": 486216, + "original_offset": 31346, + "generated_offset": 506289, "length": 16 }, { "source": "parser.mbty", - "original_offset": 31131, - "generated_offset": 486543, + "original_offset": 31395, + "generated_offset": 506616, "length": 1 }, { "source": "parser.mbty", - "original_offset": 31134, - "generated_offset": 486552, + "original_offset": 31398, + "generated_offset": 506625, "length": 1 }, { "source": "parser.mbty", - "original_offset": 30619, - "generated_offset": 487472, + "original_offset": 30883, + "generated_offset": 507545, "length": 23 }, { "source": "parser.mbty", - "original_offset": 30647, - "generated_offset": 487524, + "original_offset": 30911, + "generated_offset": 507597, "length": 12 }, { "source": "parser.mbty", - "original_offset": 30661, - "generated_offset": 487544, + "original_offset": 30925, + "generated_offset": 507617, "length": 41 }, { "source": "parser.mbty", - "original_offset": 30704, - "generated_offset": 487593, + "original_offset": 30968, + "generated_offset": 507666, "length": 20 }, { "source": "parser.mbty", - "original_offset": 30726, - "generated_offset": 487621, + "original_offset": 30990, + "generated_offset": 507694, "length": 75 }, { "source": "parser.mbty", - "original_offset": 30803, - "generated_offset": 487704, + "original_offset": 31067, + "generated_offset": 507777, "length": 20 }, { "source": "parser.mbty", - "original_offset": 30825, - "generated_offset": 487732, + "original_offset": 31089, + "generated_offset": 507805, "length": 59 }, { "source": "parser.mbty", - "original_offset": 30886, - "generated_offset": 487799, + "original_offset": 31150, + "generated_offset": 507872, "length": 24 }, { "source": "parser.mbty", - "original_offset": 30912, - "generated_offset": 487831, + "original_offset": 31176, + "generated_offset": 507904, "length": 16 }, { "source": "parser.mbty", - "original_offset": 51572, - "generated_offset": 488284, + "original_offset": 52417, + "generated_offset": 508357, "length": 27 }, { "source": "parser.mbty", - "original_offset": 51601, - "generated_offset": 488319, + "original_offset": 52446, + "generated_offset": 508392, "length": 15 }, { "source": "parser.mbty", - "original_offset": 51621, - "generated_offset": 488363, + "original_offset": 52466, + "generated_offset": 508436, "length": 4 }, { "source": "parser.mbty", - "original_offset": 31158, - "generated_offset": 488668, + "original_offset": 31422, + "generated_offset": 508741, "length": 1 }, { "source": "parser.mbty", - "original_offset": 31161, - "generated_offset": 488677, + "original_offset": 31425, + "generated_offset": 508750, "length": 1 }, { "source": "parser.mbty", - "original_offset": 30255, - "generated_offset": 489449, + "original_offset": 30519, + "generated_offset": 509522, "length": 23 }, { "source": "parser.mbty", - "original_offset": 30283, - "generated_offset": 489501, + "original_offset": 30547, + "generated_offset": 509574, "length": 12 }, { "source": "parser.mbty", - "original_offset": 30297, - "generated_offset": 489521, + "original_offset": 30561, + "generated_offset": 509594, "length": 41 }, { "source": "parser.mbty", - "original_offset": 30340, - "generated_offset": 489570, + "original_offset": 30604, + "generated_offset": 509643, "length": 93 }, { "source": "parser.mbty", - "original_offset": 30435, - "generated_offset": 489671, + "original_offset": 30699, + "generated_offset": 509744, "length": 87 }, { "source": "parser.mbty", - "original_offset": 30524, - "generated_offset": 489766, + "original_offset": 30788, + "generated_offset": 509839, "length": 16 }, { "source": "parser.mbty", - "original_offset": 31174, - "generated_offset": 489996, + "original_offset": 31438, + "generated_offset": 510069, "length": 1 }, { "source": "parser.mbty", - "original_offset": 31177, - "generated_offset": 490005, + "original_offset": 31441, + "generated_offset": 510078, "length": 1 }, { "source": "parser.mbty", - "original_offset": 39553, - "generated_offset": 490746, + "original_offset": 40398, + "generated_offset": 510819, "length": 43 }, { "source": "parser.mbty", - "original_offset": 39598, - "generated_offset": 490797, + "original_offset": 40443, + "generated_offset": 510870, "length": 11 }, { "source": "parser.mbty", - "original_offset": 39611, - "generated_offset": 490816, + "original_offset": 40456, + "generated_offset": 510889, "length": 22 }, { "source": "parser.mbty", - "original_offset": 39641, - "generated_offset": 490878, + "original_offset": 40486, + "generated_offset": 510951, "length": 16 }, { "source": "parser.mbty", - "original_offset": 39662, - "generated_offset": 490923, + "original_offset": 40507, + "generated_offset": 510996, "length": 5 }, { "source": "parser.mbty", - "original_offset": 31924, - "generated_offset": 491358, + "original_offset": 32188, + "generated_offset": 511431, "length": 22 }, { "source": "parser.mbty", - "original_offset": 31948, - "generated_offset": 491388, + "original_offset": 32212, + "generated_offset": 511461, "length": 15 }, { "source": "parser.mbty", - "original_offset": 31968, - "generated_offset": 491432, + "original_offset": 32232, + "generated_offset": 511505, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 491850, + "original_offset": 4013, + "generated_offset": 511923, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 491859, + "original_offset": 4016, + "generated_offset": 511932, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 491872, + "original_offset": 4023, + "generated_offset": 511945, "length": 2 }, { "source": "parser.mbty", "original_offset": 434, - "generated_offset": 492225, + "generated_offset": 512298, "length": 2 }, { "source": "parser.mbty", "original_offset": 438, - "generated_offset": 492235, + "generated_offset": 512308, "length": 2 }, { "source": "parser.mbty", "original_offset": 442, - "generated_offset": 492245, + "generated_offset": 512318, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4002, - "generated_offset": 492522, + "original_offset": 4121, + "generated_offset": 512595, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4005, - "generated_offset": 492531, + "original_offset": 4124, + "generated_offset": 512604, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 492777, + "original_offset": 3950, + "generated_offset": 512850, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 492802, + "original_offset": 3969, + "generated_offset": 512875, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4379, - "generated_offset": 492996, + "original_offset": 4498, + "generated_offset": 513069, "length": 15 }, { "source": "parser.mbty", - "original_offset": 32672, - "generated_offset": 493378, + "original_offset": 32936, + "generated_offset": 513451, "length": 16 }, { "source": "parser.mbty", - "original_offset": 32693, - "generated_offset": 493423, + "original_offset": 32957, + "generated_offset": 513496, "length": 3 }, { "source": "parser.mbty", - "original_offset": 32719, - "generated_offset": 493796, + "original_offset": 32983, + "generated_offset": 513869, "length": 15 }, { "source": "parser.mbty", - "original_offset": 32739, - "generated_offset": 493840, + "original_offset": 33003, + "generated_offset": 513913, "length": 3 }, { "source": "parser.mbty", - "original_offset": 32610, - "generated_offset": 494096, + "original_offset": 32874, + "generated_offset": 514169, "length": 1 }, { "source": "parser.mbty", - "original_offset": 32613, - "generated_offset": 494105, + "original_offset": 32877, + "generated_offset": 514178, "length": 1 }, { "source": "parser.mbty", - "original_offset": 33398, - "generated_offset": 495301, + "original_offset": 33662, + "generated_offset": 515374, "length": 35 }, { "source": "parser.mbty", - "original_offset": 33435, - "generated_offset": 495344, + "original_offset": 33699, + "generated_offset": 515417, "length": 20 }, { "source": "parser.mbty", - "original_offset": 33457, - "generated_offset": 495372, + "original_offset": 33721, + "generated_offset": 515445, "length": 23 }, { "source": "parser.mbty", - "original_offset": 33482, - "generated_offset": 495403, + "original_offset": 33746, + "generated_offset": 515476, "length": 17 }, { "source": "parser.mbty", - "original_offset": 33501, - "generated_offset": 495428, + "original_offset": 33765, + "generated_offset": 515501, "length": 42 }, { "source": "parser.mbty", - "original_offset": 33545, - "generated_offset": 495478, + "original_offset": 33809, + "generated_offset": 515551, "length": 48 }, { "source": "parser.mbty", - "original_offset": 33601, - "generated_offset": 495566, + "original_offset": 33865, + "generated_offset": 515639, "length": 57 }, { "source": "parser.mbty", - "original_offset": 33663, - "generated_offset": 495652, + "original_offset": 33927, + "generated_offset": 515725, "length": 10 }, { "source": "parser.mbty", - "original_offset": 32801, - "generated_offset": 496014, + "original_offset": 33065, + "generated_offset": 516087, "length": 8 }, { "source": "parser.mbty", - "original_offset": 32814, - "generated_offset": 496051, + "original_offset": 33078, + "generated_offset": 516124, "length": 2 }, { "source": "parser.mbty", - "original_offset": 32900, - "generated_offset": 497152, + "original_offset": 33164, + "generated_offset": 517225, "length": 35 }, { "source": "parser.mbty", - "original_offset": 32937, - "generated_offset": 497195, + "original_offset": 33201, + "generated_offset": 517268, "length": 23 }, { "source": "parser.mbty", - "original_offset": 32962, - "generated_offset": 497226, + "original_offset": 33226, + "generated_offset": 517299, "length": 17 }, { "source": "parser.mbty", - "original_offset": 32981, - "generated_offset": 497251, + "original_offset": 33245, + "generated_offset": 517324, "length": 88 }, { "source": "parser.mbty", - "original_offset": 33077, - "generated_offset": 497379, + "original_offset": 33341, + "generated_offset": 517452, "length": 206 }, { "source": "parser.mbty", - "original_offset": 33288, - "generated_offset": 497614, + "original_offset": 33552, + "generated_offset": 517687, "length": 10 }, { "source": "parser.mbty", - "original_offset": 5481, - "generated_offset": 497868, + "original_offset": 5600, + "generated_offset": 517941, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5484, - "generated_offset": 497877, + "original_offset": 5603, + "generated_offset": 517950, "length": 1 }, { "source": "parser.mbty", - "original_offset": 33697, - "generated_offset": 498446, + "original_offset": 33961, + "generated_offset": 518519, "length": 25 }, { "source": "parser.mbty", - "original_offset": 33724, - "generated_offset": 498479, + "original_offset": 33988, + "generated_offset": 518552, "length": 36 }, { "source": "parser.mbty", - "original_offset": 33768, - "generated_offset": 498555, + "original_offset": 34032, + "generated_offset": 518628, "length": 16 }, { "source": "parser.mbty", - "original_offset": 33789, - "generated_offset": 498600, + "original_offset": 34053, + "generated_offset": 518673, "length": 5 }, { "source": "parser.mbty", - "original_offset": 33818, - "generated_offset": 499175, + "original_offset": 34082, + "generated_offset": 519248, "length": 24 }, { "source": "parser.mbty", - "original_offset": 33844, - "generated_offset": 499207, + "original_offset": 34108, + "generated_offset": 519280, "length": 39 }, { "source": "parser.mbty", - "original_offset": 33891, - "generated_offset": 499286, + "original_offset": 34155, + "generated_offset": 519359, "length": 16 }, { "source": "parser.mbty", - "original_offset": 33912, - "generated_offset": 499331, + "original_offset": 34176, + "generated_offset": 519404, "length": 5 }, { "source": "parser.mbty", - "original_offset": 33990, - "generated_offset": 499917, + "original_offset": 34254, + "generated_offset": 519990, "length": 16 }, { "source": "parser.mbty", - "original_offset": 34008, - "generated_offset": 499941, + "original_offset": 34272, + "generated_offset": 520014, "length": 9 }, { "source": "parser.mbty", - "original_offset": 34019, - "generated_offset": 499958, + "original_offset": 34283, + "generated_offset": 520031, "length": 15 }, { "source": "parser.mbty", - "original_offset": 34036, - "generated_offset": 499981, + "original_offset": 34300, + "generated_offset": 520054, "length": 16 }, { "source": "parser.mbty", - "original_offset": 34057, - "generated_offset": 500026, + "original_offset": 34321, + "generated_offset": 520099, "length": 5 }, { "source": "parser.mbty", - "original_offset": 34111, - "generated_offset": 500609, + "original_offset": 34375, + "generated_offset": 520682, "length": 16 }, { "source": "parser.mbty", - "original_offset": 34129, - "generated_offset": 500633, + "original_offset": 34393, + "generated_offset": 520706, "length": 9 }, { "source": "parser.mbty", - "original_offset": 34140, - "generated_offset": 500650, + "original_offset": 34404, + "generated_offset": 520723, "length": 15 }, { "source": "parser.mbty", - "original_offset": 34157, - "generated_offset": 500673, + "original_offset": 34421, + "generated_offset": 520746, "length": 16 }, { "source": "parser.mbty", - "original_offset": 34178, - "generated_offset": 500718, + "original_offset": 34442, + "generated_offset": 520791, "length": 5 }, { "source": "parser.mbty", - "original_offset": 34217, - "generated_offset": 501239, + "original_offset": 34481, + "generated_offset": 521312, "length": 16 }, { "source": "parser.mbty", - "original_offset": 34235, - "generated_offset": 501263, + "original_offset": 34499, + "generated_offset": 521336, "length": 9 }, { "source": "parser.mbty", - "original_offset": 34246, - "generated_offset": 501280, + "original_offset": 34510, + "generated_offset": 521353, "length": 29 }, { "source": "parser.mbty", - "original_offset": 34280, - "generated_offset": 501338, + "original_offset": 34544, + "generated_offset": 521411, "length": 5 }, { "source": "parser.mbty", - "original_offset": 34341, - "generated_offset": 501575, + "original_offset": 34605, + "generated_offset": 521648, "length": 1 }, { "source": "parser.mbty", - "original_offset": 34344, - "generated_offset": 501584, + "original_offset": 34608, + "generated_offset": 521657, "length": 1 }, { "source": "parser.mbty", - "original_offset": 34435, - "generated_offset": 502327, + "original_offset": 34699, + "generated_offset": 522400, "length": 17 }, { "source": "parser.mbty", - "original_offset": 34454, - "generated_offset": 502352, + "original_offset": 34718, + "generated_offset": 522425, "length": 39 }, { "source": "parser.mbty", - "original_offset": 34495, - "generated_offset": 502399, + "original_offset": 34759, + "generated_offset": 522472, "length": 27 }, { "source": "parser.mbty", - "original_offset": 34530, - "generated_offset": 502466, + "original_offset": 34794, + "generated_offset": 522539, "length": 22 }, { "source": "parser.mbty", - "original_offset": 34557, - "generated_offset": 502517, + "original_offset": 34821, + "generated_offset": 522590, "length": 10 }, { "source": "parser.mbty", - "original_offset": 34591, - "generated_offset": 503189, + "original_offset": 34855, + "generated_offset": 523262, "length": 17 }, { "source": "parser.mbty", - "original_offset": 34610, - "generated_offset": 503214, + "original_offset": 34874, + "generated_offset": 523287, "length": 79 }, { "source": "parser.mbty", - "original_offset": 34697, - "generated_offset": 503333, + "original_offset": 34961, + "generated_offset": 523406, "length": 22 }, { "source": "parser.mbty", - "original_offset": 34724, - "generated_offset": 503384, + "original_offset": 34988, + "generated_offset": 523457, "length": 10 }, { "source": "parser.mbty", - "original_offset": 35192, - "generated_offset": 503912, + "original_offset": 35622, + "generated_offset": 524077, "length": 28 }, { "source": "parser.mbty", - "original_offset": 35222, - "generated_offset": 503948, + "original_offset": 35652, + "generated_offset": 524113, "length": 25 }, { "source": "parser.mbty", - "original_offset": 35255, - "generated_offset": 504013, + "original_offset": 35685, + "generated_offset": 524178, + "length": 23 + }, + { + "source": "parser.mbty", + "original_offset": 35710, + "generated_offset": 524209, "length": 16 }, { "source": "parser.mbty", - "original_offset": 35273, - "generated_offset": 504037, + "original_offset": 35728, + "generated_offset": 524233, "length": 9 }, { "source": "parser.mbty", - "original_offset": 35295, - "generated_offset": 504620, + "original_offset": 35750, + "generated_offset": 524845, "length": 68 }, { "source": "parser.mbty", - "original_offset": 35368, - "generated_offset": 504717, + "original_offset": 35823, + "generated_offset": 524942, "length": 53 }, { "source": "parser.mbty", - "original_offset": 35426, - "generated_offset": 504799, - "length": 32 + "original_offset": 35881, + "generated_offset": 525024, + "length": 53 }, { "source": "parser.mbty", - "original_offset": 35463, - "generated_offset": 504860, + "original_offset": 35939, + "generated_offset": 525106, "length": 22 }, { "source": "parser.mbty", - "original_offset": 5277, - "generated_offset": 505193, + "original_offset": 5396, + "generated_offset": 525439, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5280, - "generated_offset": 505202, + "original_offset": 5399, + "generated_offset": 525448, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5287, - "generated_offset": 505215, + "original_offset": 5406, + "generated_offset": 525461, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5218, - "generated_offset": 505469, + "original_offset": 5337, + "generated_offset": 525715, "length": 17 }, { "source": "parser.mbty", - "original_offset": 5237, - "generated_offset": 505494, + "original_offset": 5356, + "generated_offset": 525740, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5435, - "generated_offset": 505681, + "original_offset": 5554, + "generated_offset": 525927, "length": 15 }, { "source": "parser.mbty", - "original_offset": 35044, - "generated_offset": 505971, + "original_offset": 35308, + "generated_offset": 526217, "length": 6 }, { "source": "parser.mbty", - "original_offset": 35052, - "generated_offset": 505985, + "original_offset": 35316, + "generated_offset": 526231, "length": 10 }, { "source": "parser.mbty", - "original_offset": 35108, - "generated_offset": 506408, + "original_offset": 35372, + "generated_offset": 526654, "length": 6 }, { "source": "parser.mbty", - "original_offset": 35116, - "generated_offset": 506422, + "original_offset": 35380, + "generated_offset": 526668, "length": 7 }, { "source": "parser.mbty", - "original_offset": 35125, - "generated_offset": 506437, + "original_offset": 35389, + "generated_offset": 526683, "length": 5 }, { "source": "parser.mbty", - "original_offset": 38383, - "generated_offset": 506661, + "original_offset": 38859, + "generated_offset": 526907, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38386, - "generated_offset": 506670, + "original_offset": 38862, + "generated_offset": 526916, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38403, - "generated_offset": 506889, + "original_offset": 38879, + "generated_offset": 527135, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38406, - "generated_offset": 506898, + "original_offset": 38882, + "generated_offset": 527144, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38427, - "generated_offset": 507121, + "original_offset": 38903, + "generated_offset": 527367, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38430, - "generated_offset": 507130, + "original_offset": 38906, + "generated_offset": 527376, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38449, - "generated_offset": 507351, + "original_offset": 38925, + "generated_offset": 527597, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38452, - "generated_offset": 507360, + "original_offset": 38928, + "generated_offset": 527606, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38469, - "generated_offset": 507579, + "original_offset": 38945, + "generated_offset": 527825, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38472, - "generated_offset": 507588, + "original_offset": 38948, + "generated_offset": 527834, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38488, - "generated_offset": 507806, + "original_offset": 38964, + "generated_offset": 528052, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38491, - "generated_offset": 507815, + "original_offset": 38967, + "generated_offset": 528061, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38510, - "generated_offset": 508036, + "original_offset": 38986, + "generated_offset": 528282, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38513, - "generated_offset": 508045, + "original_offset": 38989, + "generated_offset": 528291, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38535, - "generated_offset": 508269, + "original_offset": 39011, + "generated_offset": 528515, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38538, - "generated_offset": 508278, + "original_offset": 39014, + "generated_offset": 528524, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38562, - "generated_offset": 508504, + "original_offset": 39038, + "generated_offset": 528750, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38565, - "generated_offset": 508513, + "original_offset": 39041, + "generated_offset": 528759, "length": 1 }, { "source": "parser.mbty", - "original_offset": 38587, - "generated_offset": 508932, + "original_offset": 39063, + "generated_offset": 529178, "length": 17 }, { "source": "parser.mbty", - "original_offset": 38606, - "generated_offset": 508957, + "original_offset": 39082, + "generated_offset": 529203, "length": 15 }, { "source": "parser.mbty", - "original_offset": 38626, - "generated_offset": 509001, + "original_offset": 39102, + "generated_offset": 529247, "length": 3 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 509302, + "generated_offset": 529548, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 509316, + "generated_offset": 529562, "length": 2 }, { "source": "parser.mbty", "original_offset": 495, - "generated_offset": 509529, + "generated_offset": 529775, "length": 1 }, { "source": "parser.mbty", "original_offset": 498, - "generated_offset": 509538, + "generated_offset": 529784, "length": 1 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 509712, + "generated_offset": 529958, "length": 6 }, { "source": "parser.mbty", - "original_offset": 32381, - "generated_offset": 510241, + "original_offset": 32645, + "generated_offset": 530487, "length": 57 }, { "source": "parser.mbty", - "original_offset": 32443, - "generated_offset": 510327, + "original_offset": 32707, + "generated_offset": 530573, "length": 58 }, { "source": "parser.mbty", - "original_offset": 32506, - "generated_offset": 510414, + "original_offset": 32770, + "generated_offset": 530660, "length": 25 }, { "source": "parser.mbty", - "original_offset": 5277, - "generated_offset": 510741, + "original_offset": 5396, + "generated_offset": 530987, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5280, - "generated_offset": 510750, + "original_offset": 5399, + "generated_offset": 530996, "length": 5 }, { "source": "parser.mbty", - "original_offset": 5287, - "generated_offset": 510763, + "original_offset": 5406, + "generated_offset": 531009, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5435, - "generated_offset": 510947, + "original_offset": 5554, + "generated_offset": 531193, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41015, - "generated_offset": 512017, + "original_offset": 41860, + "generated_offset": 532263, "length": 29 }, { "source": "parser.mbty", - "original_offset": 41052, - "generated_offset": 512086, + "original_offset": 41897, + "generated_offset": 532332, "length": 26 }, { "source": "parser.mbty", - "original_offset": 41086, - "generated_offset": 512152, + "original_offset": 41931, + "generated_offset": 532398, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41109, - "generated_offset": 512207, + "original_offset": 41954, + "generated_offset": 532453, "length": 55 }, { "source": "parser.mbty", - "original_offset": 41166, - "generated_offset": 512270, + "original_offset": 42011, + "generated_offset": 532516, "length": 11 }, { "source": "parser.mbty", - "original_offset": 41179, - "generated_offset": 512289, + "original_offset": 42024, + "generated_offset": 532535, "length": 94 }, { "source": "parser.mbty", - "original_offset": 41275, - "generated_offset": 512391, + "original_offset": 42120, + "generated_offset": 532637, "length": 21 }, { "source": "parser.mbty", - "original_offset": 41301, - "generated_offset": 512441, + "original_offset": 42146, + "generated_offset": 532687, "length": 5 }, { "source": "parser.mbty", - "original_offset": 40916, - "generated_offset": 512947, + "original_offset": 41761, + "generated_offset": 533193, "length": 17 }, { "source": "parser.mbty", - "original_offset": 40935, - "generated_offset": 512972, + "original_offset": 41780, + "generated_offset": 533218, "length": 8 }, { "source": "parser.mbty", - "original_offset": 40945, - "generated_offset": 512988, + "original_offset": 41790, + "generated_offset": 533234, "length": 15 }, { "source": "parser.mbty", - "original_offset": 40965, - "generated_offset": 513032, + "original_offset": 41810, + "generated_offset": 533278, "length": 5 }, { "source": "parser.mbty", - "original_offset": 39109, - "generated_offset": 513256, + "original_offset": 39954, + "generated_offset": 533502, "length": 1 }, { "source": "parser.mbty", - "original_offset": 39112, - "generated_offset": 513265, + "original_offset": 39957, + "generated_offset": 533511, "length": 1 }, { "source": "parser.mbty", - "original_offset": 40669, - "generated_offset": 513650, + "original_offset": 41514, + "generated_offset": 533896, "length": 32 }, { "source": "parser.mbty", - "original_offset": 40709, - "generated_offset": 513722, + "original_offset": 41554, + "generated_offset": 533968, "length": 4 }, { "source": "parser.mbty", - "original_offset": 40669, - "generated_offset": 514110, + "original_offset": 41514, + "generated_offset": 534356, "length": 32 }, { "source": "parser.mbty", - "original_offset": 40709, - "generated_offset": 514182, + "original_offset": 41554, + "generated_offset": 534428, "length": 4 }, { "source": "parser.mbty", - "original_offset": 40825, - "generated_offset": 514568, + "original_offset": 41670, + "generated_offset": 534814, "length": 1 }, { "source": "parser.mbty", - "original_offset": 40828, - "generated_offset": 514577, + "original_offset": 41673, + "generated_offset": 534823, "length": 20 }, { "source": "parser.mbty", - "original_offset": 40856, - "generated_offset": 514637, + "original_offset": 41701, + "generated_offset": 534883, "length": 4 }, { "source": "parser.mbty", - "original_offset": 44468, - "generated_offset": 515039, + "original_offset": 45313, + "generated_offset": 535285, "length": 1 }, { "source": "parser.mbty", - "original_offset": 44471, - "generated_offset": 515048, + "original_offset": 45316, + "generated_offset": 535294, "length": 29 }, { "source": "parser.mbty", - "original_offset": 44508, - "generated_offset": 515117, + "original_offset": 45353, + "generated_offset": 535363, "length": 23 }, { "source": "parser.mbty", - "original_offset": 45299, - "generated_offset": 515698, + "original_offset": 46144, + "generated_offset": 535944, "length": 37 }, { "source": "parser.mbty", - "original_offset": 45344, - "generated_offset": 515775, + "original_offset": 46189, + "generated_offset": 536021, "length": 28 }, { "source": "parser.mbty", - "original_offset": 45374, - "generated_offset": 515811, + "original_offset": 46219, + "generated_offset": 536057, "length": 15 }, { "source": "parser.mbty", - "original_offset": 45394, - "generated_offset": 515855, + "original_offset": 46239, + "generated_offset": 536101, "length": 3 }, { "source": "parser.mbty", - "original_offset": 40000, - "generated_offset": 516259, + "original_offset": 40845, + "generated_offset": 536505, "length": 33 }, { "source": "parser.mbty", - "original_offset": 40041, - "generated_offset": 516332, + "original_offset": 40886, + "generated_offset": 536578, "length": 11 }, { "source": "parser.mbty", - "original_offset": 39936, - "generated_offset": 516775, + "original_offset": 40781, + "generated_offset": 537021, "length": 24 }, { "source": "parser.mbty", - "original_offset": 39962, - "generated_offset": 516807, + "original_offset": 40807, + "generated_offset": 537053, "length": 10 }, { "source": "parser.mbty", - "original_offset": 39936, - "generated_offset": 517249, + "original_offset": 40781, + "generated_offset": 537495, "length": 24 }, { "source": "parser.mbty", - "original_offset": 39962, - "generated_offset": 517281, + "original_offset": 40807, + "generated_offset": 537527, "length": 10 }, { "source": "parser.mbty", - "original_offset": 40261, - "generated_offset": 517716, + "original_offset": 41106, + "generated_offset": 537962, "length": 1 }, { "source": "parser.mbty", - "original_offset": 40264, - "generated_offset": 517725, + "original_offset": 41109, + "generated_offset": 537971, "length": 12 }, { "source": "parser.mbty", - "original_offset": 40278, - "generated_offset": 517745, + "original_offset": 41123, + "generated_offset": 537991, "length": 10 }, { "source": "parser.mbty", - "original_offset": 40093, - "generated_offset": 518244, + "original_offset": 40938, + "generated_offset": 538490, "length": 24 }, { "source": "parser.mbty", - "original_offset": 40119, - "generated_offset": 518276, + "original_offset": 40964, + "generated_offset": 538522, "length": 8 }, { "source": "parser.mbty", - "original_offset": 40129, - "generated_offset": 518292, + "original_offset": 40974, + "generated_offset": 538538, "length": 4 }, { "source": "parser.mbty", - "original_offset": 40093, - "generated_offset": 518785, + "original_offset": 40938, + "generated_offset": 539031, "length": 24 }, { "source": "parser.mbty", - "original_offset": 40119, - "generated_offset": 518817, + "original_offset": 40964, + "generated_offset": 539063, "length": 8 }, { "source": "parser.mbty", - "original_offset": 40129, - "generated_offset": 518833, + "original_offset": 40974, + "generated_offset": 539079, "length": 4 }, { "source": "parser.mbty", - "original_offset": 40406, - "generated_offset": 519319, + "original_offset": 41251, + "generated_offset": 539565, "length": 1 }, { "source": "parser.mbty", - "original_offset": 40409, - "generated_offset": 519328, + "original_offset": 41254, + "generated_offset": 539574, "length": 12 }, { "source": "parser.mbty", - "original_offset": 40423, - "generated_offset": 519348, + "original_offset": 41268, + "generated_offset": 539594, "length": 8 }, { "source": "parser.mbty", - "original_offset": 40433, - "generated_offset": 519364, + "original_offset": 41278, + "generated_offset": 539610, "length": 4 }, { "source": "parser.mbty", - "original_offset": 40000, - "generated_offset": 519769, + "original_offset": 40845, + "generated_offset": 540015, "length": 33 }, { "source": "parser.mbty", - "original_offset": 40041, - "generated_offset": 519842, + "original_offset": 40886, + "generated_offset": 540088, "length": 11 }, { "source": "parser.mbty", - "original_offset": 40319, - "generated_offset": 520247, + "original_offset": 41164, + "generated_offset": 540493, "length": 1 }, { "source": "parser.mbty", - "original_offset": 40322, - "generated_offset": 520256, + "original_offset": 41167, + "generated_offset": 540502, "length": 21 }, { "source": "parser.mbty", - "original_offset": 40351, - "generated_offset": 520317, + "original_offset": 41196, + "generated_offset": 540563, "length": 11 }, { "source": "parser.mbty", - "original_offset": 40171, - "generated_offset": 520786, + "original_offset": 41016, + "generated_offset": 541032, "length": 33 }, { "source": "parser.mbty", - "original_offset": 40212, - "generated_offset": 520859, + "original_offset": 41057, + "generated_offset": 541105, "length": 9 }, { "source": "parser.mbty", - "original_offset": 40223, - "generated_offset": 520876, + "original_offset": 41068, + "generated_offset": 541122, "length": 4 }, { "source": "parser.mbty", - "original_offset": 40171, - "generated_offset": 521338, + "original_offset": 41016, + "generated_offset": 541584, "length": 33 }, { "source": "parser.mbty", - "original_offset": 40212, - "generated_offset": 521411, + "original_offset": 41057, + "generated_offset": 541657, "length": 9 }, { "source": "parser.mbty", - "original_offset": 40223, - "generated_offset": 521428, + "original_offset": 41068, + "generated_offset": 541674, "length": 4 }, { "source": "parser.mbty", - "original_offset": 40478, - "generated_offset": 521883, + "original_offset": 41323, + "generated_offset": 542129, "length": 1 }, { "source": "parser.mbty", - "original_offset": 40481, - "generated_offset": 521892, + "original_offset": 41326, + "generated_offset": 542138, "length": 21 }, { "source": "parser.mbty", - "original_offset": 40510, - "generated_offset": 521953, + "original_offset": 41355, + "generated_offset": 542199, "length": 9 }, { "source": "parser.mbty", - "original_offset": 40521, - "generated_offset": 521970, + "original_offset": 41366, + "generated_offset": 542216, "length": 4 }, { "source": "parser.mbty", - "original_offset": 47985, - "generated_offset": 522651, + "original_offset": 48830, + "generated_offset": 542897, "length": 19 }, { "source": "parser.mbty", - "original_offset": 48006, - "generated_offset": 522678, + "original_offset": 48851, + "generated_offset": 542924, "length": 9 }, { "source": "parser.mbty", - "original_offset": 48017, - "generated_offset": 522695, + "original_offset": 48862, + "generated_offset": 542941, "length": 9 }, { "source": "parser.mbty", - "original_offset": 48028, - "generated_offset": 522712, + "original_offset": 48873, + "generated_offset": 542958, "length": 15 }, { "source": "parser.mbty", - "original_offset": 48048, - "generated_offset": 522756, + "original_offset": 48893, + "generated_offset": 543002, "length": 5 }, { "source": "parser.mbty", - "original_offset": 44127, - "generated_offset": 522942, + "original_offset": 44972, + "generated_offset": 543188, "length": 10 }, { "source": "parser.mbty", - "original_offset": 43400, - "generated_offset": 523250, + "original_offset": 44245, + "generated_offset": 543496, "length": 5 }, { "source": "parser.mbty", - "original_offset": 43407, - "generated_offset": 523263, + "original_offset": 44252, + "generated_offset": 543509, "length": 2 }, { "source": "parser.mbty", - "original_offset": 50363, - "generated_offset": 523681, + "original_offset": 51208, + "generated_offset": 543927, "length": 14 }, { "source": "parser.mbty", - "original_offset": 50379, - "generated_offset": 523703, + "original_offset": 51224, + "generated_offset": 543949, "length": 14 }, { "source": "parser.mbty", - "original_offset": 50398, - "generated_offset": 523746, + "original_offset": 51243, + "generated_offset": 543992, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 524384, + "original_offset": 42234, + "generated_offset": 544630, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 524409, + "original_offset": 42253, + "generated_offset": 544655, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 524425, + "original_offset": 42263, + "generated_offset": 544671, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 524441, + "original_offset": 42273, + "generated_offset": 544687, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 524485, + "original_offset": 42293, + "generated_offset": 544731, "length": 5 }, { "source": "parser.mbty", - "original_offset": 51667, - "generated_offset": 524913, + "original_offset": 52512, + "generated_offset": 545159, "length": 27 }, { "source": "parser.mbty", - "original_offset": 51696, - "generated_offset": 524948, + "original_offset": 52541, + "generated_offset": 545194, "length": 15 }, { "source": "parser.mbty", - "original_offset": 51716, - "generated_offset": 524992, + "original_offset": 52561, + "generated_offset": 545238, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 525630, + "original_offset": 42234, + "generated_offset": 545876, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 525655, + "original_offset": 42253, + "generated_offset": 545901, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 525671, + "original_offset": 42263, + "generated_offset": 545917, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 525687, + "original_offset": 42273, + "generated_offset": 545933, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 525731, + "original_offset": 42293, + "generated_offset": 545977, "length": 5 }, { "source": "parser.mbty", - "original_offset": 51734, - "generated_offset": 526159, + "original_offset": 52579, + "generated_offset": 546405, "length": 27 }, { "source": "parser.mbty", - "original_offset": 51763, - "generated_offset": 526194, + "original_offset": 52608, + "generated_offset": 546440, "length": 15 }, { "source": "parser.mbty", - "original_offset": 51783, - "generated_offset": 526238, + "original_offset": 52628, + "generated_offset": 546484, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 526876, + "original_offset": 42234, + "generated_offset": 547122, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 526901, + "original_offset": 42253, + "generated_offset": 547147, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 526917, + "original_offset": 42263, + "generated_offset": 547163, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 526933, + "original_offset": 42273, + "generated_offset": 547179, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 526977, + "original_offset": 42293, + "generated_offset": 547223, "length": 5 }, { "source": "parser.mbty", - "original_offset": 51801, - "generated_offset": 527405, + "original_offset": 52646, + "generated_offset": 547651, "length": 27 }, { "source": "parser.mbty", - "original_offset": 51830, - "generated_offset": 527440, + "original_offset": 52675, + "generated_offset": 547686, "length": 15 }, { "source": "parser.mbty", - "original_offset": 51850, - "generated_offset": 527484, + "original_offset": 52695, + "generated_offset": 547730, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 528122, + "original_offset": 42234, + "generated_offset": 548368, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 528147, + "original_offset": 42253, + "generated_offset": 548393, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 528163, + "original_offset": 42263, + "generated_offset": 548409, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 528179, + "original_offset": 42273, + "generated_offset": 548425, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 528223, + "original_offset": 42293, + "generated_offset": 548469, "length": 5 }, { "source": "parser.mbty", - "original_offset": 51868, - "generated_offset": 528651, + "original_offset": 52713, + "generated_offset": 548897, "length": 27 }, { "source": "parser.mbty", - "original_offset": 51897, - "generated_offset": 528686, + "original_offset": 52742, + "generated_offset": 548932, "length": 15 }, { "source": "parser.mbty", - "original_offset": 51917, - "generated_offset": 528730, + "original_offset": 52762, + "generated_offset": 548976, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 529368, + "original_offset": 42234, + "generated_offset": 549614, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 529393, + "original_offset": 42253, + "generated_offset": 549639, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 529409, + "original_offset": 42263, + "generated_offset": 549655, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 529425, + "original_offset": 42273, + "generated_offset": 549671, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 529469, + "original_offset": 42293, + "generated_offset": 549715, "length": 5 }, { "source": "parser.mbty", - "original_offset": 51933, - "generated_offset": 529851, + "original_offset": 52778, + "generated_offset": 550097, "length": 45 }, { "source": "parser.mbty", - "original_offset": 51983, - "generated_offset": 529925, + "original_offset": 52828, + "generated_offset": 550171, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 530563, + "original_offset": 42234, + "generated_offset": 550809, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 530588, + "original_offset": 42253, + "generated_offset": 550834, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 530604, + "original_offset": 42263, + "generated_offset": 550850, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 530620, + "original_offset": 42273, + "generated_offset": 550866, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 530664, + "original_offset": 42293, + "generated_offset": 550910, "length": 5 }, { "source": "parser.mbty", - "original_offset": 52000, - "generated_offset": 531047, + "original_offset": 52845, + "generated_offset": 551293, "length": 45 }, { "source": "parser.mbty", - "original_offset": 52050, - "generated_offset": 531121, + "original_offset": 52895, + "generated_offset": 551367, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 531759, + "original_offset": 42234, + "generated_offset": 552005, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 531784, + "original_offset": 42253, + "generated_offset": 552030, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 531800, + "original_offset": 42263, + "generated_offset": 552046, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 531816, + "original_offset": 42273, + "generated_offset": 552062, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 531860, + "original_offset": 42293, + "generated_offset": 552106, "length": 5 }, { "source": "parser.mbty", - "original_offset": 52067, - "generated_offset": 532243, + "original_offset": 52912, + "generated_offset": 552489, "length": 45 }, { "source": "parser.mbty", - "original_offset": 52117, - "generated_offset": 532317, + "original_offset": 52962, + "generated_offset": 552563, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 532955, + "original_offset": 42234, + "generated_offset": 553201, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 532980, + "original_offset": 42253, + "generated_offset": 553226, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 532996, + "original_offset": 42263, + "generated_offset": 553242, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 533012, + "original_offset": 42273, + "generated_offset": 553258, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 533056, + "original_offset": 42293, + "generated_offset": 553302, "length": 5 }, { "source": "parser.mbty", - "original_offset": 52134, - "generated_offset": 533439, + "original_offset": 52979, + "generated_offset": 553685, "length": 45 }, { "source": "parser.mbty", - "original_offset": 52184, - "generated_offset": 533513, + "original_offset": 53029, + "generated_offset": 553759, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 534151, + "original_offset": 42234, + "generated_offset": 554397, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 534176, + "original_offset": 42253, + "generated_offset": 554422, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 534192, + "original_offset": 42263, + "generated_offset": 554438, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 534208, + "original_offset": 42273, + "generated_offset": 554454, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 534252, + "original_offset": 42293, + "generated_offset": 554498, "length": 5 }, { "source": "parser.mbty", - "original_offset": 52199, - "generated_offset": 534633, + "original_offset": 53044, + "generated_offset": 554879, "length": 45 }, { "source": "parser.mbty", - "original_offset": 52249, - "generated_offset": 534707, + "original_offset": 53094, + "generated_offset": 554953, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 535345, + "original_offset": 42234, + "generated_offset": 555591, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 535370, + "original_offset": 42253, + "generated_offset": 555616, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 535386, + "original_offset": 42263, + "generated_offset": 555632, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 535402, + "original_offset": 42273, + "generated_offset": 555648, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 535446, + "original_offset": 42293, + "generated_offset": 555692, "length": 5 }, { "source": "parser.mbty", - "original_offset": 52271, - "generated_offset": 535835, + "original_offset": 53116, + "generated_offset": 556081, "length": 46 }, { "source": "parser.mbty", - "original_offset": 52322, - "generated_offset": 535910, + "original_offset": 53167, + "generated_offset": 556156, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41389, - "generated_offset": 536548, + "original_offset": 42234, + "generated_offset": 556794, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41408, - "generated_offset": 536573, + "original_offset": 42253, + "generated_offset": 556819, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41418, - "generated_offset": 536589, + "original_offset": 42263, + "generated_offset": 556835, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41428, - "generated_offset": 536605, + "original_offset": 42273, + "generated_offset": 556851, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41448, - "generated_offset": 536649, + "original_offset": 42293, + "generated_offset": 556895, "length": 5 }, { "source": "parser.mbty", - "original_offset": 52340, - "generated_offset": 537034, + "original_offset": 53185, + "generated_offset": 557280, "length": 46 }, { "source": "parser.mbty", - "original_offset": 52391, - "generated_offset": 537109, + "original_offset": 53236, + "generated_offset": 557355, "length": 4 }, { "source": "parser.mbty", - "original_offset": 41324, - "generated_offset": 537333, + "original_offset": 42169, + "generated_offset": 557579, "length": 1 }, { "source": "parser.mbty", - "original_offset": 41327, - "generated_offset": 537342, + "original_offset": 42172, + "generated_offset": 557588, "length": 1 }, { "source": "parser.mbty", - "original_offset": 41473, - "generated_offset": 537565, + "original_offset": 42318, + "generated_offset": 557811, "length": 1 }, { "source": "parser.mbty", - "original_offset": 41476, - "generated_offset": 537574, + "original_offset": 42321, + "generated_offset": 557820, "length": 1 }, { "source": "parser.mbty", - "original_offset": 41536, - "generated_offset": 538082, + "original_offset": 42381, + "generated_offset": 558328, "length": 16 }, { "source": "parser.mbty", - "original_offset": 41554, - "generated_offset": 538106, + "original_offset": 42399, + "generated_offset": 558352, "length": 11 }, { "source": "parser.mbty", - "original_offset": 41567, - "generated_offset": 538125, + "original_offset": 42412, + "generated_offset": 558371, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41587, - "generated_offset": 538169, + "original_offset": 42432, + "generated_offset": 558415, "length": 5 }, { "source": "parser.mbty", - "original_offset": 41629, - "generated_offset": 538681, + "original_offset": 42474, + "generated_offset": 558927, "length": 16 }, { "source": "parser.mbty", - "original_offset": 41647, - "generated_offset": 538705, + "original_offset": 42492, + "generated_offset": 558951, "length": 8 }, { "source": "parser.mbty", - "original_offset": 41657, - "generated_offset": 538721, + "original_offset": 42502, + "generated_offset": 558967, "length": 15 }, { "source": "parser.mbty", - "original_offset": 41677, - "generated_offset": 538765, + "original_offset": 42522, + "generated_offset": 559011, "length": 5 }, { "source": "parser.mbty", - "original_offset": 56297, - "generated_offset": 539171, + "original_offset": 57142, + "generated_offset": 559417, "length": 63 }, { "source": "parser.mbty", - "original_offset": 56365, - "generated_offset": 539263, + "original_offset": 57210, + "generated_offset": 559509, "length": 3 }, { "source": "parser.mbty", - "original_offset": 56400, - "generated_offset": 539685, + "original_offset": 57245, + "generated_offset": 559931, "length": 64 }, { "source": "parser.mbty", - "original_offset": 56469, - "generated_offset": 539778, + "original_offset": 57314, + "generated_offset": 560024, "length": 3 }, { "source": "parser.mbty", - "original_offset": 56508, - "generated_offset": 540307, + "original_offset": 57353, + "generated_offset": 560553, "length": 32 }, { "source": "parser.mbty", - "original_offset": 56542, - "generated_offset": 540347, + "original_offset": 57387, + "generated_offset": 560593, "length": 46 }, { "source": "parser.mbty", - "original_offset": 56593, - "generated_offset": 540422, + "original_offset": 57438, + "generated_offset": 560668, "length": 5 }, { "source": "parser.mbty", - "original_offset": 56637, - "generated_offset": 540953, + "original_offset": 57482, + "generated_offset": 561199, "length": 31 }, { "source": "parser.mbty", - "original_offset": 56670, - "generated_offset": 540992, + "original_offset": 57515, + "generated_offset": 561238, "length": 42 }, { "source": "parser.mbty", - "original_offset": 56717, - "generated_offset": 541063, + "original_offset": 57562, + "generated_offset": 561309, "length": 5 }, { "source": "parser.mbty", - "original_offset": 62501, - "generated_offset": 541354, + "original_offset": 64232, + "generated_offset": 561600, "length": 2 }, { "source": "parser.mbty", - "original_offset": 62505, - "generated_offset": 541364, + "original_offset": 64236, + "generated_offset": 561610, "length": 8 }, { "source": "parser.mbty", - "original_offset": 62588, - "generated_offset": 541686, + "original_offset": 64319, + "generated_offset": 561932, "length": 2 }, { "source": "parser.mbty", - "original_offset": 62592, - "generated_offset": 541696, + "original_offset": 64323, + "generated_offset": 561942, "length": 9 }, { "source": "parser.mbty", - "original_offset": 63079, - "generated_offset": 541990, + "original_offset": 64810, + "generated_offset": 562236, "length": 2 }, { "source": "parser.mbty", - "original_offset": 63083, - "generated_offset": 542000, + "original_offset": 64814, + "generated_offset": 562246, "length": 8 }, { "source": "parser.mbty", - "original_offset": 63161, - "generated_offset": 542321, + "original_offset": 64892, + "generated_offset": 562567, "length": 2 }, { "source": "parser.mbty", - "original_offset": 63165, - "generated_offset": 542331, + "original_offset": 64896, + "generated_offset": 562577, "length": 9 }, { "source": "parser.mbty", - "original_offset": 62664, - "generated_offset": 542654, + "original_offset": 64395, + "generated_offset": 562900, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62667, - "generated_offset": 542663, + "original_offset": 64398, + "generated_offset": 562909, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62764, - "generated_offset": 543231, + "original_offset": 64495, + "generated_offset": 563477, "length": 37 }, { "source": "parser.mbty", - "original_offset": 62806, - "generated_offset": 543297, + "original_offset": 64537, + "generated_offset": 563543, "length": 3 }, { "source": "parser.mbty", - "original_offset": 62811, - "generated_offset": 543308, + "original_offset": 64542, + "generated_offset": 563554, "length": 2 }, { "source": "parser.mbty", - "original_offset": 62815, - "generated_offset": 543318, + "original_offset": 64546, + "generated_offset": 563564, "length": 9 }, { "source": "parser.mbty", - "original_offset": 62689, - "generated_offset": 543634, + "original_offset": 64420, + "generated_offset": 563880, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62692, - "generated_offset": 543643, + "original_offset": 64423, + "generated_offset": 563889, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62877, - "generated_offset": 544195, + "original_offset": 64608, + "generated_offset": 564441, "length": 37 }, { "source": "parser.mbty", - "original_offset": 62919, - "generated_offset": 544261, + "original_offset": 64650, + "generated_offset": 564507, "length": 3 }, { "source": "parser.mbty", - "original_offset": 62924, - "generated_offset": 544272, + "original_offset": 64655, + "generated_offset": 564518, "length": 36 }, { "source": "parser.mbty", - "original_offset": 62965, - "generated_offset": 544337, + "original_offset": 64696, + "generated_offset": 564583, "length": 3 }, { "source": "parser.mbty", - "original_offset": 62970, - "generated_offset": 544348, + "original_offset": 64701, + "generated_offset": 564594, "length": 9 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 544675, + "original_offset": 4013, + "generated_offset": 564921, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 544684, + "original_offset": 4016, + "generated_offset": 564930, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 544697, + "original_offset": 4023, + "generated_offset": 564943, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4216, - "generated_offset": 544966, + "original_offset": 4335, + "generated_offset": 565212, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4219, - "generated_offset": 544975, + "original_offset": 4338, + "generated_offset": 565221, "length": 7 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 545257, + "original_offset": 4227, + "generated_offset": 565503, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 545266, + "original_offset": 4230, + "generated_offset": 565512, "length": 7 }, { "source": "parser.mbty", - "original_offset": 51300, - "generated_offset": 545506, + "original_offset": 52145, + "generated_offset": 565752, "length": 1 }, { "source": "parser.mbty", - "original_offset": 51303, - "generated_offset": 545515, + "original_offset": 52148, + "generated_offset": 565761, "length": 1 }, { "source": "parser.mbty", - "original_offset": 51321, - "generated_offset": 545757, + "original_offset": 52166, + "generated_offset": 566003, "length": 16 }, { "source": "parser.mbty", - "original_offset": 51339, - "generated_offset": 545781, + "original_offset": 52184, + "generated_offset": 566027, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51361, - "generated_offset": 546030, + "original_offset": 52206, + "generated_offset": 566276, "length": 19 }, { "source": "parser.mbty", - "original_offset": 51382, - "generated_offset": 546057, + "original_offset": 52227, + "generated_offset": 566303, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51403, - "generated_offset": 546304, + "original_offset": 52248, + "generated_offset": 566550, "length": 18 }, { "source": "parser.mbty", - "original_offset": 51423, - "generated_offset": 546330, + "original_offset": 52268, + "generated_offset": 566576, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 546733, + "original_offset": 4013, + "generated_offset": 566979, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 546742, + "original_offset": 4016, + "generated_offset": 566988, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 546755, + "original_offset": 4023, + "generated_offset": 567001, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4216, - "generated_offset": 547028, + "original_offset": 4335, + "generated_offset": 567274, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4219, - "generated_offset": 547037, + "original_offset": 4338, + "generated_offset": 567283, "length": 7 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 547323, + "original_offset": 4227, + "generated_offset": 567569, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 547332, + "original_offset": 4230, + "generated_offset": 567578, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 547580, + "original_offset": 3950, + "generated_offset": 567826, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 547605, + "original_offset": 3969, + "generated_offset": 567851, "length": 2 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 547806, + "generated_offset": 568052, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 547820, + "generated_offset": 568066, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 548143, + "original_offset": 3950, + "generated_offset": 568389, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 548168, + "original_offset": 3969, + "generated_offset": 568414, "length": 2 }, { "source": "parser.mbty", - "original_offset": 63260, - "generated_offset": 548969, + "original_offset": 64991, + "generated_offset": 569215, "length": 31 }, { "source": "parser.mbty", - "original_offset": 63293, - "generated_offset": 549008, + "original_offset": 65024, + "generated_offset": 569254, "length": 13 }, { "source": "parser.mbty", - "original_offset": 63308, - "generated_offset": 549029, + "original_offset": 65039, + "generated_offset": 569275, "length": 22 }, { "source": "parser.mbty", - "original_offset": 63332, - "generated_offset": 549059, + "original_offset": 65063, + "generated_offset": 569305, "length": 35 }, { "source": "parser.mbty", - "original_offset": 63375, - "generated_offset": 549134, + "original_offset": 65106, + "generated_offset": 569380, "length": 21 }, { "source": "parser.mbty", - "original_offset": 63401, - "generated_offset": 549184, + "original_offset": 65132, + "generated_offset": 569430, "length": 10 }, { "source": "parser.mbty", - "original_offset": 56243, - "generated_offset": 549634, + "original_offset": 57088, + "generated_offset": 569880, "length": 14 }, { "source": "parser.mbty", - "original_offset": 56259, - "generated_offset": 549656, + "original_offset": 57104, + "generated_offset": 569902, "length": 15 }, { "source": "parser.mbty", - "original_offset": 56279, - "generated_offset": 549700, + "original_offset": 57124, + "generated_offset": 569946, "length": 3 }, { "source": "parser.mbty", - "original_offset": 57282, - "generated_offset": 550018, + "original_offset": 58127, + "generated_offset": 570264, "length": 8 }, { "source": "parser.mbty", - "original_offset": 57292, - "generated_offset": 550034, + "original_offset": 58137, + "generated_offset": 570280, "length": 2 }, { "source": "parser.mbty", - "original_offset": 57310, - "generated_offset": 550227, + "original_offset": 58155, + "generated_offset": 570473, "length": 12 }, { "source": "parser.mbty", - "original_offset": 57346, - "generated_offset": 550561, + "original_offset": 58191, + "generated_offset": 570807, "length": 10 }, { "source": "parser.mbty", - "original_offset": 57358, - "generated_offset": 550579, + "original_offset": 58203, + "generated_offset": 570825, "length": 2 }, { "source": "parser.mbty", - "original_offset": 57372, - "generated_offset": 550766, + "original_offset": 58217, + "generated_offset": 571012, "length": 10 }, { "source": "parser.mbty", - "original_offset": 57556, - "generated_offset": 551248, + "original_offset": 58401, + "generated_offset": 571494, "length": 12 }, { "source": "parser.mbty", - "original_offset": 57570, - "generated_offset": 551268, + "original_offset": 58415, + "generated_offset": 571514, "length": 37 }, { "source": "parser.mbty", - "original_offset": 57609, - "generated_offset": 551313, + "original_offset": 58454, + "generated_offset": 571559, "length": 43 }, { "source": "parser.mbty", - "original_offset": 57654, - "generated_offset": 551364, + "original_offset": 58499, + "generated_offset": 571610, "length": 19 }, { "source": "parser.mbty", - "original_offset": 57479, - "generated_offset": 551652, + "original_offset": 58324, + "generated_offset": 571898, "length": 24 }, { "source": "parser.mbty", - "original_offset": 57505, - "generated_offset": 551684, + "original_offset": 58350, + "generated_offset": 571930, "length": 3 }, { "source": "parser.mbty", - "original_offset": 57739, - "generated_offset": 552054, + "original_offset": 58584, + "generated_offset": 572300, "length": 21 }, { "source": "parser.mbty", - "original_offset": 57762, - "generated_offset": 552083, + "original_offset": 58607, + "generated_offset": 572329, "length": 2 }, { "source": "parser.mbty", - "original_offset": 57766, - "generated_offset": 552093, + "original_offset": 58611, + "generated_offset": 572339, "length": 2 }, { "source": "parser.mbty", - "original_offset": 56776, - "generated_offset": 552332, + "original_offset": 57621, + "generated_offset": 572578, "length": 9 }, { "source": "parser.mbty", - "original_offset": 56787, - "generated_offset": 552349, + "original_offset": 57632, + "generated_offset": 572595, "length": 2 }, { "source": "parser.mbty", - "original_offset": 56005, - "generated_offset": 552582, + "original_offset": 56850, + "generated_offset": 572828, "length": 1 }, { "source": "parser.mbty", - "original_offset": 56008, - "generated_offset": 552591, + "original_offset": 56853, + "generated_offset": 572837, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 552831, + "original_offset": 3950, + "generated_offset": 573077, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 552856, + "original_offset": 3969, + "generated_offset": 573102, "length": 2 }, { "source": "parser.mbty", - "original_offset": 56067, - "generated_offset": 553390, + "original_offset": 56912, + "generated_offset": 573636, "length": 41 }, { "source": "parser.mbty", - "original_offset": 56113, - "generated_offset": 553460, + "original_offset": 56958, + "generated_offset": 573706, "length": 3 }, { "source": "parser.mbty", - "original_offset": 56118, - "generated_offset": 553471, + "original_offset": 56963, + "generated_offset": 573717, "length": 5 }, { "source": "parser.mbty", - "original_offset": 56125, - "generated_offset": 553484, + "original_offset": 56970, + "generated_offset": 573730, "length": 3 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 553760, + "original_offset": 4227, + "generated_offset": 574006, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 553769, + "original_offset": 4230, + "generated_offset": 574015, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 554091, + "original_offset": 4013, + "generated_offset": 574337, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 554100, + "original_offset": 4016, + "generated_offset": 574346, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 554113, + "original_offset": 4023, + "generated_offset": 574359, "length": 2 }, { "source": "parser.mbty", - "original_offset": 56157, - "generated_offset": 554677, + "original_offset": 57002, + "generated_offset": 574923, "length": 18 }, { "source": "parser.mbty", - "original_offset": 56177, - "generated_offset": 554703, + "original_offset": 57022, + "generated_offset": 574949, "length": 7 }, { "source": "parser.mbty", - "original_offset": 56186, - "generated_offset": 554718, + "original_offset": 57031, + "generated_offset": 574964, "length": 15 }, { "source": "parser.mbty", - "original_offset": 56206, - "generated_offset": 554762, + "original_offset": 57051, + "generated_offset": 575008, "length": 3 }, { "source": "parser.mbty", - "original_offset": 5573, - "generated_offset": 554983, + "original_offset": 5692, + "generated_offset": 575229, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5576, - "generated_offset": 554992, + "original_offset": 5695, + "generated_offset": 575238, "length": 1 }, { "source": "parser.mbty", - "original_offset": 55530, - "generated_offset": 555743, + "original_offset": 56375, + "generated_offset": 575989, "length": 34 }, { "source": "parser.mbty", - "original_offset": 55566, - "generated_offset": 555785, + "original_offset": 56411, + "generated_offset": 576031, "length": 135 }, { "source": "parser.mbty", - "original_offset": 55706, - "generated_offset": 555949, + "original_offset": 56551, + "generated_offset": 576195, "length": 3 }, { "source": "parser.mbty", - "original_offset": 55711, - "generated_offset": 555960, + "original_offset": 56556, + "generated_offset": 576206, "length": 19 }, { "source": "parser.mbty", - "original_offset": 63506, - "generated_offset": 556276, + "original_offset": 65237, + "generated_offset": 576522, "length": 18 }, { "source": "parser.mbty", - "original_offset": 63526, - "generated_offset": 556302, + "original_offset": 65257, + "generated_offset": 576548, "length": 10 }, { "source": "parser.mbty", - "original_offset": 63950, - "generated_offset": 556776, + "original_offset": 65681, + "generated_offset": 577022, "length": 33 }, { "source": "parser.mbty", - "original_offset": 63985, - "generated_offset": 556817, + "original_offset": 65716, + "generated_offset": 577063, "length": 23 }, { "source": "parser.mbty", - "original_offset": 64010, - "generated_offset": 556848, + "original_offset": 65741, + "generated_offset": 577094, "length": 10 }, { "source": "parser.mbty", - "original_offset": 55907, - "generated_offset": 557582, + "original_offset": 56752, + "generated_offset": 577828, "length": 37 }, { "source": "parser.mbty", - "original_offset": 55946, - "generated_offset": 557627, + "original_offset": 56791, + "generated_offset": 577873, "length": 9 }, { "source": "parser.mbty", - "original_offset": 55957, - "generated_offset": 557644, + "original_offset": 56802, + "generated_offset": 577890, "length": 15 }, { "source": "parser.mbty", - "original_offset": 55977, - "generated_offset": 557688, + "original_offset": 56822, + "generated_offset": 577934, "length": 5 }, { "source": "parser.mbty", "original_offset": 613, - "generated_offset": 557934, + "generated_offset": 578180, "length": 1 }, { "source": "parser.mbty", "original_offset": 616, - "generated_offset": 557943, + "generated_offset": 578189, "length": 1 }, { "source": "parser.mbty", - "original_offset": 63791, - "generated_offset": 558224, + "original_offset": 65522, + "generated_offset": 578470, "length": 17 }, { "source": "parser.mbty", - "original_offset": 63810, - "generated_offset": 558249, + "original_offset": 65541, + "generated_offset": 578495, "length": 2 }, { "source": "parser.mbty", - "original_offset": 53868, - "generated_offset": 558817, + "original_offset": 54713, + "generated_offset": 579063, "length": 41 }, { "source": "parser.mbty", - "original_offset": 53914, - "generated_offset": 558887, + "original_offset": 54759, + "generated_offset": 579133, "length": 3 }, { "source": "parser.mbty", - "original_offset": 53919, - "generated_offset": 558898, + "original_offset": 54764, + "generated_offset": 579144, "length": 2 }, { "source": "parser.mbty", - "original_offset": 53923, - "generated_offset": 558908, + "original_offset": 54768, + "generated_offset": 579154, "length": 2 }, { "source": "parser.mbty", - "original_offset": 64267, - "generated_offset": 559242, + "original_offset": 65998, + "generated_offset": 579488, "length": 33 }, { "source": "parser.mbty", - "original_offset": 64302, - "generated_offset": 559283, + "original_offset": 66033, + "generated_offset": 579529, "length": 33 }, { "source": "parser.mbty", - "original_offset": 53943, - "generated_offset": 559542, + "original_offset": 54788, + "generated_offset": 579788, "length": 1 }, { "source": "parser.mbty", - "original_offset": 53946, - "generated_offset": 559551, + "original_offset": 54791, + "generated_offset": 579797, "length": 1 }, { "source": "parser.mbty", - "original_offset": 54010, - "generated_offset": 560042, + "original_offset": 54855, + "generated_offset": 580288, "length": 11 }, { "source": "parser.mbty", - "original_offset": 54023, - "generated_offset": 560061, + "original_offset": 54868, + "generated_offset": 580307, "length": 9 }, { "source": "parser.mbty", - "original_offset": 54034, - "generated_offset": 560078, + "original_offset": 54879, + "generated_offset": 580324, "length": 15 }, { "source": "parser.mbty", - "original_offset": 54054, - "generated_offset": 560122, + "original_offset": 54899, + "generated_offset": 580368, "length": 3 }, { "source": "parser.mbty", - "original_offset": 54078, - "generated_offset": 560354, + "original_offset": 54923, + "generated_offset": 580600, "length": 1 }, { "source": "parser.mbty", - "original_offset": 54081, - "generated_offset": 560363, + "original_offset": 54926, + "generated_offset": 580609, "length": 1 }, { "source": "parser.mbty", - "original_offset": 54155, - "generated_offset": 560878, + "original_offset": 55000, + "generated_offset": 581124, "length": 13 }, { "source": "parser.mbty", - "original_offset": 54170, - "generated_offset": 560899, + "original_offset": 55015, + "generated_offset": 581145, "length": 8 }, { "source": "parser.mbty", - "original_offset": 54180, - "generated_offset": 560915, + "original_offset": 55025, + "generated_offset": 581161, "length": 31 }, { "source": "parser.mbty", - "original_offset": 54216, - "generated_offset": 560975, + "original_offset": 55061, + "generated_offset": 581221, "length": 3 }, { "source": "parser.mbty", - "original_offset": 43892, - "generated_offset": 561689, + "original_offset": 44737, + "generated_offset": 581935, "length": 53 }, { "source": "parser.mbty", - "original_offset": 43947, - "generated_offset": 561750, + "original_offset": 44792, + "generated_offset": 581996, "length": 14 }, { "source": "parser.mbty", - "original_offset": 43969, - "generated_offset": 561804, + "original_offset": 44814, + "generated_offset": 582050, "length": 32 }, { "source": "parser.mbty", - "original_offset": 44003, - "generated_offset": 561844, + "original_offset": 44848, + "generated_offset": 582090, "length": 21 }, { "source": "parser.mbty", - "original_offset": 44029, - "generated_offset": 561894, + "original_offset": 44874, + "generated_offset": 582140, "length": 10 }, { "source": "parser.mbty", - "original_offset": 54262, - "generated_offset": 562418, + "original_offset": 55107, + "generated_offset": 582664, "length": 13 }, { "source": "parser.mbty", - "original_offset": 54277, - "generated_offset": 562439, + "original_offset": 55122, + "generated_offset": 582685, "length": 8 }, { "source": "parser.mbty", - "original_offset": 54287, - "generated_offset": 562455, + "original_offset": 55132, + "generated_offset": 582701, "length": 31 }, { "source": "parser.mbty", - "original_offset": 54323, - "generated_offset": 562515, + "original_offset": 55168, + "generated_offset": 582761, "length": 3 }, { "source": "parser.mbty", - "original_offset": 54348, - "generated_offset": 562748, + "original_offset": 55193, + "generated_offset": 582994, "length": 1 }, { "source": "parser.mbty", - "original_offset": 54351, - "generated_offset": 562757, + "original_offset": 55196, + "generated_offset": 583003, "length": 1 }, { "source": "parser.mbty", - "original_offset": 54395, - "generated_offset": 563149, + "original_offset": 55240, + "generated_offset": 583395, "length": 44 }, { "source": "parser.mbty", - "original_offset": 54444, - "generated_offset": 563222, + "original_offset": 55289, + "generated_offset": 583468, "length": 15 }, { "source": "parser.mbty", - "original_offset": 54472, - "generated_offset": 563630, + "original_offset": 55317, + "generated_offset": 583876, "length": 44 }, { "source": "parser.mbty", - "original_offset": 54521, - "generated_offset": 563703, + "original_offset": 55366, + "generated_offset": 583949, "length": 16 }, { "source": "parser.mbty", - "original_offset": 54549, - "generated_offset": 564158, + "original_offset": 55394, + "generated_offset": 584404, "length": 44 }, { "source": "parser.mbty", - "original_offset": 54598, - "generated_offset": 564231, + "original_offset": 55443, + "generated_offset": 584477, "length": 8 }, { "source": "parser.mbty", - "original_offset": 54608, - "generated_offset": 564247, + "original_offset": 55453, + "generated_offset": 584493, "length": 3 }, { "source": "parser.mbty", - "original_offset": 54622, - "generated_offset": 564695, + "original_offset": 55467, + "generated_offset": 584941, "length": 44 }, { "source": "parser.mbty", - "original_offset": 54671, - "generated_offset": 564768, + "original_offset": 55516, + "generated_offset": 585014, "length": 20 }, { "source": "parser.mbty", - "original_offset": 54693, - "generated_offset": 564796, + "original_offset": 55538, + "generated_offset": 585042, "length": 3 }, { "source": "parser.mbty", - "original_offset": 54708, - "generated_offset": 565238, + "original_offset": 55553, + "generated_offset": 585484, "length": 44 }, { "source": "parser.mbty", - "original_offset": 54757, - "generated_offset": 565311, + "original_offset": 55602, + "generated_offset": 585557, "length": 8 }, { "source": "parser.mbty", - "original_offset": 54767, - "generated_offset": 565327, + "original_offset": 55612, + "generated_offset": 585573, "length": 3 }, { "source": "parser.mbty", - "original_offset": 54784, - "generated_offset": 565781, + "original_offset": 55629, + "generated_offset": 586027, "length": 44 }, { "source": "parser.mbty", - "original_offset": 54833, - "generated_offset": 565854, + "original_offset": 55678, + "generated_offset": 586100, "length": 23 }, { "source": "parser.mbty", - "original_offset": 54858, - "generated_offset": 565885, + "original_offset": 55703, + "generated_offset": 586131, "length": 3 }, { "source": "parser.mbty", - "original_offset": 54874, - "generated_offset": 566337, + "original_offset": 55719, + "generated_offset": 586583, "length": 44 }, { "source": "parser.mbty", - "original_offset": 54923, - "generated_offset": 566410, + "original_offset": 55768, + "generated_offset": 586656, "length": 22 }, { "source": "parser.mbty", - "original_offset": 54947, - "generated_offset": 566440, + "original_offset": 55792, + "generated_offset": 586686, "length": 3 }, { "source": "parser.mbty", - "original_offset": 54965, - "generated_offset": 566898, + "original_offset": 55810, + "generated_offset": 587144, "length": 44 }, { "source": "parser.mbty", - "original_offset": 55014, - "generated_offset": 566971, + "original_offset": 55859, + "generated_offset": 587217, "length": 26 }, { "source": "parser.mbty", - "original_offset": 55042, - "generated_offset": 567005, + "original_offset": 55887, + "generated_offset": 587251, "length": 3 }, { "source": "parser.mbty", - "original_offset": 55063, - "generated_offset": 567469, + "original_offset": 55908, + "generated_offset": 587715, "length": 44 }, { "source": "parser.mbty", - "original_offset": 55112, - "generated_offset": 567542, + "original_offset": 55957, + "generated_offset": 587788, "length": 29 }, { "source": "parser.mbty", - "original_offset": 55143, - "generated_offset": 567579, + "original_offset": 55988, + "generated_offset": 587825, "length": 3 }, { "source": "parser.mbty", - "original_offset": 55163, - "generated_offset": 568041, + "original_offset": 56008, + "generated_offset": 588287, "length": 44 }, { "source": "parser.mbty", - "original_offset": 55212, - "generated_offset": 568114, + "original_offset": 56057, + "generated_offset": 588360, "length": 28 }, { "source": "parser.mbty", - "original_offset": 55242, - "generated_offset": 568150, + "original_offset": 56087, + "generated_offset": 588396, "length": 3 }, { "source": "parser.mbty", - "original_offset": 55259, - "generated_offset": 568598, + "original_offset": 56104, + "generated_offset": 588844, "length": 44 }, { "source": "parser.mbty", - "original_offset": 55308, - "generated_offset": 568671, + "original_offset": 56153, + "generated_offset": 588917, "length": 10 }, { "source": "parser.mbty", - "original_offset": 55320, - "generated_offset": 568689, + "original_offset": 56165, + "generated_offset": 588935, "length": 3 }, { "source": "parser.mbty", - "original_offset": 55336, - "generated_offset": 569135, + "original_offset": 56181, + "generated_offset": 589381, "length": 44 }, { "source": "parser.mbty", - "original_offset": 55385, - "generated_offset": 569208, + "original_offset": 56230, + "generated_offset": 589454, "length": 9 }, { "source": "parser.mbty", - "original_offset": 55396, - "generated_offset": 569225, + "original_offset": 56241, + "generated_offset": 589471, "length": 3 }, { "source": "parser.mbty", - "original_offset": 55417, - "generated_offset": 569587, + "original_offset": 56262, + "generated_offset": 589833, "length": 18 }, { "source": "parser.mbty", - "original_offset": 55440, - "generated_offset": 569634, + "original_offset": 56285, + "generated_offset": 589880, "length": 3 }, { "source": "parser.mbty", - "original_offset": 63872, - "generated_offset": 569986, + "original_offset": 65603, + "generated_offset": 590232, "length": 1 }, { "source": "parser.mbty", - "original_offset": 63875, - "generated_offset": 569995, + "original_offset": 65606, + "generated_offset": 590241, "length": 5 }, { "source": "parser.mbty", - "original_offset": 63882, - "generated_offset": 570008, + "original_offset": 65613, + "generated_offset": 590254, "length": 2 }, { "source": "parser.mbty", - "original_offset": 55457, - "generated_offset": 570311, + "original_offset": 56302, + "generated_offset": 590557, "length": 5 }, { "source": "parser.mbty", - "original_offset": 55464, - "generated_offset": 570324, + "original_offset": 56309, + "generated_offset": 590570, "length": 2 }, { "source": "parser.mbty", - "original_offset": 63635, - "generated_offset": 570756, + "original_offset": 65366, + "generated_offset": 591002, "length": 28 }, { "source": "parser.mbty", - "original_offset": 63665, - "generated_offset": 570792, + "original_offset": 65396, + "generated_offset": 591038, "length": 15 }, { "source": "parser.mbty", - "original_offset": 63682, - "generated_offset": 570815, + "original_offset": 65413, + "generated_offset": 591061, "length": 14 }, { "source": "parser.mbty", - "original_offset": 63560, - "generated_offset": 571053, + "original_offset": 65291, + "generated_offset": 591299, "length": 23 }, { "source": "parser.mbty", - "original_offset": 64038, - "generated_offset": 571656, + "original_offset": 65769, + "generated_offset": 591902, "length": 23 }, { "source": "parser.mbty", - "original_offset": 64069, - "generated_offset": 571719, + "original_offset": 65800, + "generated_offset": 591965, "length": 33 }, { "source": "parser.mbty", - "original_offset": 64104, - "generated_offset": 571760, + "original_offset": 65835, + "generated_offset": 592006, "length": 148 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 572250, + "generated_offset": 592496, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 572264, + "generated_offset": 592510, "length": 2 }, { "source": "parser.mbty", "original_offset": 613, - "generated_offset": 572523, + "generated_offset": 592769, "length": 1 }, { "source": "parser.mbty", "original_offset": 616, - "generated_offset": 572532, + "generated_offset": 592778, "length": 1 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 572728, + "generated_offset": 592974, "length": 6 }, { "source": "parser.mbty", - "original_offset": 56808, - "generated_offset": 573092, + "original_offset": 57653, + "generated_offset": 593338, "length": 20 }, { "source": "parser.mbty", - "original_offset": 56830, - "generated_offset": 573120, + "original_offset": 57675, + "generated_offset": 593366, "length": 15 }, { "source": "parser.mbty", - "original_offset": 56853, - "generated_offset": 573175, + "original_offset": 57698, + "generated_offset": 593421, "length": 3 }, { "source": "parser.mbty", - "original_offset": 56874, - "generated_offset": 573536, + "original_offset": 57719, + "generated_offset": 593782, "length": 21 }, { "source": "parser.mbty", - "original_offset": 56897, - "generated_offset": 573565, + "original_offset": 57742, + "generated_offset": 593811, "length": 15 }, { "source": "parser.mbty", - "original_offset": 56920, - "generated_offset": 573620, + "original_offset": 57765, + "generated_offset": 593866, "length": 3 }, { "source": "parser.mbty", - "original_offset": 56942, - "generated_offset": 574230, + "original_offset": 57787, + "generated_offset": 594476, "length": 35 }, { "source": "parser.mbty", - "original_offset": 56979, - "generated_offset": 574273, + "original_offset": 57824, + "generated_offset": 594519, "length": 14 }, { "source": "parser.mbty", - "original_offset": 57001, - "generated_offset": 574327, + "original_offset": 57846, + "generated_offset": 594573, "length": 54 }, { "source": "parser.mbty", - "original_offset": 57060, - "generated_offset": 574410, + "original_offset": 57905, + "generated_offset": 594656, "length": 5 }, { "source": "parser.mbty", - "original_offset": 57101, - "generated_offset": 575088, + "original_offset": 57946, + "generated_offset": 595334, "length": 35 }, { "source": "parser.mbty", - "original_offset": 57138, - "generated_offset": 575131, + "original_offset": 57983, + "generated_offset": 595377, "length": 14 }, { "source": "parser.mbty", - "original_offset": 57160, - "generated_offset": 575185, + "original_offset": 58005, + "generated_offset": 595431, "length": 40 }, { "source": "parser.mbty", - "original_offset": 57202, - "generated_offset": 575233, + "original_offset": 58047, + "generated_offset": 595479, "length": 16 }, { "source": "parser.mbty", - "original_offset": 57223, - "generated_offset": 575278, + "original_offset": 58068, + "generated_offset": 595524, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 575613, + "original_offset": 4013, + "generated_offset": 595859, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 575622, + "original_offset": 4016, + "generated_offset": 595868, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 575635, + "original_offset": 4023, + "generated_offset": 595881, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 575920, + "original_offset": 4227, + "generated_offset": 596166, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 575929, + "original_offset": 4230, + "generated_offset": 596175, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 576185, + "original_offset": 3950, + "generated_offset": 596431, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 576210, + "original_offset": 3969, + "generated_offset": 596456, "length": 2 }, { "source": "parser.mbty", - "original_offset": 57802, - "generated_offset": 576568, + "original_offset": 58647, + "generated_offset": 596814, "length": 36 }, { "source": "parser.mbty", - "original_offset": 57840, - "generated_offset": 576612, + "original_offset": 58685, + "generated_offset": 596858, "length": 2 }, { "source": "parser.mbty", - "original_offset": 57802, - "generated_offset": 576970, + "original_offset": 58647, + "generated_offset": 597216, "length": 36 }, { "source": "parser.mbty", - "original_offset": 57840, - "generated_offset": 577014, + "original_offset": 58685, + "generated_offset": 597260, "length": 2 }, { "source": "parser.mbty", - "original_offset": 57431, - "generated_offset": 577211, + "original_offset": 58276, + "generated_offset": 597457, "length": 23 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 577407, + "generated_offset": 597653, "length": 6 }, { "source": "parser.mbty", - "original_offset": 35589, - "generated_offset": 577718, + "original_offset": 36065, + "generated_offset": 597964, "length": 1 }, { "source": "parser.mbty", - "original_offset": 35592, - "generated_offset": 577727, + "original_offset": 36068, + "generated_offset": 597973, "length": 1 }, { "source": "parser.mbty", - "original_offset": 35814, - "generated_offset": 577976, + "original_offset": 36290, + "generated_offset": 598222, "length": 9 }, { "source": "parser.mbty", - "original_offset": 35825, - "generated_offset": 577993, + "original_offset": 36301, + "generated_offset": 598239, "length": 2 }, { "source": "parser.mbty", - "original_offset": 35838, - "generated_offset": 578358, + "original_offset": 36314, + "generated_offset": 598604, "length": 23 }, { "source": "parser.mbty", - "original_offset": 35866, - "generated_offset": 578410, + "original_offset": 36342, + "generated_offset": 598656, "length": 3 }, { "source": "parser.mbty", - "original_offset": 35883, - "generated_offset": 578723, + "original_offset": 36359, + "generated_offset": 598969, "length": 8 }, { "source": "parser.mbty", - "original_offset": 35893, - "generated_offset": 578739, + "original_offset": 36369, + "generated_offset": 598985, "length": 2 }, { "source": "parser.mbty", - "original_offset": 35955, - "generated_offset": 579295, + "original_offset": 36431, + "generated_offset": 599541, "length": 11 }, { "source": "parser.mbty", - "original_offset": 35968, - "generated_offset": 579314, + "original_offset": 36444, + "generated_offset": 599560, "length": 63 }, { "source": "parser.mbty", - "original_offset": 36033, - "generated_offset": 579385, + "original_offset": 36509, + "generated_offset": 599631, "length": 13 }, { "source": "parser.mbty", - "original_offset": 36051, - "generated_offset": 579427, + "original_offset": 36527, + "generated_offset": 599673, "length": 11 }, { "source": "parser.mbty", - "original_offset": 36098, - "generated_offset": 580035, + "original_offset": 36574, + "generated_offset": 600281, "length": 17 }, { "source": "parser.mbty", - "original_offset": 36117, - "generated_offset": 580060, + "original_offset": 36593, + "generated_offset": 600306, "length": 11 }, { "source": "parser.mbty", - "original_offset": 36130, - "generated_offset": 580079, + "original_offset": 36606, + "generated_offset": 600325, "length": 15 }, { "source": "parser.mbty", - "original_offset": 36150, - "generated_offset": 580123, + "original_offset": 36626, + "generated_offset": 600369, "length": 5 }, { "source": "parser.mbty", - "original_offset": 36308, - "generated_offset": 580489, + "original_offset": 36784, + "generated_offset": 600735, "length": 12 }, { "source": "parser.mbty", - "original_offset": 36322, - "generated_offset": 580509, + "original_offset": 36798, + "generated_offset": 600755, "length": 2 }, { "source": "parser.mbty", - "original_offset": 36326, - "generated_offset": 580519, + "original_offset": 36802, + "generated_offset": 600765, "length": 2 }, { "source": "parser.mbty", - "original_offset": 36229, - "generated_offset": 580788, + "original_offset": 36705, + "generated_offset": 601034, "length": 17 }, { "source": "parser.mbty", - "original_offset": 36248, - "generated_offset": 580813, + "original_offset": 36724, + "generated_offset": 601059, "length": 2 }, { "source": "parser.mbty", - "original_offset": 36392, - "generated_offset": 581060, + "original_offset": 36868, + "generated_offset": 601306, "length": 1 }, { "source": "parser.mbty", - "original_offset": 36395, - "generated_offset": 581069, + "original_offset": 36871, + "generated_offset": 601315, "length": 1 }, { "source": "parser.mbty", - "original_offset": 36426, - "generated_offset": 581314, + "original_offset": 36902, + "generated_offset": 601560, "length": 1 }, { "source": "parser.mbty", - "original_offset": 36429, - "generated_offset": 581323, + "original_offset": 36905, + "generated_offset": 601569, "length": 1 }, { "source": "parser.mbty", "original_offset": 1072, - "generated_offset": 581671, + "generated_offset": 601917, "length": 1 }, { "source": "parser.mbty", "original_offset": 1075, - "generated_offset": 581680, + "generated_offset": 601926, "length": 5 }, { "source": "parser.mbty", "original_offset": 1082, - "generated_offset": 581693, + "generated_offset": 601939, "length": 2 }, { "source": "parser.mbty", "original_offset": 1006, - "generated_offset": 581951, + "generated_offset": 602197, "length": 17 }, { "source": "parser.mbty", "original_offset": 1025, - "generated_offset": 581976, + "generated_offset": 602222, "length": 2 }, { "source": "parser.mbty", - "original_offset": 35604, - "generated_offset": 582370, + "original_offset": 36080, + "generated_offset": 602616, "length": 39 }, { "source": "parser.mbty", - "original_offset": 35648, - "generated_offset": 582438, + "original_offset": 36124, + "generated_offset": 602684, "length": 4 }, { "source": "parser.mbty", - "original_offset": 35666, - "generated_offset": 582781, + "original_offset": 36142, + "generated_offset": 603027, "length": 24 }, { "source": "parser.mbty", - "original_offset": 35692, - "generated_offset": 582813, + "original_offset": 36168, + "generated_offset": 603059, "length": 3 }, { "source": "parser.mbty", - "original_offset": 49700, - "generated_offset": 583230, + "original_offset": 50545, + "generated_offset": 603476, "length": 17 }, { "source": "parser.mbty", - "original_offset": 49719, - "generated_offset": 583255, + "original_offset": 50564, + "generated_offset": 603501, "length": 14 }, { "source": "parser.mbty", - "original_offset": 49738, - "generated_offset": 583298, + "original_offset": 50583, + "generated_offset": 603544, "length": 4 }, { "source": "parser.mbty", - "original_offset": 35726, - "generated_offset": 583588, + "original_offset": 36202, + "generated_offset": 603834, "length": 25 }, { "source": "parser.mbty", - "original_offset": 35753, - "generated_offset": 583621, + "original_offset": 36229, + "generated_offset": 603867, "length": 3 }, { "source": "parser.mbty", - "original_offset": 36491, - "generated_offset": 584064, + "original_offset": 36967, + "generated_offset": 604310, "length": 15 }, { "source": "parser.mbty", - "original_offset": 36508, - "generated_offset": 584087, + "original_offset": 36984, + "generated_offset": 604333, "length": 13 }, { "source": "parser.mbty", - "original_offset": 36526, - "generated_offset": 584129, + "original_offset": 37002, + "generated_offset": 604375, "length": 5 }, { "source": "parser.mbty", - "original_offset": 36551, - "generated_offset": 584602, + "original_offset": 37027, + "generated_offset": 604848, "length": 36 }, { "source": "parser.mbty", - "original_offset": 36589, - "generated_offset": 584646, + "original_offset": 37065, + "generated_offset": 604892, "length": 14 }, { "source": "parser.mbty", - "original_offset": 36608, - "generated_offset": 584689, + "original_offset": 37084, + "generated_offset": 604935, "length": 5 }, { "source": "parser.mbty", - "original_offset": 36627, - "generated_offset": 585138, + "original_offset": 37103, + "generated_offset": 605384, "length": 17 }, { "source": "parser.mbty", - "original_offset": 36646, - "generated_offset": 585163, + "original_offset": 37122, + "generated_offset": 605409, "length": 15 }, { "source": "parser.mbty", - "original_offset": 36666, - "generated_offset": 585207, + "original_offset": 37142, + "generated_offset": 605453, "length": 5 }, { "source": "parser.mbty", - "original_offset": 36685, - "generated_offset": 585678, + "original_offset": 37161, + "generated_offset": 605924, "length": 38 }, { "source": "parser.mbty", - "original_offset": 36725, - "generated_offset": 585724, + "original_offset": 37201, + "generated_offset": 605970, "length": 16 }, { "source": "parser.mbty", - "original_offset": 36746, - "generated_offset": 585769, + "original_offset": 37222, + "generated_offset": 606015, "length": 5 }, { "source": "parser.mbty", - "original_offset": 41905, - "generated_offset": 586562, + "original_offset": 42750, + "generated_offset": 606808, "length": 21 }, { "source": "parser.mbty", - "original_offset": 41928, - "generated_offset": 586591, + "original_offset": 42773, + "generated_offset": 606837, "length": 6 }, { "source": "parser.mbty", - "original_offset": 41936, - "generated_offset": 586605, + "original_offset": 42781, + "generated_offset": 606851, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41961, - "generated_offset": 586662, + "original_offset": 42806, + "generated_offset": 606908, "length": 19 }, { "source": "parser.mbty", - "original_offset": 41982, - "generated_offset": 586689, + "original_offset": 42827, + "generated_offset": 606935, "length": 14 }, { "source": "parser.mbty", - "original_offset": 42001, - "generated_offset": 586732, + "original_offset": 42846, + "generated_offset": 606978, "length": 5 }, { "source": "parser.mbty", - "original_offset": 41753, - "generated_offset": 587416, + "original_offset": 42598, + "generated_offset": 607662, "length": 21 }, { "source": "parser.mbty", - "original_offset": 41776, - "generated_offset": 587445, + "original_offset": 42621, + "generated_offset": 607691, "length": 6 }, { "source": "parser.mbty", - "original_offset": 41784, - "generated_offset": 587459, + "original_offset": 42629, + "generated_offset": 607705, "length": 17 }, { "source": "parser.mbty", - "original_offset": 41809, - "generated_offset": 587516, + "original_offset": 42654, + "generated_offset": 607762, "length": 31 }, { "source": "parser.mbty", - "original_offset": 41845, - "generated_offset": 587576, + "original_offset": 42690, + "generated_offset": 607822, "length": 5 }, { "source": "parser.mbty", - "original_offset": 42024, - "generated_offset": 587801, + "original_offset": 42869, + "generated_offset": 608047, "length": 1 }, { "source": "parser.mbty", - "original_offset": 42027, - "generated_offset": 587810, + "original_offset": 42872, + "generated_offset": 608056, "length": 1 }, { "source": "parser.mbty", - "original_offset": 42089, - "generated_offset": 588530, + "original_offset": 42934, + "generated_offset": 608776, "length": 70 }, { "source": "parser.mbty", - "original_offset": 42167, - "generated_offset": 588640, + "original_offset": 43012, + "generated_offset": 608886, "length": 18 }, { "source": "parser.mbty", - "original_offset": 42187, - "generated_offset": 588666, + "original_offset": 43032, + "generated_offset": 608912, "length": 15 }, { "source": "parser.mbty", - "original_offset": 42204, - "generated_offset": 588689, + "original_offset": 43049, + "generated_offset": 608935, "length": 22 }, { "source": "parser.mbty", - "original_offset": 42231, - "generated_offset": 588740, + "original_offset": 43076, + "generated_offset": 608986, "length": 10 }, { "source": "parser.mbty", - "original_offset": 42278, - "generated_offset": 589469, + "original_offset": 43123, + "generated_offset": 609715, "length": 70 }, { "source": "parser.mbty", - "original_offset": 42356, - "generated_offset": 589579, + "original_offset": 43201, + "generated_offset": 609825, "length": 18 }, { "source": "parser.mbty", - "original_offset": 42376, - "generated_offset": 589605, + "original_offset": 43221, + "generated_offset": 609851, "length": 15 }, { "source": "parser.mbty", - "original_offset": 42393, - "generated_offset": 589628, + "original_offset": 43238, + "generated_offset": 609874, "length": 22 }, { "source": "parser.mbty", - "original_offset": 42420, - "generated_offset": 589679, + "original_offset": 43265, + "generated_offset": 609925, "length": 10 }, { "source": "parser.mbty", - "original_offset": 42468, - "generated_offset": 590409, + "original_offset": 43313, + "generated_offset": 610655, "length": 70 }, { "source": "parser.mbty", - "original_offset": 42546, - "generated_offset": 590519, + "original_offset": 43391, + "generated_offset": 610765, "length": 18 }, { "source": "parser.mbty", - "original_offset": 42566, - "generated_offset": 590545, + "original_offset": 43411, + "generated_offset": 610791, "length": 15 }, { "source": "parser.mbty", - "original_offset": 42583, - "generated_offset": 590568, + "original_offset": 43428, + "generated_offset": 610814, "length": 22 }, { "source": "parser.mbty", - "original_offset": 42610, - "generated_offset": 590619, + "original_offset": 43455, + "generated_offset": 610865, "length": 10 }, { "source": "parser.mbty", - "original_offset": 42658, - "generated_offset": 591349, + "original_offset": 43503, + "generated_offset": 611595, "length": 70 }, { "source": "parser.mbty", - "original_offset": 42736, - "generated_offset": 591459, + "original_offset": 43581, + "generated_offset": 611705, "length": 18 }, { "source": "parser.mbty", - "original_offset": 42756, - "generated_offset": 591485, + "original_offset": 43601, + "generated_offset": 611731, "length": 15 }, { "source": "parser.mbty", - "original_offset": 42773, - "generated_offset": 591508, + "original_offset": 43618, + "generated_offset": 611754, "length": 22 }, { "source": "parser.mbty", - "original_offset": 42800, - "generated_offset": 591559, + "original_offset": 43645, + "generated_offset": 611805, "length": 10 }, { "source": "parser.mbty", - "original_offset": 42847, - "generated_offset": 592287, + "original_offset": 43692, + "generated_offset": 612533, "length": 69 }, { "source": "parser.mbty", - "original_offset": 42924, - "generated_offset": 592396, + "original_offset": 43769, + "generated_offset": 612642, "length": 18 }, { "source": "parser.mbty", - "original_offset": 42944, - "generated_offset": 592422, + "original_offset": 43789, + "generated_offset": 612668, "length": 15 }, { "source": "parser.mbty", - "original_offset": 42961, - "generated_offset": 592445, + "original_offset": 43806, + "generated_offset": 612691, "length": 22 }, { "source": "parser.mbty", - "original_offset": 42988, - "generated_offset": 592496, + "original_offset": 43833, + "generated_offset": 612742, "length": 10 }, { "source": "parser.mbty", - "original_offset": 43017, - "generated_offset": 592727, + "original_offset": 43862, + "generated_offset": 612973, "length": 1 }, { "source": "parser.mbty", - "original_offset": 43020, - "generated_offset": 592736, + "original_offset": 43865, + "generated_offset": 612982, "length": 1 }, { "source": "parser.mbty", - "original_offset": 47717, - "generated_offset": 593527, + "original_offset": 48562, + "generated_offset": 613773, "length": 61 }, { "source": "parser.mbty", - "original_offset": 47786, - "generated_offset": 593628, + "original_offset": 48631, + "generated_offset": 613874, "length": 36 }, { "source": "parser.mbty", - "original_offset": 47824, - "generated_offset": 593672, + "original_offset": 48669, + "generated_offset": 613918, "length": 15 }, { "source": "parser.mbty", - "original_offset": 47847, - "generated_offset": 593727, + "original_offset": 48692, + "generated_offset": 613973, "length": 34 }, { "source": "parser.mbty", - "original_offset": 47883, - "generated_offset": 593769, + "original_offset": 48728, + "generated_offset": 614015, "length": 32 }, { "source": "parser.mbty", - "original_offset": 47920, - "generated_offset": 593830, + "original_offset": 48765, + "generated_offset": 614076, "length": 5 }, { "source": "parser.mbty", - "original_offset": 4318, - "generated_offset": 594088, + "original_offset": 4437, + "generated_offset": 614334, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4321, - "generated_offset": 594097, + "original_offset": 4440, + "generated_offset": 614343, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28085, - "generated_offset": 594365, + "original_offset": 28349, + "generated_offset": 614611, "length": 14 }, { "source": "parser.mbty", - "original_offset": 28101, - "generated_offset": 594387, + "original_offset": 28365, + "generated_offset": 614633, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28134, - "generated_offset": 594694, + "original_offset": 28398, + "generated_offset": 614940, "length": 11 }, { "source": "parser.mbty", - "original_offset": 28147, - "generated_offset": 594713, + "original_offset": 28411, + "generated_offset": 614959, "length": 7 }, { "source": "parser.mbty", - "original_offset": 28156, - "generated_offset": 594728, + "original_offset": 28420, + "generated_offset": 614974, "length": 2 }, { "source": "parser.mbty", - "original_offset": 43717, - "generated_offset": 595440, + "original_offset": 44562, + "generated_offset": 615686, "length": 53 }, { "source": "parser.mbty", - "original_offset": 43772, - "generated_offset": 595501, + "original_offset": 44617, + "generated_offset": 615747, "length": 14 }, { "source": "parser.mbty", - "original_offset": 43794, - "generated_offset": 595555, + "original_offset": 44639, + "generated_offset": 615801, "length": 31 }, { "source": "parser.mbty", - "original_offset": 43827, - "generated_offset": 595594, + "original_offset": 44672, + "generated_offset": 615840, "length": 21 }, { "source": "parser.mbty", - "original_offset": 43853, - "generated_offset": 595644, + "original_offset": 44698, + "generated_offset": 615890, "length": 10 }, { "source": "parser.mbty", - "original_offset": 43540, - "generated_offset": 596302, + "original_offset": 44385, + "generated_offset": 616548, "length": 53 }, { "source": "parser.mbty", - "original_offset": 43595, - "generated_offset": 596363, + "original_offset": 44440, + "generated_offset": 616609, "length": 14 }, { "source": "parser.mbty", - "original_offset": 43617, - "generated_offset": 596417, + "original_offset": 44462, + "generated_offset": 616663, "length": 54 }, { "source": "parser.mbty", - "original_offset": 43676, - "generated_offset": 596500, + "original_offset": 44521, + "generated_offset": 616746, "length": 10 }, { "source": "parser.mbty", - "original_offset": 43074, - "generated_offset": 597055, + "original_offset": 43919, + "generated_offset": 617301, "length": 25 }, { "source": "parser.mbty", - "original_offset": 43104, - "generated_offset": 597109, + "original_offset": 43949, + "generated_offset": 617355, "length": 3 }, { "source": "parser.mbty", - "original_offset": 43109, - "generated_offset": 597120, + "original_offset": 43954, + "generated_offset": 617366, "length": 2 }, { "source": "parser.mbty", - "original_offset": 43113, - "generated_offset": 597130, + "original_offset": 43958, + "generated_offset": 617376, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5525, - "generated_offset": 597422, + "original_offset": 5644, + "generated_offset": 617668, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5528, - "generated_offset": 597431, + "original_offset": 5647, + "generated_offset": 617677, "length": 1 }, { "source": "parser.mbty", - "original_offset": 43308, - "generated_offset": 597606, + "original_offset": 44153, + "generated_offset": 617852, "length": 5 }, { "source": "parser.mbty", - "original_offset": 43144, - "generated_offset": 598158, + "original_offset": 43989, + "generated_offset": 618404, "length": 26 }, { "source": "parser.mbty", - "original_offset": 43175, - "generated_offset": 598213, + "original_offset": 44020, + "generated_offset": 618459, "length": 3 }, { "source": "parser.mbty", - "original_offset": 43180, - "generated_offset": 598224, + "original_offset": 44025, + "generated_offset": 618470, "length": 2 }, { "source": "parser.mbty", - "original_offset": 43184, - "generated_offset": 598234, + "original_offset": 44029, + "generated_offset": 618480, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5525, - "generated_offset": 598526, + "original_offset": 5644, + "generated_offset": 618772, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5528, - "generated_offset": 598535, + "original_offset": 5647, + "generated_offset": 618781, "length": 1 }, { "source": "parser.mbty", - "original_offset": 43355, - "generated_offset": 598711, + "original_offset": 44200, + "generated_offset": 618957, "length": 5 }, { "source": "parser.mbty", - "original_offset": 44207, - "generated_offset": 599037, + "original_offset": 45052, + "generated_offset": 619283, "length": 17 }, { "source": "parser.mbty", - "original_offset": 44226, - "generated_offset": 599062, + "original_offset": 45071, + "generated_offset": 619308, "length": 2 }, { "source": "parser.mbty", "original_offset": 115, - "generated_offset": 599237, + "generated_offset": 619483, "length": 6 }, { "source": "parser.mbty", - "original_offset": 44207, - "generated_offset": 599564, + "original_offset": 45052, + "generated_offset": 619810, "length": 17 }, { "source": "parser.mbty", - "original_offset": 44226, - "generated_offset": 599589, + "original_offset": 45071, + "generated_offset": 619835, "length": 2 }, { "source": "parser.mbty", "original_offset": 130, - "generated_offset": 599791, + "generated_offset": 620037, "length": 6 }, { "source": "parser.mbty", "original_offset": 138, - "generated_offset": 599805, + "generated_offset": 620051, "length": 2 }, { "source": "parser.mbty", - "original_offset": 44266, - "generated_offset": 600110, + "original_offset": 45111, + "generated_offset": 620356, "length": 1 }, { "source": "parser.mbty", - "original_offset": 44269, - "generated_offset": 600119, + "original_offset": 45114, + "generated_offset": 620365, "length": 5 }, { "source": "parser.mbty", - "original_offset": 44276, - "generated_offset": 600132, + "original_offset": 45121, + "generated_offset": 620378, "length": 2 }, { "source": "parser.mbty", - "original_offset": 45427, - "generated_offset": 600615, + "original_offset": 46272, + "generated_offset": 620861, "length": 19 }, { "source": "parser.mbty", - "original_offset": 45448, - "generated_offset": 600642, + "original_offset": 46293, + "generated_offset": 620888, "length": 7 }, { "source": "parser.mbty", - "original_offset": 45457, - "generated_offset": 600657, + "original_offset": 46302, + "generated_offset": 620903, "length": 15 }, { "source": "parser.mbty", - "original_offset": 45477, - "generated_offset": 600701, + "original_offset": 46322, + "generated_offset": 620947, "length": 3 }, { "source": "parser.mbty", - "original_offset": 44560, - "generated_offset": 600947, + "original_offset": 45405, + "generated_offset": 621193, "length": 1 }, { "source": "parser.mbty", - "original_offset": 44563, - "generated_offset": 600956, + "original_offset": 45408, + "generated_offset": 621202, "length": 1 }, { "source": "parser.mbty", - "original_offset": 44630, - "generated_offset": 601768, + "original_offset": 45475, + "generated_offset": 622014, "length": 15 }, { "source": "parser.mbty", - "original_offset": 44647, - "generated_offset": 601791, + "original_offset": 45492, + "generated_offset": 622037, "length": 202 }, { "source": "parser.mbty", - "original_offset": 44854, - "generated_offset": 602022, + "original_offset": 45699, + "generated_offset": 622268, "length": 69 }, { "source": "parser.mbty", - "original_offset": 44928, - "generated_offset": 602120, + "original_offset": 45773, + "generated_offset": 622366, "length": 15 }, { "source": "parser.mbty", - "original_offset": 44988, - "generated_offset": 602754, + "original_offset": 45833, + "generated_offset": 623000, "length": 12 }, { "source": "parser.mbty", - "original_offset": 45002, - "generated_offset": 602774, + "original_offset": 45847, + "generated_offset": 623020, "length": 76 }, { "source": "parser.mbty", - "original_offset": 45083, - "generated_offset": 602879, + "original_offset": 45928, + "generated_offset": 623125, "length": 55 }, { "source": "parser.mbty", - "original_offset": 45143, - "generated_offset": 602963, + "original_offset": 45988, + "generated_offset": 623209, "length": 18 }, { "source": "parser.mbty", - "original_offset": 45495, - "generated_offset": 603350, + "original_offset": 46340, + "generated_offset": 623596, "length": 19 }, { "source": "parser.mbty", - "original_offset": 45519, - "generated_offset": 603398, + "original_offset": 46364, + "generated_offset": 623644, "length": 18 }, { "source": "parser.mbty", - "original_offset": 47452, - "generated_offset": 603816, + "original_offset": 48297, + "generated_offset": 624062, "length": 19 }, { "source": "parser.mbty", - "original_offset": 47476, - "generated_offset": 603864, + "original_offset": 48321, + "generated_offset": 624110, "length": 22 }, { "source": "parser.mbty", - "original_offset": 52751, - "generated_offset": 604143, + "original_offset": 53596, + "generated_offset": 624389, "length": 20 }, { "source": "parser.mbty", - "original_offset": 52773, - "generated_offset": 604171, + "original_offset": 53618, + "generated_offset": 624417, "length": 21 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 604510, + "original_offset": 4013, + "generated_offset": 624756, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 604519, + "original_offset": 4016, + "generated_offset": 624765, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 604532, + "original_offset": 4023, + "generated_offset": 624778, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 604809, + "original_offset": 4227, + "generated_offset": 625055, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 604818, + "original_offset": 4230, + "generated_offset": 625064, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 605066, + "original_offset": 3950, + "generated_offset": 625312, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 605091, + "original_offset": 3969, + "generated_offset": 625337, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 605279, + "original_offset": 4390, + "generated_offset": 625525, "length": 15 }, { "source": "parser.mbty", - "original_offset": 48988, - "generated_offset": 605897, + "original_offset": 49833, + "generated_offset": 626143, "length": 21 }, { "source": "parser.mbty", - "original_offset": 49011, - "generated_offset": 605926, + "original_offset": 49856, + "generated_offset": 626172, "length": 13 }, { "source": "parser.mbty", - "original_offset": 49026, - "generated_offset": 605947, + "original_offset": 49871, + "generated_offset": 626193, "length": 15 }, { "source": "parser.mbty", - "original_offset": 49046, - "generated_offset": 605991, + "original_offset": 49891, + "generated_offset": 626237, "length": 5 }, { "source": "parser.mbty", - "original_offset": 49610, - "generated_offset": 606415, + "original_offset": 50455, + "generated_offset": 626661, "length": 21 }, { "source": "parser.mbty", - "original_offset": 49633, - "generated_offset": 606444, + "original_offset": 50478, + "generated_offset": 626690, "length": 15 }, { "source": "parser.mbty", - "original_offset": 49653, - "generated_offset": 606488, + "original_offset": 50498, + "generated_offset": 626734, "length": 3 }, { "source": "parser.mbty", - "original_offset": 43264, - "generated_offset": 606712, + "original_offset": 44109, + "generated_offset": 626958, "length": 1 }, { "source": "parser.mbty", - "original_offset": 43267, - "generated_offset": 606721, + "original_offset": 44112, + "generated_offset": 626967, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5822, - "generated_offset": 607289, + "original_offset": 5941, + "generated_offset": 627535, "length": 36 }, { "source": "parser.mbty", - "original_offset": 5860, - "generated_offset": 607333, + "original_offset": 5979, + "generated_offset": 627579, "length": 14 }, { "source": "parser.mbty", - "original_offset": 5882, - "generated_offset": 607387, + "original_offset": 6001, + "generated_offset": 627633, "length": 50 }, { "source": "parser.mbty", - "original_offset": 5934, - "generated_offset": 607445, + "original_offset": 6053, + "generated_offset": 627691, "length": 6 }, { "source": "parser.mbty", - "original_offset": 5631, - "generated_offset": 607758, + "original_offset": 5750, + "generated_offset": 628004, "length": 1 }, { "source": "parser.mbty", - "original_offset": 5634, - "generated_offset": 607767, + "original_offset": 5753, + "generated_offset": 628013, "length": 1 }, { "source": "parser.mbty", "original_offset": 115, - "generated_offset": 607941, + "generated_offset": 628187, "length": 6 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 608268, + "original_offset": 4013, + "generated_offset": 628514, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 608277, + "original_offset": 4016, + "generated_offset": 628523, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 608290, + "original_offset": 4023, + "generated_offset": 628536, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 608569, + "original_offset": 4227, + "generated_offset": 628815, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 608578, + "original_offset": 4230, + "generated_offset": 628824, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 608828, + "original_offset": 3950, + "generated_offset": 629074, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 608853, + "original_offset": 3969, + "generated_offset": 629099, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 609042, + "original_offset": 4390, + "generated_offset": 629288, "length": 15 }, { "source": "parser.mbty", - "original_offset": 45633, - "generated_offset": 610212, + "original_offset": 46478, + "generated_offset": 630458, "length": 38 }, { "source": "parser.mbty", - "original_offset": 45673, - "generated_offset": 610258, + "original_offset": 46518, + "generated_offset": 630504, "length": 32 }, { "source": "parser.mbty", - "original_offset": 45707, - "generated_offset": 610298, + "original_offset": 46552, + "generated_offset": 630544, "length": 28 }, { "source": "parser.mbty", - "original_offset": 45743, - "generated_offset": 610366, + "original_offset": 46588, + "generated_offset": 630612, "length": 16 }, { "source": "parser.mbty", - "original_offset": 45761, - "generated_offset": 610390, + "original_offset": 46606, + "generated_offset": 630636, "length": 78 }, { "source": "parser.mbty", - "original_offset": 45841, - "generated_offset": 610476, + "original_offset": 46686, + "generated_offset": 630722, "length": 19 }, { "source": "parser.mbty", - "original_offset": 45862, - "generated_offset": 610503, + "original_offset": 46707, + "generated_offset": 630749, "length": 21 }, { "source": "parser.mbty", - "original_offset": 45888, - "generated_offset": 610553, + "original_offset": 46733, + "generated_offset": 630799, "length": 10 }, { "source": "parser.mbty", - "original_offset": 62106, - "generated_offset": 610869, + "original_offset": 63837, + "generated_offset": 631115, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62109, - "generated_offset": 610878, + "original_offset": 63840, + "generated_offset": 631124, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62190, - "generated_offset": 611440, + "original_offset": 63921, + "generated_offset": 631686, "length": 37 }, { "source": "parser.mbty", - "original_offset": 62232, - "generated_offset": 611506, + "original_offset": 63963, + "generated_offset": 631752, "length": 3 }, { "source": "parser.mbty", - "original_offset": 62237, - "generated_offset": 611517, + "original_offset": 63968, + "generated_offset": 631763, "length": 2 }, { "source": "parser.mbty", - "original_offset": 62241, - "generated_offset": 611527, + "original_offset": 63972, + "generated_offset": 631773, "length": 9 }, { "source": "parser.mbty", - "original_offset": 62126, - "generated_offset": 611838, + "original_offset": 63857, + "generated_offset": 632084, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62129, - "generated_offset": 611847, + "original_offset": 63860, + "generated_offset": 632093, "length": 1 }, { "source": "parser.mbty", - "original_offset": 62298, - "generated_offset": 612400, + "original_offset": 64029, + "generated_offset": 632646, "length": 37 }, { "source": "parser.mbty", - "original_offset": 62340, - "generated_offset": 612466, + "original_offset": 64071, + "generated_offset": 632712, "length": 3 }, { "source": "parser.mbty", - "original_offset": 62345, - "generated_offset": 612477, + "original_offset": 64076, + "generated_offset": 632723, "length": 37 }, { "source": "parser.mbty", - "original_offset": 62387, - "generated_offset": 612543, + "original_offset": 64118, + "generated_offset": 632789, "length": 3 }, { "source": "parser.mbty", - "original_offset": 62392, - "generated_offset": 612554, + "original_offset": 64123, + "generated_offset": 632800, "length": 9 }, { "source": "parser.mbty", - "original_offset": 49369, - "generated_offset": 612976, + "original_offset": 50214, + "generated_offset": 633222, "length": 16 }, { "source": "parser.mbty", - "original_offset": 49387, - "generated_offset": 613000, + "original_offset": 50232, + "generated_offset": 633246, "length": 14 }, { "source": "parser.mbty", - "original_offset": 49406, - "generated_offset": 613043, + "original_offset": 50251, + "generated_offset": 633289, "length": 4 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 613365, + "original_offset": 4013, + "generated_offset": 633611, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 613374, + "original_offset": 4016, + "generated_offset": 633620, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 613387, + "original_offset": 4023, + "generated_offset": 633633, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4565, - "generated_offset": 613762, + "original_offset": 4684, + "generated_offset": 634008, "length": 7 }, { "source": "parser.mbty", - "original_offset": 4574, - "generated_offset": 613777, + "original_offset": 4693, + "generated_offset": 634023, "length": 8 }, { "source": "parser.mbty", - "original_offset": 4584, - "generated_offset": 613793, + "original_offset": 4703, + "generated_offset": 634039, "length": 16 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 614050, + "original_offset": 3950, + "generated_offset": 634296, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 614075, + "original_offset": 3969, + "generated_offset": 634321, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4672, - "generated_offset": 614280, + "original_offset": 4791, + "generated_offset": 634526, "length": 24 }, { "source": "parser.mbty", - "original_offset": 49080, - "generated_offset": 614968, + "original_offset": 49925, + "generated_offset": 635214, "length": 39 }, { "source": "parser.mbty", - "original_offset": 49121, - "generated_offset": 615015, + "original_offset": 49966, + "generated_offset": 635261, "length": 14 }, { "source": "parser.mbty", - "original_offset": 49143, - "generated_offset": 615069, + "original_offset": 49988, + "generated_offset": 635315, "length": 27 }, { "source": "parser.mbty", - "original_offset": 49172, - "generated_offset": 615104, + "original_offset": 50017, + "generated_offset": 635350, "length": 29 }, { "source": "parser.mbty", - "original_offset": 49206, - "generated_offset": 615162, + "original_offset": 50051, + "generated_offset": 635408, "length": 5 }, { "source": "parser.mbty", - "original_offset": 4880, - "generated_offset": 615491, + "original_offset": 4999, + "generated_offset": 635737, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4883, - "generated_offset": 615500, + "original_offset": 5002, + "generated_offset": 635746, "length": 5 }, { "source": "parser.mbty", - "original_offset": 4890, - "generated_offset": 615513, + "original_offset": 5009, + "generated_offset": 635759, "length": 2 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 615737, + "generated_offset": 635983, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 615751, + "generated_offset": 635997, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4994, - "generated_offset": 616027, + "original_offset": 5113, + "generated_offset": 636273, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4997, - "generated_offset": 616036, + "original_offset": 5116, + "generated_offset": 636282, "length": 1 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 616210, + "generated_offset": 636456, "length": 6 }, { "source": "parser.mbty", - "original_offset": 4814, - "generated_offset": 616459, + "original_offset": 4933, + "generated_offset": 636705, "length": 17 }, { "source": "parser.mbty", - "original_offset": 4833, - "generated_offset": 616484, + "original_offset": 4952, + "generated_offset": 636730, "length": 2 }, { "source": "parser.mbty", - "original_offset": 5337, - "generated_offset": 616673, + "original_offset": 5456, + "generated_offset": 636919, "length": 15 }, { "source": "parser.mbty", - "original_offset": 45633, - "generated_offset": 617843, + "original_offset": 46478, + "generated_offset": 638089, "length": 38 }, { "source": "parser.mbty", - "original_offset": 45673, - "generated_offset": 617889, + "original_offset": 46518, + "generated_offset": 638135, "length": 32 }, { "source": "parser.mbty", - "original_offset": 45707, - "generated_offset": 617929, + "original_offset": 46552, + "generated_offset": 638175, "length": 28 }, { "source": "parser.mbty", - "original_offset": 45743, - "generated_offset": 617997, + "original_offset": 46588, + "generated_offset": 638243, "length": 16 }, { "source": "parser.mbty", - "original_offset": 45761, - "generated_offset": 618021, + "original_offset": 46606, + "generated_offset": 638267, "length": 78 }, { "source": "parser.mbty", - "original_offset": 45841, - "generated_offset": 618107, + "original_offset": 46686, + "generated_offset": 638353, "length": 19 }, { "source": "parser.mbty", - "original_offset": 45862, - "generated_offset": 618134, + "original_offset": 46707, + "generated_offset": 638380, "length": 21 }, { "source": "parser.mbty", - "original_offset": 45888, - "generated_offset": 618184, + "original_offset": 46733, + "generated_offset": 638430, "length": 10 }, { "source": "parser.mbty", - "original_offset": 58626, - "generated_offset": 618535, + "original_offset": 59471, + "generated_offset": 638781, "length": 12 }, { "source": "parser.mbty", - "original_offset": 58640, - "generated_offset": 618555, + "original_offset": 59485, + "generated_offset": 638801, "length": 46 }, { "source": "parser.mbty", - "original_offset": 59681, - "generated_offset": 619622, + "original_offset": 60526, + "generated_offset": 639868, "length": 29 }, { "source": "parser.mbty", - "original_offset": 59712, - "generated_offset": 619659, + "original_offset": 60557, + "generated_offset": 639905, "length": 20 }, { "source": "parser.mbty", - "original_offset": 59734, - "generated_offset": 619687, + "original_offset": 60579, + "generated_offset": 639933, "length": 85 }, { "source": "parser.mbty", - "original_offset": 59821, - "generated_offset": 619780, + "original_offset": 60666, + "generated_offset": 640026, "length": 42 }, { "source": "parser.mbty", - "original_offset": 59865, - "generated_offset": 619830, + "original_offset": 60710, + "generated_offset": 640076, "length": 15 }, { "source": "parser.mbty", - "original_offset": 59885, - "generated_offset": 619874, + "original_offset": 60730, + "generated_offset": 640120, "length": 5 }, { "source": "parser.mbty", - "original_offset": 59681, - "generated_offset": 620900, + "original_offset": 60526, + "generated_offset": 641146, "length": 29 }, { "source": "parser.mbty", - "original_offset": 59712, - "generated_offset": 620937, + "original_offset": 60557, + "generated_offset": 641183, "length": 20 }, { "source": "parser.mbty", - "original_offset": 59734, - "generated_offset": 620965, + "original_offset": 60579, + "generated_offset": 641211, "length": 85 }, { "source": "parser.mbty", - "original_offset": 59821, - "generated_offset": 621058, + "original_offset": 60666, + "generated_offset": 641304, "length": 42 }, { "source": "parser.mbty", - "original_offset": 59865, - "generated_offset": 621108, + "original_offset": 60710, + "generated_offset": 641354, "length": 15 }, { "source": "parser.mbty", - "original_offset": 59885, - "generated_offset": 621152, + "original_offset": 60730, + "generated_offset": 641398, "length": 5 }, { "source": "parser.mbty", - "original_offset": 60108, - "generated_offset": 621897, + "original_offset": 60953, + "generated_offset": 642143, "length": 29 }, { "source": "parser.mbty", - "original_offset": 60139, - "generated_offset": 621934, + "original_offset": 60984, + "generated_offset": 642180, "length": 34 }, { "source": "parser.mbty", - "original_offset": 60175, - "generated_offset": 621976, + "original_offset": 61020, + "generated_offset": 642222, "length": 42 }, { "source": "parser.mbty", - "original_offset": 60219, - "generated_offset": 622026, + "original_offset": 61064, + "generated_offset": 642272, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60239, - "generated_offset": 622070, + "original_offset": 61084, + "generated_offset": 642316, "length": 5 }, { "source": "parser.mbty", - "original_offset": 59310, - "generated_offset": 622963, + "original_offset": 60155, + "generated_offset": 643209, "length": 46 }, { "source": "parser.mbty", - "original_offset": 59358, - "generated_offset": 623017, + "original_offset": 60203, + "generated_offset": 643263, "length": 14 }, { "source": "parser.mbty", - "original_offset": 59380, - "generated_offset": 623071, + "original_offset": 60225, + "generated_offset": 643317, "length": 17 }, { "source": "parser.mbty", - "original_offset": 59399, - "generated_offset": 623096, + "original_offset": 60244, + "generated_offset": 643342, "length": 21 }, { "source": "parser.mbty", - "original_offset": 59425, - "generated_offset": 623146, + "original_offset": 60270, + "generated_offset": 643392, "length": 10 }, { "source": "parser.mbty", - "original_offset": 59310, - "generated_offset": 624044, + "original_offset": 60155, + "generated_offset": 644290, "length": 46 }, { "source": "parser.mbty", - "original_offset": 59358, - "generated_offset": 624098, + "original_offset": 60203, + "generated_offset": 644344, "length": 14 }, { "source": "parser.mbty", - "original_offset": 59380, - "generated_offset": 624152, + "original_offset": 60225, + "generated_offset": 644398, "length": 17 }, { "source": "parser.mbty", - "original_offset": 59399, - "generated_offset": 624177, + "original_offset": 60244, + "generated_offset": 644423, "length": 21 }, { "source": "parser.mbty", - "original_offset": 59425, - "generated_offset": 624227, + "original_offset": 60270, + "generated_offset": 644473, "length": 10 }, { "source": "parser.mbty", - "original_offset": 59310, - "generated_offset": 625125, + "original_offset": 60155, + "generated_offset": 645371, "length": 46 }, { "source": "parser.mbty", - "original_offset": 59358, - "generated_offset": 625179, + "original_offset": 60203, + "generated_offset": 645425, "length": 14 }, { "source": "parser.mbty", - "original_offset": 59380, - "generated_offset": 625233, + "original_offset": 60225, + "generated_offset": 645479, "length": 17 }, { "source": "parser.mbty", - "original_offset": 59399, - "generated_offset": 625258, + "original_offset": 60244, + "generated_offset": 645504, "length": 21 }, { "source": "parser.mbty", - "original_offset": 59425, - "generated_offset": 625308, + "original_offset": 60270, + "generated_offset": 645554, "length": 10 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 625585, + "original_offset": 4227, + "generated_offset": 645831, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 625594, + "original_offset": 4230, + "generated_offset": 645840, "length": 7 }, { "source": "parser.mbty", - "original_offset": 59681, - "generated_offset": 626622, + "original_offset": 60526, + "generated_offset": 646868, "length": 29 }, { "source": "parser.mbty", - "original_offset": 59712, - "generated_offset": 626659, + "original_offset": 60557, + "generated_offset": 646905, "length": 20 }, { "source": "parser.mbty", - "original_offset": 59734, - "generated_offset": 626687, + "original_offset": 60579, + "generated_offset": 646933, "length": 85 }, { "source": "parser.mbty", - "original_offset": 59821, - "generated_offset": 626780, + "original_offset": 60666, + "generated_offset": 647026, "length": 42 }, { "source": "parser.mbty", - "original_offset": 59865, - "generated_offset": 626830, + "original_offset": 60710, + "generated_offset": 647076, "length": 15 }, { "source": "parser.mbty", - "original_offset": 59885, - "generated_offset": 626874, + "original_offset": 60730, + "generated_offset": 647120, "length": 5 }, { "source": "parser.mbty", "original_offset": 130, - "generated_offset": 627114, + "generated_offset": 647360, "length": 6 }, { "source": "parser.mbty", "original_offset": 138, - "generated_offset": 627128, + "generated_offset": 647374, "length": 2 }, { "source": "parser.mbty", - "original_offset": 59150, - "generated_offset": 627646, + "original_offset": 59995, + "generated_offset": 647892, "length": 38 }, { "source": "parser.mbty", - "original_offset": 59193, - "generated_offset": 627713, + "original_offset": 60038, + "generated_offset": 647959, "length": 3 }, { "source": "parser.mbty", - "original_offset": 59198, - "generated_offset": 627724, + "original_offset": 60043, + "generated_offset": 647970, "length": 5 }, { "source": "parser.mbty", - "original_offset": 59205, - "generated_offset": 627737, + "original_offset": 60050, + "generated_offset": 647983, "length": 3 }, { "source": "parser.mbty", - "original_offset": 59681, - "generated_offset": 628761, + "original_offset": 60526, + "generated_offset": 649007, "length": 29 }, { "source": "parser.mbty", - "original_offset": 59712, - "generated_offset": 628798, + "original_offset": 60557, + "generated_offset": 649044, "length": 20 }, { "source": "parser.mbty", - "original_offset": 59734, - "generated_offset": 628826, + "original_offset": 60579, + "generated_offset": 649072, "length": 85 }, { "source": "parser.mbty", - "original_offset": 59821, - "generated_offset": 628919, + "original_offset": 60666, + "generated_offset": 649165, "length": 42 }, { "source": "parser.mbty", - "original_offset": 59865, - "generated_offset": 628969, + "original_offset": 60710, + "generated_offset": 649215, "length": 15 }, { "source": "parser.mbty", - "original_offset": 59885, - "generated_offset": 629013, + "original_offset": 60730, + "generated_offset": 649259, "length": 5 }, { "source": "parser.mbty", "original_offset": 115, - "generated_offset": 629197, + "generated_offset": 649443, "length": 6 }, { "source": "parser.mbty", - "original_offset": 60108, - "generated_offset": 629943, + "original_offset": 60953, + "generated_offset": 650189, "length": 29 }, { "source": "parser.mbty", - "original_offset": 60139, - "generated_offset": 629980, + "original_offset": 60984, + "generated_offset": 650226, "length": 34 }, { "source": "parser.mbty", - "original_offset": 60175, - "generated_offset": 630022, + "original_offset": 61020, + "generated_offset": 650268, "length": 42 }, { "source": "parser.mbty", - "original_offset": 60219, - "generated_offset": 630072, + "original_offset": 61064, + "generated_offset": 650318, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60239, - "generated_offset": 630116, + "original_offset": 61084, + "generated_offset": 650362, "length": 5 }, { "source": "parser.mbty", - "original_offset": 59229, - "generated_offset": 630344, + "original_offset": 60074, + "generated_offset": 650590, "length": 1 }, { "source": "parser.mbty", - "original_offset": 59232, - "generated_offset": 630353, + "original_offset": 60077, + "generated_offset": 650599, "length": 1 }, { "source": "parser.mbty", - "original_offset": 58301, - "generated_offset": 630597, + "original_offset": 59146, + "generated_offset": 650843, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58305, - "generated_offset": 630607, + "original_offset": 59150, + "generated_offset": 650853, "length": 15 }, { "source": "parser.mbty", - "original_offset": 57957, - "generated_offset": 630871, + "original_offset": 58802, + "generated_offset": 651117, "length": 16 }, { "source": "parser.mbty", - "original_offset": 57975, - "generated_offset": 630895, + "original_offset": 58820, + "generated_offset": 651141, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58043, - "generated_offset": 631496, + "original_offset": 58888, + "generated_offset": 651742, "length": 104 }, { "source": "parser.mbty", - "original_offset": 58152, - "generated_offset": 631629, + "original_offset": 58997, + "generated_offset": 651875, "length": 51 }, { "source": "parser.mbty", - "original_offset": 58208, - "generated_offset": 631709, + "original_offset": 59053, + "generated_offset": 651955, "length": 42 }, { "source": "parser.mbty", - "original_offset": 57892, - "generated_offset": 632122, + "original_offset": 58737, + "generated_offset": 652368, "length": 31 }, { "source": "parser.mbty", - "original_offset": 57928, - "generated_offset": 632182, + "original_offset": 58773, + "generated_offset": 652428, "length": 3 }, { "source": "parser.mbty", - "original_offset": 57994, - "generated_offset": 632549, + "original_offset": 58839, + "generated_offset": 652795, "length": 22 }, { "source": "parser.mbty", - "original_offset": 58021, - "generated_offset": 632600, + "original_offset": 58866, + "generated_offset": 652846, "length": 3 }, { "source": "parser.mbty", - "original_offset": 58425, - "generated_offset": 632917, + "original_offset": 59270, + "generated_offset": 653163, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58429, - "generated_offset": 632927, + "original_offset": 59274, + "generated_offset": 653173, "length": 17 }, { "source": "parser.mbty", - "original_offset": 58448, - "generated_offset": 632952, + "original_offset": 59293, + "generated_offset": 653198, "length": 3 }, { "source": "parser.mbty", - "original_offset": 58343, - "generated_offset": 633313, + "original_offset": 59188, + "generated_offset": 653559, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58347, - "generated_offset": 633323, + "original_offset": 59192, + "generated_offset": 653569, "length": 32 }, { "source": "parser.mbty", - "original_offset": 58387, - "generated_offset": 633395, + "original_offset": 59232, + "generated_offset": 653641, "length": 4 }, { "source": "parser.mbty", - "original_offset": 58485, - "generated_offset": 633714, + "original_offset": 59330, + "generated_offset": 653960, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58489, - "generated_offset": 633724, + "original_offset": 59334, + "generated_offset": 653970, "length": 18 }, { "source": "parser.mbty", - "original_offset": 58509, - "generated_offset": 633750, + "original_offset": 59354, + "generated_offset": 653996, "length": 3 }, { "source": "parser.mbty", - "original_offset": 58796, - "generated_offset": 634315, + "original_offset": 59641, + "generated_offset": 654561, "length": 46 }, { "source": "parser.mbty", - "original_offset": 58844, - "generated_offset": 634369, + "original_offset": 59689, + "generated_offset": 654615, "length": 14 }, { "source": "parser.mbty", - "original_offset": 58863, - "generated_offset": 634412, + "original_offset": 59708, + "generated_offset": 654658, "length": 51 }, { "source": "parser.mbty", - "original_offset": 58919, - "generated_offset": 634492, + "original_offset": 59764, + "generated_offset": 654738, "length": 10 }, { "source": "parser.mbty", - "original_offset": 58940, - "generated_offset": 634851, + "original_offset": 59785, + "generated_offset": 655097, "length": 18 }, { "source": "parser.mbty", - "original_offset": 58963, - "generated_offset": 634898, + "original_offset": 59808, + "generated_offset": 655144, "length": 3 }, { "source": "parser.mbty", - "original_offset": 59014, - "generated_offset": 635437, + "original_offset": 59859, + "generated_offset": 655683, "length": 39 }, { "source": "parser.mbty", - "original_offset": 59058, - "generated_offset": 635505, + "original_offset": 59903, + "generated_offset": 655751, "length": 23 }, { "source": "parser.mbty", - "original_offset": 59089, - "generated_offset": 635568, + "original_offset": 59934, + "generated_offset": 655814, "length": 3 }, { "source": "parser.mbty", - "original_offset": 59094, - "generated_offset": 635579, + "original_offset": 59939, + "generated_offset": 655825, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58548, - "generated_offset": 635886, + "original_offset": 59393, + "generated_offset": 656132, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58552, - "generated_offset": 635896, + "original_offset": 59397, + "generated_offset": 656142, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58556, - "generated_offset": 635906, + "original_offset": 59401, + "generated_offset": 656152, "length": 2 }, { "source": "parser.mbty", - "original_offset": 59588, - "generated_offset": 636129, + "original_offset": 60433, + "generated_offset": 656375, "length": 1 }, { "source": "parser.mbty", - "original_offset": 59591, - "generated_offset": 636138, + "original_offset": 60436, + "generated_offset": 656384, "length": 1 }, { "source": "parser.mbty", - "original_offset": 59931, - "generated_offset": 636824, + "original_offset": 60776, + "generated_offset": 657070, "length": 29 }, { "source": "parser.mbty", - "original_offset": 59962, - "generated_offset": 636861, + "original_offset": 60807, + "generated_offset": 657107, "length": 72 }, { "source": "parser.mbty", - "original_offset": 60036, - "generated_offset": 636941, + "original_offset": 60881, + "generated_offset": 657187, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60056, - "generated_offset": 636985, + "original_offset": 60901, + "generated_offset": 657231, "length": 5 }, { "source": "parser.mbty", - "original_offset": 6684, - "generated_offset": 637160, + "original_offset": 6803, + "generated_offset": 657406, "length": 6 }, { "source": "parser.mbty", - "original_offset": 59310, - "generated_offset": 638054, + "original_offset": 60155, + "generated_offset": 658300, "length": 46 }, { "source": "parser.mbty", - "original_offset": 59358, - "generated_offset": 638108, + "original_offset": 60203, + "generated_offset": 658354, "length": 14 }, { "source": "parser.mbty", - "original_offset": 59380, - "generated_offset": 638162, + "original_offset": 60225, + "generated_offset": 658408, "length": 17 }, { "source": "parser.mbty", - "original_offset": 59399, - "generated_offset": 638187, + "original_offset": 60244, + "generated_offset": 658433, "length": 21 }, { "source": "parser.mbty", - "original_offset": 59425, - "generated_offset": 638237, + "original_offset": 60270, + "generated_offset": 658483, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7202, - "generated_offset": 638722, + "original_offset": 7321, + "generated_offset": 658968, "length": 11 }, { "source": "parser.mbty", - "original_offset": 7215, - "generated_offset": 638741, + "original_offset": 7334, + "generated_offset": 658987, "length": 68 }, { "source": "parser.mbty", "original_offset": 130, - "generated_offset": 639120, + "generated_offset": 659366, "length": 6 }, { "source": "parser.mbty", "original_offset": 138, - "generated_offset": 639134, + "generated_offset": 659380, "length": 2 }, { "source": "parser.mbty", "original_offset": 613, - "generated_offset": 639361, + "generated_offset": 659607, "length": 1 }, { "source": "parser.mbty", "original_offset": 616, - "generated_offset": 639370, + "generated_offset": 659616, "length": 1 }, { "source": "parser.mbty", - "original_offset": 59310, - "generated_offset": 640259, + "original_offset": 60155, + "generated_offset": 660505, "length": 46 }, { "source": "parser.mbty", - "original_offset": 59358, - "generated_offset": 640313, + "original_offset": 60203, + "generated_offset": 660559, "length": 14 }, { "source": "parser.mbty", - "original_offset": 59380, - "generated_offset": 640367, + "original_offset": 60225, + "generated_offset": 660613, "length": 17 }, { "source": "parser.mbty", - "original_offset": 59399, - "generated_offset": 640392, + "original_offset": 60244, + "generated_offset": 660638, "length": 21 }, { "source": "parser.mbty", - "original_offset": 59425, - "generated_offset": 640442, + "original_offset": 60270, + "generated_offset": 660688, "length": 10 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 640758, + "original_offset": 4013, + "generated_offset": 661004, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 640767, + "original_offset": 4016, + "generated_offset": 661013, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 640780, + "original_offset": 4023, + "generated_offset": 661026, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 641015, + "original_offset": 3950, + "generated_offset": 661261, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 641040, + "original_offset": 3969, + "generated_offset": 661286, "length": 2 }, { "source": "parser.mbty", - "original_offset": 59310, - "generated_offset": 641930, + "original_offset": 60155, + "generated_offset": 662176, "length": 46 }, { "source": "parser.mbty", - "original_offset": 59358, - "generated_offset": 641984, + "original_offset": 60203, + "generated_offset": 662230, "length": 14 }, { "source": "parser.mbty", - "original_offset": 59380, - "generated_offset": 642038, + "original_offset": 60225, + "generated_offset": 662284, "length": 17 }, { "source": "parser.mbty", - "original_offset": 59399, - "generated_offset": 642063, + "original_offset": 60244, + "generated_offset": 662309, "length": 21 }, { "source": "parser.mbty", - "original_offset": 59425, - "generated_offset": 642113, + "original_offset": 60270, + "generated_offset": 662359, "length": 10 }, { "source": "parser.mbty", - "original_offset": 7202, - "generated_offset": 642598, + "original_offset": 7321, + "generated_offset": 662844, "length": 11 }, { "source": "parser.mbty", - "original_offset": 7215, - "generated_offset": 642617, + "original_offset": 7334, + "generated_offset": 662863, "length": 68 }, { "source": "parser.mbty", "original_offset": 115, - "generated_offset": 642864, + "generated_offset": 663110, "length": 6 }, { "source": "parser.mbty", - "original_offset": 59460, - "generated_offset": 643227, + "original_offset": 60305, + "generated_offset": 663473, "length": 24 }, { "source": "parser.mbty", - "original_offset": 59486, - "generated_offset": 643259, + "original_offset": 60331, + "generated_offset": 663505, "length": 14 }, { "source": "parser.mbty", - "original_offset": 59508, - "generated_offset": 643313, + "original_offset": 60353, + "generated_offset": 663559, "length": 5 }, { "source": "parser.mbty", - "original_offset": 59524, - "generated_offset": 643667, + "original_offset": 60369, + "generated_offset": 663913, "length": 18 }, { "source": "parser.mbty", - "original_offset": 59547, - "generated_offset": 643714, + "original_offset": 60392, + "generated_offset": 663960, "length": 3 }, { "source": "parser.mbty", - "original_offset": 59931, - "generated_offset": 644402, + "original_offset": 60776, + "generated_offset": 664648, "length": 29 }, { "source": "parser.mbty", - "original_offset": 59962, - "generated_offset": 644439, + "original_offset": 60807, + "generated_offset": 664685, "length": 72 }, { "source": "parser.mbty", - "original_offset": 60036, - "generated_offset": 644519, + "original_offset": 60881, + "generated_offset": 664765, "length": 15 }, { "source": "parser.mbty", - "original_offset": 60056, - "generated_offset": 644563, + "original_offset": 60901, + "generated_offset": 664809, "length": 5 }, { "source": "parser.mbty", - "original_offset": 6653, - "generated_offset": 644840, + "original_offset": 6772, + "generated_offset": 665086, "length": 13 }, { "source": "parser.mbty", - "original_offset": 6674, - "generated_offset": 644893, + "original_offset": 6793, + "generated_offset": 665139, "length": 3 }, { "source": "parser.mbty", - "original_offset": 58710, - "generated_offset": 645149, + "original_offset": 59555, + "generated_offset": 665395, "length": 8 }, { "source": "parser.mbty", - "original_offset": 58720, - "generated_offset": 645165, + "original_offset": 59565, + "generated_offset": 665411, "length": 2 }, { "source": "parser.mbty", - "original_offset": 58730, - "generated_offset": 645365, + "original_offset": 59575, + "generated_offset": 665611, "length": 21 }, { "source": "parser.mbty", - "original_offset": 28724, - "generated_offset": 645560, + "original_offset": 28988, + "generated_offset": 665806, "length": 6 }, { "source": "parser.mbty", - "original_offset": 53699, - "generated_offset": 646256, + "original_offset": 54544, + "generated_offset": 666502, "length": 32 }, { "source": "parser.mbty", - "original_offset": 53733, - "generated_offset": 646296, + "original_offset": 54578, + "generated_offset": 666542, "length": 14 }, { "source": "parser.mbty", - "original_offset": 53749, - "generated_offset": 646318, + "original_offset": 54594, + "generated_offset": 666564, "length": 24 }, { "source": "parser.mbty", - "original_offset": 53781, - "generated_offset": 646382, + "original_offset": 54626, + "generated_offset": 666628, "length": 21 }, { "source": "parser.mbty", - "original_offset": 53807, - "generated_offset": 646432, + "original_offset": 54652, + "generated_offset": 666678, "length": 10 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 646769, + "original_offset": 4013, + "generated_offset": 667015, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 646778, + "original_offset": 4016, + "generated_offset": 667024, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 646791, + "original_offset": 4023, + "generated_offset": 667037, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 647074, + "original_offset": 4227, + "generated_offset": 667320, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 647083, + "original_offset": 4230, + "generated_offset": 667329, "length": 7 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 647337, + "original_offset": 3950, + "generated_offset": 667583, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 647362, + "original_offset": 3969, + "generated_offset": 667608, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 647553, + "original_offset": 4390, + "generated_offset": 667799, "length": 15 }, { "source": "parser.mbty", - "original_offset": 47345, - "generated_offset": 647981, + "original_offset": 48190, + "generated_offset": 668227, "length": 17 }, { "source": "parser.mbty", - "original_offset": 47364, - "generated_offset": 648006, + "original_offset": 48209, + "generated_offset": 668252, "length": 15 }, { "source": "parser.mbty", - "original_offset": 47384, - "generated_offset": 648050, + "original_offset": 48229, + "generated_offset": 668296, "length": 3 }, { "source": "parser.mbty", - "original_offset": 47406, - "generated_offset": 648274, + "original_offset": 48251, + "generated_offset": 668520, "length": 1 }, { "source": "parser.mbty", - "original_offset": 47409, - "generated_offset": 648283, + "original_offset": 48254, + "generated_offset": 668529, "length": 1 }, { "source": "parser.mbty", - "original_offset": 47528, - "generated_offset": 648759, + "original_offset": 48373, + "generated_offset": 669005, "length": 38 }, { "source": "parser.mbty", - "original_offset": 47571, - "generated_offset": 648826, + "original_offset": 48416, + "generated_offset": 669072, "length": 16 }, { "source": "parser.mbty", - "original_offset": 47589, - "generated_offset": 648850, + "original_offset": 48434, + "generated_offset": 669096, "length": 14 }, { "source": "parser.mbty", - "original_offset": 47608, - "generated_offset": 648893, + "original_offset": 48453, + "generated_offset": 669139, "length": 5 }, { "source": "parser.mbty", - "original_offset": 47627, - "generated_offset": 649316, + "original_offset": 48472, + "generated_offset": 669562, "length": 17 }, { "source": "parser.mbty", - "original_offset": 47646, - "generated_offset": 649341, + "original_offset": 48491, + "generated_offset": 669587, "length": 15 }, { "source": "parser.mbty", - "original_offset": 47666, - "generated_offset": 649385, + "original_offset": 48511, + "generated_offset": 669631, "length": 3 }, { "source": "parser.mbty", - "original_offset": 53594, - "generated_offset": 649810, + "original_offset": 54439, + "generated_offset": 670056, "length": 15 }, { "source": "parser.mbty", - "original_offset": 53611, - "generated_offset": 649833, + "original_offset": 54456, + "generated_offset": 670079, "length": 15 }, { "source": "parser.mbty", - "original_offset": 53631, - "generated_offset": 649877, + "original_offset": 54476, + "generated_offset": 670123, "length": 3 }, { "source": "parser.mbty", - "original_offset": 3894, - "generated_offset": 650216, + "original_offset": 4013, + "generated_offset": 670462, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3897, - "generated_offset": 650225, + "original_offset": 4016, + "generated_offset": 670471, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3904, - "generated_offset": 650238, + "original_offset": 4023, + "generated_offset": 670484, "length": 2 }, { "source": "parser.mbty", "original_offset": 54, - "generated_offset": 650439, + "generated_offset": 670685, "length": 6 }, { "source": "parser.mbty", "original_offset": 62, - "generated_offset": 650453, + "generated_offset": 670699, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4108, - "generated_offset": 650742, + "original_offset": 4227, + "generated_offset": 670988, "length": 1 }, { "source": "parser.mbty", - "original_offset": 4111, - "generated_offset": 650751, + "original_offset": 4230, + "generated_offset": 670997, "length": 7 }, { "source": "parser.mbty", "original_offset": 39, - "generated_offset": 650931, + "generated_offset": 671177, "length": 6 }, { "source": "parser.mbty", - "original_offset": 3831, - "generated_offset": 651190, + "original_offset": 3950, + "generated_offset": 671436, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3850, - "generated_offset": 651215, + "original_offset": 3969, + "generated_offset": 671461, "length": 2 }, { "source": "parser.mbty", - "original_offset": 4271, - "generated_offset": 651409, + "original_offset": 4390, + "generated_offset": 671655, "length": 15 }, { "source": "parser.mbty", - "original_offset": 49323, - "generated_offset": 651644, + "original_offset": 50168, + "generated_offset": 671890, "length": 1 }, { "source": "parser.mbty", - "original_offset": 49326, - "generated_offset": 651653, + "original_offset": 50171, + "generated_offset": 671899, "length": 1 }, { "source": "parser.mbty", - "original_offset": 50450, - "generated_offset": 652101, + "original_offset": 51295, + "generated_offset": 672347, "length": 19 }, { "source": "parser.mbty", - "original_offset": 50471, - "generated_offset": 652128, + "original_offset": 51316, + "generated_offset": 672374, "length": 32 }, { "source": "parser.mbty", - "original_offset": 50508, - "generated_offset": 652189, + "original_offset": 51353, + "generated_offset": 672435, "length": 4 }, { "source": "parser.mbty", - "original_offset": 28440, - "generated_offset": 652509, + "original_offset": 28704, + "generated_offset": 672755, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28443, - "generated_offset": 652518, + "original_offset": 28707, + "generated_offset": 672764, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28219, - "generated_offset": 652767, + "original_offset": 28483, + "generated_offset": 673013, "length": 25 }, { "source": "parser.mbty", - "original_offset": 28246, - "generated_offset": 652800, + "original_offset": 28510, + "generated_offset": 673046, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28440, - "generated_offset": 653118, + "original_offset": 28704, + "generated_offset": 673364, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28443, - "generated_offset": 653127, + "original_offset": 28707, + "generated_offset": 673373, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28279, - "generated_offset": 653444, + "original_offset": 28543, + "generated_offset": 673690, "length": 22 }, { "source": "parser.mbty", - "original_offset": 28303, - "generated_offset": 653474, + "original_offset": 28567, + "generated_offset": 673720, "length": 7 }, { "source": "parser.mbty", - "original_offset": 28312, - "generated_offset": 653489, + "original_offset": 28576, + "generated_offset": 673735, "length": 2 }, { "source": "parser.mbty", - "original_offset": 28440, - "generated_offset": 653807, + "original_offset": 28704, + "generated_offset": 674053, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28443, - "generated_offset": 653816, + "original_offset": 28707, + "generated_offset": 674062, "length": 1 }, { "source": "parser.mbty", - "original_offset": 28345, - "generated_offset": 654133, + "original_offset": 28609, + "generated_offset": 674379, "length": 22 }, { "source": "parser.mbty", - "original_offset": 28369, - "generated_offset": 654163, + "original_offset": 28633, + "generated_offset": 674409, "length": 7 }, { "source": "parser.mbty", - "original_offset": 28378, - "generated_offset": 654178, + "original_offset": 28642, + "generated_offset": 674424, "length": 2 }, { "source": "parser.mbty", - "original_offset": 50537, - "generated_offset": 654630, + "original_offset": 51382, + "generated_offset": 674876, "length": 19 }, { "source": "parser.mbty", - "original_offset": 50558, - "generated_offset": 654657, + "original_offset": 51403, + "generated_offset": 674903, "length": 31 }, { "source": "parser.mbty", - "original_offset": 50594, - "generated_offset": 654717, + "original_offset": 51439, + "generated_offset": 674963, "length": 4 }, { "source": "parser.mbty", - "original_offset": 50784, - "generated_offset": 655148, + "original_offset": 51629, + "generated_offset": 675394, "length": 33 }, { "source": "parser.mbty", - "original_offset": 50822, - "generated_offset": 655210, + "original_offset": 51667, + "generated_offset": 675456, "length": 3 }, { "source": "parser.mbty", - "original_offset": 50827, - "generated_offset": 655221, + "original_offset": 51672, + "generated_offset": 675467, "length": 2 }, { "source": "parser.mbty", - "original_offset": 50869, - "generated_offset": 655712, + "original_offset": 51714, + "generated_offset": 675958, "length": 30 }, { "source": "parser.mbty", - "original_offset": 50901, - "generated_offset": 655750, + "original_offset": 51746, + "generated_offset": 675996, "length": 15 }, { "source": "parser.mbty", - "original_offset": 50921, - "generated_offset": 655794, + "original_offset": 51766, + "generated_offset": 676040, "length": 5 }, { "source": "parser.mbty", - "original_offset": 50940, - "generated_offset": 656220, + "original_offset": 51785, + "generated_offset": 676466, "length": 31 }, { "source": "parser.mbty", - "original_offset": 50976, - "generated_offset": 656280, + "original_offset": 51821, + "generated_offset": 676526, "length": 3 }, { "source": "parser.mbty", - "original_offset": 50981, - "generated_offset": 656291, + "original_offset": 51826, + "generated_offset": 676537, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51028, - "generated_offset": 656476, + "original_offset": 51873, + "generated_offset": 676722, "length": 12 }, { "source": "parser.mbty", - "original_offset": 51053, - "generated_offset": 656673, + "original_offset": 51898, + "generated_offset": 676919, "length": 13 }, { "source": "parser.mbty", - "original_offset": 51078, - "generated_offset": 656917, + "original_offset": 51923, + "generated_offset": 677163, "length": 6 }, { "source": "parser.mbty", - "original_offset": 51086, - "generated_offset": 656931, + "original_offset": 51931, + "generated_offset": 677177, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51101, - "generated_offset": 657168, + "original_offset": 51946, + "generated_offset": 677414, "length": 7 }, { "source": "parser.mbty", - "original_offset": 51110, - "generated_offset": 657183, + "original_offset": 51955, + "generated_offset": 677429, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51124, - "generated_offset": 657416, + "original_offset": 51969, + "generated_offset": 677662, "length": 6 }, { "source": "parser.mbty", - "original_offset": 51132, - "generated_offset": 657430, + "original_offset": 51977, + "generated_offset": 677676, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51145, - "generated_offset": 657661, + "original_offset": 51990, + "generated_offset": 677907, "length": 10 }, { "source": "parser.mbty", - "original_offset": 51157, - "generated_offset": 657679, + "original_offset": 52002, + "generated_offset": 677925, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51173, - "generated_offset": 657916, + "original_offset": 52018, + "generated_offset": 678162, "length": 13 }, { "source": "parser.mbty", - "original_offset": 51188, - "generated_offset": 657937, + "original_offset": 52033, + "generated_offset": 678183, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51203, - "generated_offset": 658172, + "original_offset": 52048, + "generated_offset": 678418, "length": 12 }, { "source": "parser.mbty", - "original_offset": 51217, - "generated_offset": 658192, + "original_offset": 52062, + "generated_offset": 678438, "length": 2 }, { "source": "parser.mbty", - "original_offset": 51233, - "generated_offset": 658431, + "original_offset": 52078, + "generated_offset": 678677, "length": 8 }, { "source": "parser.mbty", - "original_offset": 51243, - "generated_offset": 658447, + "original_offset": 52088, + "generated_offset": 678693, "length": 2 }, { "source": "parser.mbty", - "original_offset": 50667, - "generated_offset": 658700, + "original_offset": 51512, + "generated_offset": 678946, "length": 8 }, { "source": "parser.mbty", - "original_offset": 50677, - "generated_offset": 658716, + "original_offset": 51522, + "generated_offset": 678962, "length": 2 }, { "source": "parser.mbty", - "original_offset": 50703, - "generated_offset": 659013, + "original_offset": 51548, + "generated_offset": 679259, "length": 26 }, { "source": "parser.mbty", - "original_offset": 50731, - "generated_offset": 659047, + "original_offset": 51576, + "generated_offset": 679293, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3758, - "generated_offset": 659388, + "original_offset": 3877, + "generated_offset": 679634, "length": 1 }, { "source": "parser.mbty", - "original_offset": 3761, - "generated_offset": 659397, + "original_offset": 3880, + "generated_offset": 679643, "length": 5 }, { "source": "parser.mbty", - "original_offset": 3768, - "generated_offset": 659410, + "original_offset": 3887, + "generated_offset": 679656, "length": 2 }, { "source": "parser.mbty", - "original_offset": 3710, - "generated_offset": 659675, + "original_offset": 3829, + "generated_offset": 679921, "length": 17 }, { "source": "parser.mbty", - "original_offset": 3729, - "generated_offset": 659700, + "original_offset": 3848, + "generated_offset": 679946, "length": 2 }, { "source": "parser.mbty", - "original_offset": 31981, - "generated_offset": 659872, + "original_offset": 32245, + "generated_offset": 680118, "length": 5 } ] diff --git a/yacc_parser/parser.mbty b/yacc_parser/parser.mbty index 73268597..27122b95 100644 --- a/yacc_parser/parser.mbty +++ b/yacc_parser/parser.mbty @@ -116,12 +116,17 @@ %token ENUMVIEW "enumview" %token DECLARE "declare" %token NORAISE "noraise" +%token NOBREAK "nobreak" %token WHERE "where" %token TRY_QUESTION "try?" %token TRY_EXCLAMATION "try!" %token LEXMATCH "lexmatch" %token LEXMATCH_QUESTION "lexmatch?" +// Note: this token is only used by `.mbti` parser +%token PACKAGE "package" + + %right BARBAR %right AMPERAMPER %left BAR @@ -333,6 +338,7 @@ fun_header -> FunDecl vis: $2, doc: DocString::empty(), attrs: $1, + loc : mk_loc($loc) } } ; @@ -354,6 +360,7 @@ declare_fun_header -> FunDecl vis: $3, doc: DocString::empty(), attrs: $1, + loc : mk_loc($loc) } } @@ -367,7 +374,7 @@ local_type_decl -> LocalTypeDecl LocalTypeDecl::{ tycon : $2, tycon_loc : mk_loc($loc($2)), - components: Record($4), + components: Record(fields = $4, constr_decl = None), deriving: $6 } } @@ -414,6 +421,7 @@ extern_fun_header -> (StringLiteral, FunDecl) vis: $2, doc: DocString::empty(), attrs: $1, + loc : mk_loc($loc) } ($4, fn_decl) } @@ -547,14 +555,15 @@ structure_item -> Impl } ) } - | struct_header "{" list_semis(record_decl_field) "}" deriving_directive_list { + | struct_header "{" record_decl_body "}" deriving_directive_list { let (attrs, type_vis, tycon, tycon_loc, params) = $1 + let (fields, constr_decl) = $3 TopTypeDef( TypeDecl::{ tycon, tycon_loc, params, - components: Record($3), + components: Record(fields~, constr_decl~), type_vis, doc : DocString::empty(), deriving: $5, @@ -1337,14 +1346,24 @@ lex_case -> LexCase : LexCase::{ pat : $1, pat_loc : mk_loc($loc($1)), + guard_ : None, body : $3 } } + | lex_pattern "if" infix_expr "=>" expr_statement { + LexCase::{ + pat : $1, + pat_loc : mk_loc($loc($1)), + guard_ : Some($3), + body : $5 + } + } | "..." { let pat = @list.singleton(LexTopPattern::Wildcard(loc = mk_loc($sloc))) LexCase::{ pat, pat_loc : mk_loc($sloc), + guard_ : None, body : Hole(loc=mk_loc($sloc), kind=Todo) } } @@ -1493,6 +1512,21 @@ simple_try_expr -> Expr loc = mk_loc($sloc) ) } + | pipe_expr catch_keyword single_pattern_cases "}" else_keyword single_pattern_cases "}" { + let (catch_all, catch_loc) = $2 + let else_loc = $5 + Try( + body = $1, + catch_ = $3, + catch_all~, + try_else = Some($6), + has_try = false, + try_loc = mk_loc($loc($1)), + catch_loc~, + else_loc~, + loc = mk_loc($sloc) + ) + } | pipe_expr { $1 } ; @@ -2140,6 +2174,40 @@ record_decl_field -> FieldDecl } ; +record_constr_decl -> FunDecl + : attributes is_async "fn" optional_type_parameters binder "(" list_commas(trait_method_param) ")" func_return_type { + let (return_type, error_type) = $9 + FunDecl::{ + type_name : None, + name : $5, + has_error : None, + is_async : $2, + quantifiers: $4, + decl_params: Some($7), + params_loc: mk_loc($loc($7)), + return_type, + error_type, + vis: Default, + doc: DocString::empty(), + attrs: $1, + loc : mk_loc($loc) + } + } + +record_decl_body -> (List[FieldDecl], FunDecl?) + : record_constr_decl option(SEMI) { + (@list.empty(), Some($1)) + } + | { + (@list.empty(), None) + } + | non_empty_list_semi_rev_aux(record_decl_field) SEMI record_constr_decl option(SEMI) { + ($1.rev(), Some($3)) + } + | non_empty_list_semi_rev_aux(record_decl_field) option(SEMI) { + ($1.rev(), None) + } + constructor_param -> ConstrParam : option("mut") type_ { ConstrParam::{