aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/eval.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-05-26 19:38:28 -0700
committerAndrew Kelley <andrew@ziglang.org>2022-05-26 21:58:19 -0700
commit4751356d7f1da157665d37e29216628e61ddf079 (patch)
tree4d703caff2eec93161d5f37737b24fa87073053b /test/behavior/eval.zig
parentf2e8c79763723e394f57af84af977d91652568b5 (diff)
downloadzig-4751356d7f1da157665d37e29216628e61ddf079.tar.gz
zig-4751356d7f1da157665d37e29216628e61ddf079.zip
clean up some behavior tests
* improve names * properly categorize a couple of bug cases * mark one as already passing
Diffstat (limited to 'test/behavior/eval.zig')
-rw-r--r--test/behavior/eval.zig27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/behavior/eval.zig b/test/behavior/eval.zig
index 63eef12207..4609b58ddb 100644
--- a/test/behavior/eval.zig
+++ b/test/behavior/eval.zig
@@ -1203,3 +1203,30 @@ test "equality of pointers to comptime const" {
const a: i32 = undefined;
comptime assert(&a == &a);
}
+
+test "storing an array of type in a field" {
+ if (builtin.zig_backend != .stage1) return error.SkipZigTest; // TODO
+
+ const S = struct {
+ fn doTheTest() void {
+ comptime var foobar = Foobar.foo();
+ foo(foobar.str[0..10]);
+ }
+ const Foobar = struct {
+ myTypes: [128]type,
+ str: [1024]u8,
+
+ fn foo() @This() {
+ comptime var foobar: Foobar = undefined;
+ foobar.str = [_]u8{'a'} ** 1024;
+ return foobar;
+ }
+ };
+
+ fn foo(arg: anytype) void {
+ _ = arg;
+ }
+ };
+
+ S.doTheTest();
+}