Remove parser restriction on varargs positioning

This commit is contained in:
Jonas Schievink
2022-03-31 16:03:27 +02:00
parent 9b000b544b
commit 42ecf406e8
5 changed files with 37 additions and 28 deletions

View File

@@ -34,6 +34,18 @@ SOURCE_FILE
WHITESPACE " "
PARAM
DOT3 "..."
COMMA ","
WHITESPACE " "
PARAM
WILDCARD_PAT
UNDERSCORE "_"
COLON ":"
WHITESPACE " "
PATH_TYPE
PATH
PATH_SEGMENT
NAME_REF
IDENT "u8"
R_PAREN ")"
WHITESPACE " "
RET_TYPE

View File

@@ -1 +1 @@
extern "C" { fn printf(format: *const i8, ...) -> i32; }
extern "C" { fn printf(format: *const i8, ..., _: u8) -> i32; }

View File

@@ -6,6 +6,10 @@ SOURCE_FILE
IDENT "foo"
PARAM_LIST
L_PAREN "("
PARAM
DOT3 "..."
COMMA ","
WHITESPACE " "
PARAM
TUPLE_PAT
L_PAREN "("

View File

@@ -1 +1 @@
fn foo((x, y): (i32, i32)) {}
fn foo(..., (x, y): (i32, i32)) {}