diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2022-09-30 00:14:55 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-30 00:14:55 -0400 |
| commit | 34835bbbcfe81cc87e823d14dc9b25e698ad5edc (patch) | |
| tree | 28a56101f900d2b5a098b78ee800f4df909ae577 /test/behavior/slice.zig | |
| parent | f6312e4b6933b8c8d163d6e6b20da135c5fa986a (diff) | |
| parent | 2a4e89e0c9428b1ca59bc23c7c1d667c8ddb2304 (diff) | |
| download | zig-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.zig | 28 |
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)); +} |
