aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2024-02-20 02:18:36 +0200
committerKimplul <kimi.h.kuparinen@gmail.com>2024-02-20 02:18:36 +0200
commit89a907ddd0b7f6b888c61d54e3e41a8cee00b971 (patch)
treee18577c5a1153a4c167290feb486c08d1aef3539 /tests
parentb8eb76ef8efb2b000cb53d4d92d0c0df509cbdb8 (diff)
downloadek-89a907ddd0b7f6b888c61d54e3e41a8cee00b971.tar.gz
ek-89a907ddd0b7f6b888c61d54e3e41a8cee00b971.zip
expand type expansion
Diffstat (limited to 'tests')
-rw-r--r--tests/trait_expand.ek7
-rw-r--r--tests/trait_multiple_expand.ek18
-rw-r--r--tests/trait_recursive_expand.ek8
-rw-r--r--tests/type_expand.ek11
4 files changed, 44 insertions, 0 deletions
diff --git a/tests/trait_expand.ek b/tests/trait_expand.ek
new file mode 100644
index 0000000..eca1e16
--- /dev/null
+++ b/tests/trait_expand.ek
@@ -0,0 +1,7 @@
+define b[] {
+ a![];
+}
+
+define a[] {
+ a(*a a);
+}
diff --git a/tests/trait_multiple_expand.ek b/tests/trait_multiple_expand.ek
new file mode 100644
index 0000000..285a6ea
--- /dev/null
+++ b/tests/trait_multiple_expand.ek
@@ -0,0 +1,18 @@
+define b[] {
+ c![];
+ a![];
+}
+
+define a[] {
+ c![];
+ a(*a a);
+}
+
+define c[] {
+ c(*c c);
+}
+
+typedef d {
+ b![];
+ c(*d d) {}
+}
diff --git a/tests/trait_recursive_expand.ek b/tests/trait_recursive_expand.ek
new file mode 100644
index 0000000..53012bf
--- /dev/null
+++ b/tests/trait_recursive_expand.ek
@@ -0,0 +1,8 @@
+define b[] {
+ a![];
+}
+
+define a[] {
+ b![];
+ a(*a a);
+}
diff --git a/tests/type_expand.ek b/tests/type_expand.ek
new file mode 100644
index 0000000..e58d0a0
--- /dev/null
+++ b/tests/type_expand.ek
@@ -0,0 +1,11 @@
+define trait[] {
+ trait_func(*trait a, *trait b);
+}
+
+typedef a[] {
+ trait![];
+}
+
+main() {
+ a![] some_var;
+}