commit 9232425b8f68e84d192c9c77ca0c3b7b2547d195 (tree) parent 01dc0d5a7222470939d3eb96b1d14c27b70161ad Author: ssmid <43345275+ssmid@users.noreply.github.com> Date: Wed, 17 Jul 2024 16:06:34 +0200 single pointer slice syntax added Diffstat:
| M | doc/langref.html.in | | | 1 | + |
| M | doc/langref/test_single_item_pointer.zig | | | 14 | ++++++++++++++ |
2 files changed, 15 insertions(+), 0 deletions(-)
diff --git a/doc/langref.html.in b/doc/langref.html.in @@ -1935,6 +1935,7 @@ or <li>{#syntax#}*T{#endsyntax#} - single-item pointer to exactly one item. <ul> <li>Supports deref syntax: {#syntax#}ptr.*{#endsyntax#}</li> + <li>Supports slice syntax: {#syntax#}ptr[0..1]{#endsyntax#}</li> <li>Supports pointer subtraction: {#syntax#}ptr - ptr{#endsyntax#}</li> </ul> </li> diff --git a/doc/langref/test_single_item_pointer.zig b/doc/langref/test_single_item_pointer.zig @@ -32,4 +32,18 @@ test "pointer array access" { try expect(array[2] == 4); } +test "slice syntax" { + // Get a pointer to a variable: + var x: i32 = 1234; + const x_ptr = &x; + + // Convert to array pointer using slice syntax: + const x_array_ptr = x_ptr[0..1]; + try expect(@TypeOf(x_array_ptr) == *[1]i32); + + // Coerce to many-item pointer: + const x_many_ptr: [*]i32 = x_array_ptr; + try expect(x_many_ptr[0] == 1234); +} + // test