diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2007-05-15T12·14+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2007-05-15T12·14+0000 |
commit | ca00aa11714921804afb490d0613086f549fb894 (patch) | |
tree | c07b7ec5facc5764589d644fe713ede095d97019 | |
parent | 7046c35843af7c6232efc7e7ee23b26096e0c692 (diff) |
* Allow empty argument lists in function definitions (e.g., `{}:
bla'). Also allow trailing commas (`{x, y,}: ...') as a unintented consequence. Hopefully the reduce/reduce conflict won't cause any problems.
-rw-r--r-- | src/libexpr/parser.y | 1 | ||||
-rw-r--r-- | tests/lang/eval-okay-empty-args.exp | 1 | ||||
-rw-r--r-- | tests/lang/eval-okay-empty-args.nix | 1 |
3 files changed, 3 insertions, 0 deletions
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y index 3540058bc1e0..1c06240fdab0 100644 --- a/src/libexpr/parser.y +++ b/src/libexpr/parser.y @@ -249,6 +249,7 @@ expr_list formals : formal ',' formals { $$ = ATinsert($3, $1); } /* idem - right recursive */ | formal { $$ = ATinsert(ATempty, $1); } + | { $$ = ATempty; } ; formal diff --git a/tests/lang/eval-okay-empty-args.exp b/tests/lang/eval-okay-empty-args.exp new file mode 100644 index 000000000000..c386bbc80410 --- /dev/null +++ b/tests/lang/eval-okay-empty-args.exp @@ -0,0 +1 @@ +Str("ab",[]) diff --git a/tests/lang/eval-okay-empty-args.nix b/tests/lang/eval-okay-empty-args.nix new file mode 100644 index 000000000000..78c133afdd94 --- /dev/null +++ b/tests/lang/eval-okay-empty-args.nix @@ -0,0 +1 @@ +({}: {x,y,}: "${x}${y}") {} {x = "a"; y = "b";} |