aboutsummaryrefslogtreecommitdiff
path: root/tests/structs/structs.ek
diff options
context:
space:
mode:
Diffstat (limited to 'tests/structs/structs.ek')
-rw-r--r--tests/structs/structs.ek23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/structs/structs.ek b/tests/structs/structs.ek
new file mode 100644
index 0000000..13399b3
--- /dev/null
+++ b/tests/structs/structs.ek
@@ -0,0 +1,23 @@
+typedef ptr {}
+typedef i27 {}
+typedef i9 {}
+
+typedef int_pair {
+ i27 a;
+ i27 b;
+
+ sum(*int_pair self => i27)
+ {
+ return self*.a + self*.b;
+ }
+}
+
+extern _putchar(i9 c);
+
+main()
+{
+ mut p = int_pair!{.a = 1, .b = 2};
+ i27 s = p.sum();
+ _putchar('0' + s as i9);
+ _putchar('\n');
+}