summaryrefslogtreecommitdiff
path: root/src/test/smp/separate/library
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/smp/separate/library')
-rw-r--r--src/test/smp/separate/library/Counters.smp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/smp/separate/library/Counters.smp b/src/test/smp/separate/library/Counters.smp
new file mode 100644
index 00000000..a3e36562
--- /dev/null
+++ b/src/test/smp/separate/library/Counters.smp
@@ -0,0 +1,12 @@
+// A library can keep shared state and publish instance constructors.
+int calls=0;
+val next_noInline={ -> calls++; return calls; };
+
+struct Counter {
+ val value=1;
+ new Counter={int n ->
+ value=0;
+ for(int i=0; i<n; i++) value=value*2+1;
+ };
+ val get={ -> value; };
+};