From eaf2d360120a4cab12c27ed51961cd5d224042ff Mon Sep 17 00:00:00 2001 From: Kimplul Date: Sat, 25 Mar 2023 20:34:24 +0200 Subject: initial constant struct stuff --- tests/structs.cu | 4 ++-- tests/vars.cu | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 tests/vars.cu (limited to 'tests') diff --git a/tests/structs.cu b/tests/structs.cu index 24e520e..8a3a1bb 100644 --- a/tests/structs.cu +++ b/tests/structs.cu @@ -1,4 +1,4 @@ -type any {} +typedef any {} struct basic_struct { a i64; @@ -21,7 +21,7 @@ main() complex_named const = {.a = 1, .b = 2, .c = 3} as complex_struct; /* should parentheses be required around typeof? */ - complex_ordinal const = {1, 2, 3} as complex_named; + complex_ordinal const = {1, 2, 3} as typeof complex_named; complex_mixed const = {1, .b = 2, 3} as complex_struct; /* force types */ diff --git a/tests/vars.cu b/tests/vars.cu new file mode 100644 index 0000000..8780e3f --- /dev/null +++ b/tests/vars.cu @@ -0,0 +1,33 @@ +typedef any {} + +struct some_struct { + a i64; +} + +struct some_template (A any) { + a A; +} + +main() +{ + a mut i64 = 20; + a = 200; + + b mut some_struct = {20}; + b = {200}; + + c mut = {20} as some_struct; + c = {200}; + + d mut some_template = {20}; + d = {200}; + + e mut some_template (i64) = {20}; + e = {200}; + + f mut = {20} as some_template; + f = {200}; + + g mut = {20} as some_template(i64); + g = {200}; +} -- cgit v1.3