diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2024-10-09 00:47:42 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2024-10-09 00:47:42 -0400 |
| commit | a3dab7e72650d7b5b6070d33024914834a739b2b (patch) | |
| tree | 9a6c5f45dda0b6f45eeaf07be032f6c1300c9810 /test | |
| parent | 7c853f83c9ee0180a178767d549a3df446c63b8d (diff) | |
Add a test for mutating closed-over variables in a defer statement
Diffstat (limited to 'test')
| -rw-r--r-- | test/defer.tm | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/defer.tm b/test/defer.tm index deccaa70..5d3c55b5 100644 --- a/test/defer.tm +++ b/test/defer.tm @@ -57,6 +57,14 @@ func main(): >> defer_func(yes) >> defer_func(no) + >> counter := make_counter() + >> counter() + = 1 + >> counter() + = 2 + >> counter() + = 3 + func defer_func(return_early=no): say("Entering defer_func") defer: @@ -68,3 +76,9 @@ func defer_func(return_early=no): say("Finished defer_func") +func make_counter()->func()->Int: + i := 1 + return func(): + defer: i += 1 + return i + |
