From 6fc71835c3075aff4792b63bc38698cbe542f028 Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Fri, 28 Oct 2022 00:07:38 +0300 Subject: [PATCH] value: properly hash `null_value` pointer Closes #13325 --- src/value.zig | 1 + test/behavior/generics.zig | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/src/value.zig b/src/value.zig index 28601c1723..7d01430103 100644 --- 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 index 4a483ec0d5..9513118c19 100644 --- 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))); +}