authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-10-28 00:07:38+03:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2022-10-28 13:31:16+03:00
log6fc71835c3075aff4792b63bc38698cbe542f028
tree303c1a02836384f82f92ee045a108dbf0374c9f2
parentc3b85e4e2f3da02d78ccb814e3025ee4b78d541b

value: properly hash `null_value` pointer

Closes #13325

2 files changed, 10 insertions(+), 0 deletions(-)

src/value.zig+1
...@@ -2621,6 +2621,7 @@ pub const Value = extern union {...@@ -2621,6 +2621,7 @@ pub const Value = extern union {
26212621
2622 .zero,2622 .zero,
2623 .one,2623 .one,
2624 .null_value,
2624 .int_u64,2625 .int_u64,
2625 .int_i64,2626 .int_i64,
2626 .int_big_positive,2627 .int_big_positive,
test/behavior/generics.zig+9
...@@ -396,3 +396,12 @@ test "slice as parameter type" {...@@ -396,3 +396,12 @@ test "slice as parameter type" {
396 try expect(S.internComptimeString(source_a[1..2]) == S.internComptimeString(source_a[1..2]));396 try expect(S.internComptimeString(source_a[1..2]) == S.internComptimeString(source_a[1..2]));
397 try expect(S.internComptimeString(source_a[2..4]) != S.internComptimeString(source_a[5..7]));397 try expect(S.internComptimeString(source_a[2..4]) != S.internComptimeString(source_a[5..7]));
398}398}
399
400test "null sentinel pointer passed as generic argument" {
401 const S = struct {
402 fn doTheTest(a: anytype) !void {
403 try std.testing.expect(@ptrToInt(a) == 8);
404 }
405 };
406 try S.doTheTest((@intToPtr([*:null]const [*c]const u8, 8)));
407}