From a3dab7e72650d7b5b6070d33024914834a739b2b Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Wed, 9 Oct 2024 00:47:42 -0400 Subject: Add a test for mutating closed-over variables in a defer statement --- test/defer.tm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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 + -- cgit v1.2.3