Skip to content

Commit

Permalink
fix(records): spreads in records should not be rec:kv expr but just s…
Browse files Browse the repository at this point in the history
…pread expr

BREAKING CHANGE: spreads in records where part of a `rec:kv` expr inside record expressions, they are now simply children of record expressions
  • Loading branch information
kollhof committed Nov 30, 2020
1 parent 7385c8d commit 7b085d2
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 7 deletions.
6 changes: 5 additions & 1 deletion src/lang/literals/record.fnk
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,11 @@ get_key_val = fn ctx, key_or_default:

key_val_expr = fn ctx:
[key_or_default, value_ctx] = key_expr ctx
get_key_val value_ctx, key_or_default
match key_or_default:
{type: 'spread'}:
[key_or_default, value_ctx]
else:
get_key_val value_ctx, key_or_default



Expand Down
5 changes: 2 additions & 3 deletions src/lang/literals/record.test.fnk.snap
Original file line number Diff line number Diff line change
Expand Up @@ -447,9 +447,8 @@ exports[`record {...} parses spread prop 1`] = `
rec (1:0-1:13)
rec:kv (1:1-1:4)
ident (1:1-1:4) foo
rec:kv (1:6-1:12)
spread ... (1:6-1:12)
ident (1:9-1:12) bar
spread ... (1:6-1:12)
ident (1:9-1:12) bar
`;
exports[`record {...} parses unicode as keys 1`] = `
Expand Down
5 changes: 2 additions & 3 deletions src/lang/partial/init.test.fnk.snap
Original file line number Diff line number Diff line change
Expand Up @@ -100,9 +100,8 @@ rec (1:0-1:12)

exports[`partial parses record 2`] = `
rec (1:0-1:18)
rec:kv (1:1-1:5)
spread ... (1:1-1:5)
partial (1:4-1:5) ?
spread ... (1:1-1:5)
partial (1:4-1:5) ?
rec:kv (1:7-1:17)
ident (1:7-1:10) foo
string ' (1:12-1:17)
Expand Down

0 comments on commit 7b085d2

Please sign in to comment.