From 89a907ddd0b7f6b888c61d54e3e41a8cee00b971 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Tue, 20 Feb 2024 02:18:36 +0200 Subject: expand type expansion --- tests/trait_expand.ek | 7 +++++++ tests/trait_multiple_expand.ek | 18 ++++++++++++++++++ tests/trait_recursive_expand.ek | 8 ++++++++ tests/type_expand.ek | 11 +++++++++++ 4 files changed, 44 insertions(+) create mode 100644 tests/trait_expand.ek create mode 100644 tests/trait_multiple_expand.ek create mode 100644 tests/trait_recursive_expand.ek create mode 100644 tests/type_expand.ek (limited to 'tests') 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; +} -- cgit v1.3