diff options
| author | 2026-10-15 14:33:28 +0330 | |
|---|---|---|
| committer | 2026-10-15 14:33:28 +0330 | |
| commit | 25aa655e5b9464e291d542081ed1cf0f8fd666af (patch) | |
| tree | fb2fa4b3e77914ab00829b39142a2f8cfb3a9d8b /tests/hold/reject/actor_handler.zc | |
| parent | hold blocks: top-level hold { shared let ...; fn ... } monitors; shared value... (diff) | |
hold: fixtures (accept, reject, race, rank order) and tests/drivers/hold_test.py
Diffstat (limited to 'tests/hold/reject/actor_handler.zc')
| -rw-r--r-- | tests/hold/reject/actor_handler.zc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/hold/reject/actor_handler.zc b/tests/hold/reject/actor_handler.zc new file mode 100644 index 0000000..5548cad --- /dev/null +++ b/tests/hold/reject/actor_handler.zc @@ -0,0 +1,8 @@ +// error: total: is shared in a hold block; only the functions written inside that block can use it +// shared state reached from an actor's handler without going through its hold block +namespace; +include rt, actor; +typecheck on; +hold { shared let total; fn add(int n) { total = total + n; return total; } } +int work(int n) { total = total + n; return n; } +fn main() { actor.Actor<int,int>* a = rt.new(actor.Actor<int,int>); a.spawn(work); a.send(1); a.close(); return 0; } |
