mirror of
https://github.com/roc-lang/roc.git
synced 2025-10-02 16:21:11 +00:00
Fix nested applied tag pattern parsing bug
This commit is contained in:
parent
99b6314af4
commit
72ba7310ce
1 changed files with 9 additions and 0 deletions
|
@ -763,6 +763,7 @@ fn parse_closure_param<'a>(
|
||||||
|
|
||||||
fn loc_pattern<'a>(min_indent: u16) -> impl Parser<'a, Located<Pattern<'a>>> {
|
fn loc_pattern<'a>(min_indent: u16) -> impl Parser<'a, Located<Pattern<'a>>> {
|
||||||
one_of!(
|
one_of!(
|
||||||
|
loc_parenthetical_pattern(min_indent),
|
||||||
loc!(underscore_pattern()),
|
loc!(underscore_pattern()),
|
||||||
loc_tag_pattern(min_indent),
|
loc_tag_pattern(min_indent),
|
||||||
loc!(ident_pattern()),
|
loc!(ident_pattern()),
|
||||||
|
@ -772,6 +773,14 @@ fn loc_pattern<'a>(min_indent: u16) -> impl Parser<'a, Located<Pattern<'a>>> {
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn loc_parenthetical_pattern<'a>(min_indent: u16) -> impl Parser<'a, Located<Pattern<'a>>> {
|
||||||
|
between!(
|
||||||
|
char('('),
|
||||||
|
move |arena, state| loc_pattern(min_indent).parse(arena, state),
|
||||||
|
char(')')
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
fn int_pattern<'a>() -> impl Parser<'a, Pattern<'a>> {
|
fn int_pattern<'a>() -> impl Parser<'a, Pattern<'a>> {
|
||||||
map_with_arena!(number_literal(), |arena, expr| {
|
map_with_arena!(number_literal(), |arena, expr| {
|
||||||
expr_to_pattern(arena, &expr).unwrap()
|
expr_to_pattern(arena, &expr).unwrap()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue