In Optional Pointers section documentation says that "An optional pointer is guaranteed to be the same size as a pointer.". This contradicts allowzero section which says that "Optional Pointers with allowzero are not the same size as pointers.".
This example fails and demonstrates that ?*allowzero pointers are larger than normal pointers:
const std = @import("std");
const expectEqual = std.testing.expectEqual;
pub fn main() !void {
try expectEqual(@sizeOf(*i32), @sizeOf(?*allowzero i32));
}
For me it fails with "expected 8, found 16".
In [Optional Pointers](https://ziglang.org/documentation/0.16.0/#Optional-Pointers) section documentation says that "An optional pointer is guaranteed to be the same size as a pointer.". This contradicts [allowzero](https://ziglang.org/documentation/0.16.0/#allowzero) section which says that "Optional Pointers with allowzero are not the same size as pointers.".
This example fails and demonstrates that `?*allowzero` pointers are larger than normal pointers:
```
const std = @import("std");
const expectEqual = std.testing.expectEqual;
pub fn main() !void {
try expectEqual(@sizeOf(*i32), @sizeOf(?*allowzero i32));
}
```
For me it fails with "expected 8, found 16".