| author | |
| committer | |
| log | 9232425b8f68e84d192c9c77ca0c3b7b2547d195 |
| tree | 456f970c828b2c24cfd83d6412babb743761115f |
| parent | 01dc0d5a7222470939d3eb96b1d14c27b70161ad |
2 files changed, 15 insertions(+), 0 deletions(-)
doc/langref.html.in+1| ... | ... | @@ -1935,6 +1935,7 @@ or |
| 1935 | 1935 | <li>{#syntax#}*T{#endsyntax#} - single-item pointer to exactly one item. |
| 1936 | 1936 | <ul> |
| 1937 | 1937 | <li>Supports deref syntax: {#syntax#}ptr.*{#endsyntax#}</li> |
| 1938 | <li>Supports slice syntax: {#syntax#}ptr[0..1]{#endsyntax#}</li> | |
| 1938 | 1939 | <li>Supports pointer subtraction: {#syntax#}ptr - ptr{#endsyntax#}</li> |
| 1939 | 1940 | </ul> |
| 1940 | 1941 | </li> |
doc/langref/test_single_item_pointer.zig+14| ... | ... | @@ -32,4 +32,18 @@ test "pointer array access" { |
| 32 | 32 | try expect(array[2] == 4); |
| 33 | 33 | } |
| 34 | 34 | |
| 35 | test "slice syntax" { | |
| 36 | // Get a pointer to a variable: | |
| 37 | var x: i32 = 1234; | |
| 38 | const x_ptr = &x; | |
| 39 | ||
| 40 | // Convert to array pointer using slice syntax: | |
| 41 | const x_array_ptr = x_ptr[0..1]; | |
| 42 | try expect(@TypeOf(x_array_ptr) == *[1]i32); | |
| 43 | ||
| 44 | // Coerce to many-item pointer: | |
| 45 | const x_many_ptr: [*]i32 = x_array_ptr; | |
| 46 | try expect(x_many_ptr[0] == 1234); | |
| 47 | } | |
| 48 | ||
| 35 | 49 | // test |