aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/slice.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2022-09-30 00:14:55 -0400
committerGitHub <noreply@github.com>2022-09-30 00:14:55 -0400
commit34835bbbcfe81cc87e823d14dc9b25e698ad5edc (patch)
tree28a56101f900d2b5a098b78ee800f4df909ae577 /test/behavior/slice.zig
parentf6312e4b6933b8c8d163d6e6b20da135c5fa986a (diff)
parent2a4e89e0c9428b1ca59bc23c7c1d667c8ddb2304 (diff)
downloadzig-34835bbbcfe81cc87e823d14dc9b25e698ad5edc.tar.gz
zig-34835bbbcfe81cc87e823d14dc9b25e698ad5edc.zip
Merge pull request #13010 from Vexu/stage2-fixes
fix stack trace line numbers
Diffstat (limited to 'test/behavior/slice.zig')
-rw-r--r--test/behavior/slice.zig28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/behavior/slice.zig b/test/behavior/slice.zig
index e5cb8ea408..5aeb6a3414 100644
--- a/test/behavior/slice.zig
+++ b/test/behavior/slice.zig
@@ -684,3 +684,31 @@ test "slice len modification at comptime" {
try expect(items[1] == 1);
}
}
+
+test "slice field ptr const" {
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+
+ const const_slice: []const u8 = "string";
+
+ const const_ptr_const_slice = &const_slice;
+ try expectEqual(*const []const u8, @TypeOf(&const_ptr_const_slice.*));
+ try expectEqual(*const [*]const u8, @TypeOf(&const_ptr_const_slice.ptr));
+
+ var var_ptr_const_slice = &const_slice;
+ try expectEqual(*const []const u8, @TypeOf(&var_ptr_const_slice.*));
+ try expectEqual(*const [*]const u8, @TypeOf(&var_ptr_const_slice.ptr));
+}
+
+test "slice field ptr var" {
+ if (builtin.zig_backend == .stage2_c) return error.SkipZigTest; // TODO
+
+ var var_slice: []const u8 = "string";
+
+ var var_ptr_var_slice = &var_slice;
+ try expectEqual(*[]const u8, @TypeOf(&var_ptr_var_slice.*));
+ try expectEqual(*[*]const u8, @TypeOf(&var_ptr_var_slice.ptr));
+
+ const const_ptr_var_slice = &var_slice;
+ try expectEqual(*[]const u8, @TypeOf(&const_ptr_var_slice.*));
+ try expectEqual(*[*]const u8, @TypeOf(&const_ptr_var_slice.ptr));
+}