mirror of
https://github.com/ziglang/zig.git
synced 2025-12-06 06:13:07 +00:00
single pointer slice syntax added
This commit is contained in:
parent
01dc0d5a72
commit
9232425b8f
@ -1935,6 +1935,7 @@ or
|
|||||||
<li>{#syntax#}*T{#endsyntax#} - single-item pointer to exactly one item.
|
<li>{#syntax#}*T{#endsyntax#} - single-item pointer to exactly one item.
|
||||||
<ul>
|
<ul>
|
||||||
<li>Supports deref syntax: {#syntax#}ptr.*{#endsyntax#}</li>
|
<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>
|
<li>Supports pointer subtraction: {#syntax#}ptr - ptr{#endsyntax#}</li>
|
||||||
</ul>
|
</ul>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
@ -32,4 +32,18 @@ test "pointer array access" {
|
|||||||
try expect(array[2] == 4);
|
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
|
// test
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user