zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 6fc71835c3075aff4792b63bc38698cbe542f028 (tree)
parent c3b85e4e2f3da02d78ccb814e3025ee4b78d541b
Author: Veikka Tuominen <git@vexu.eu>
Date:   Fri, 28 Oct 2022 00:07:38 +0300

value: properly hash `null_value` pointer

Closes #13325

Diffstat:
Msrc/value.zig | 1+
Mtest/behavior/generics.zig | 9+++++++++
2 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/src/value.zig b/src/value.zig @@ -2621,6 +2621,7 @@ pub const Value = extern union { .zero, .one, + .null_value, .int_u64, .int_i64, .int_big_positive, diff --git a/test/behavior/generics.zig b/test/behavior/generics.zig @@ -396,3 +396,12 @@ test "slice as parameter type" { try expect(S.internComptimeString(source_a[1..2]) == S.internComptimeString(source_a[1..2])); try expect(S.internComptimeString(source_a[2..4]) != S.internComptimeString(source_a[5..7])); } + +test "null sentinel pointer passed as generic argument" { + const S = struct { + fn doTheTest(a: anytype) !void { + try std.testing.expect(@ptrToInt(a) == 8); + } + }; + try S.doTheTest((@intToPtr([*:null]const [*c]const u8, 8))); +}