@@ -14,6 +14,22 @@ fn assert_array[T]() {
14
14
}
15
15
}
16
16
17
+ fn assert_array_dynamic [T]() {
18
+ $if T is $array_dynamic {
19
+ assert true
20
+ } $else {
21
+ assert false
22
+ }
23
+ }
24
+
25
+ fn assert_array_fixed [T]() {
26
+ $if T is $array_fixed {
27
+ assert true
28
+ } $else {
29
+ assert false
30
+ }
31
+ }
32
+
17
33
fn assert_struct [T]() {
18
34
$if T is $struct {
19
35
assert true
@@ -46,6 +62,22 @@ fn assert_not_array[T]() {
46
62
}
47
63
}
48
64
65
+ fn assert_not_array_dynamic [T]() {
66
+ $if T is $array_dynamic {
67
+ assert false
68
+ } $else {
69
+ assert true
70
+ }
71
+ }
72
+
73
+ fn assert_not_array_fixed [T]() {
74
+ $if T is $array_fixed {
75
+ assert false
76
+ } $else {
77
+ assert true
78
+ }
79
+ }
80
+
49
81
struct Abc {}
50
82
51
83
struct Bc {}
@@ -73,6 +105,30 @@ fn test_kind_array() {
73
105
assert_not_array[map [int ]int ]()
74
106
}
75
107
108
+ fn test_kind_array_dynamic () {
109
+ assert_array_dynamic[[]int ]()
110
+ assert_array_dynamic[[]f32 ]()
111
+ assert_array_dynamic[[]string ]()
112
+
113
+ assert_not_array_dynamic[Abc]()
114
+ assert_not_array_dynamic[string ]()
115
+ assert_not_array_dynamic[int ]()
116
+ assert_not_array_dynamic[map [int ]int ]()
117
+ assert_not_array_dynamic[[3 ]int ]()
118
+ }
119
+
120
+ fn test_kind_array_fixed () {
121
+ assert_array_fixed[[3 ]int ]()
122
+ assert_array_fixed[[5 ]f32 ]()
123
+ assert_array_fixed[[6 ]string ]()
124
+
125
+ assert_not_array_fixed[Abc]()
126
+ assert_not_array_fixed[string ]()
127
+ assert_not_array_fixed[int ]()
128
+ assert_not_array_fixed[map [int ]int ]()
129
+ assert_not_array_fixed[[]int ]()
130
+ }
131
+
76
132
fn test_kind_struct () {
77
133
assert_struct[Abc]()
78
134
assert_struct[Bc]()
0 commit comments