aboutsummaryrefslogtreecommitdiff
path: root/tests/structs.cu
diff options
context:
space:
mode:
Diffstat (limited to 'tests/structs.cu')
-rw-r--r--tests/structs.cu48
1 files changed, 0 insertions, 48 deletions
diff --git a/tests/structs.cu b/tests/structs.cu
deleted file mode 100644
index 8a3a1bb..0000000
--- a/tests/structs.cu
+++ /dev/null
@@ -1,48 +0,0 @@
-typedef any {}
-
-struct basic_struct {
- a i64;
- b i64;
- c i64;
-}
-
-struct complex_struct (A any, B any, C any) {
- a A;
- b B;
- c C;
-}
-
-main()
-{
- /* infer types */
- simple_named const = {.a = 1, .b = 2, .c = 3} as basic_struct;
- simple_ordinal const = {1, 2, 3} as basic_struct;
- simple_mixed const = {1, .b = 2, 3} as basic_struct;
-
- 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 typeof complex_named;
- complex_mixed const = {1, .b = 2, 3} as complex_struct;
-
- /* force types */
- force_named complex_struct(u32, u32, u32) = {.a = 1, .b = 2, .c = 3};
- force_ordinal typeof force_named = {1, 2, 3};
- force_mixed typeof force_ordinal = {1, .b = 2, 3};
-
- force_inferred_named mut = {.a = 1, .b = 2, .c = 3} as
- complex_struct(u32, u32, u32);
-
- force_inferred_ordinal mut = {1, 2, 3} as
- complex_struct(u32, u32, u32);
-
- force_inferred_mixed mut = {1, .b = 2, 3} as
- complex_struct(u32, u32, u32);
-
- /* shouldn't be compileable due to not enough type info */
- // error_named const = {.a = 1, .b = 2, .c = 3};
-
- /* types should be inferred */
- force_inferred_named = {.a = 2, .b = 3, .c = 4};
- force_inferred_ordinal = {2, 3, 4};
- force_inferred_mixed = {2, .b = 3, 4};
-}