Commit 9232425b8f

ssmid <43345275+ssmid@users.noreply.github.com>
2024-07-17 16:06:34
single pointer slice syntax added
1 parent 01dc0d5
Changed files (2)
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
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>