aboutsummaryrefslogtreecommitdiff
path: root/test/cases
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-01-29 23:35:34 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-01-29 23:35:34 -0500
commitd2b94afaf2383bbcb03ab201e544aa830c082e99 (patch)
tree4b79c49847896a7962ba7e151121f4a7ec6fa584 /test/cases
parent3caf6bacdcc797167e5db1b5545aad8e464cf311 (diff)
downloadzig-d2b94afaf2383bbcb03ab201e544aa830c082e99.tar.gz
zig-d2b94afaf2383bbcb03ab201e544aa830c082e99.zip
fix compile time initialization of array with undefined
Diffstat (limited to 'test/cases')
-rw-r--r--test/cases/eval.zig26
1 files changed, 26 insertions, 0 deletions
diff --git a/test/cases/eval.zig b/test/cases/eval.zig
index 629fb6366b..0e5c0b37f9 100644
--- a/test/cases/eval.zig
+++ b/test/cases/eval.zig
@@ -252,3 +252,29 @@ fn comptimeIterateOverFnPtrList() {
assert(performFn('o', 0) == 1);
assert(performFn('w', 99) == 99);
}
+
+
+fn initStaticArray() -> [10]i32 {
+ var array: [10]i32 = undefined;
+ array[0] = 1;
+ array[4] = 2;
+ array[7] = 3;
+ array[9] = 4;
+ return array;
+}
+const static_array = initStaticArray();
+fn initStaticArrayToUndefined() {
+ @setFnTest(this);
+
+ assert(static_array[0] == 1);
+ assert(static_array[4] == 2);
+ assert(static_array[7] == 3);
+ assert(static_array[9] == 4);
+
+ comptime {
+ assert(static_array[0] == 1);
+ assert(static_array[4] == 2);
+ assert(static_array[7] == 3);
+ assert(static_array[9] == 4);
+ }
+}