| ... | @@ -101,3 +101,14 @@ test "Peer type resolution with string literals and unknown length u8 pointers" | ... | @@ -101,3 +101,14 @@ test "Peer type resolution with string literals and unknown length u8 pointers" |
| 101 | try std.testing.expect(@TypeOf("", "a", @as([*:0]const u8, "")) == [*:0]const u8); | 101 | try std.testing.expect(@TypeOf("", "a", @as([*:0]const u8, "")) == [*:0]const u8); |
| 102 | try std.testing.expect(@TypeOf(@as([*:0]const u8, "baz"), "foo", "bar") == [*:0]const u8); | 102 | try std.testing.expect(@TypeOf(@as([*:0]const u8, "baz"), "foo", "bar") == [*:0]const u8); |
| 103 | } | 103 | } |
| | 104 | |
| | 105 | test "including the sentinel when dereferencing a string literal" { |
| | 106 | var var_str = "abc"; |
| | 107 | const var_derefed = var_str[0 .. var_str.len + 1].*; |
| | 108 | |
| | 109 | const const_str = "abc"; |
| | 110 | const const_derefed = const_str[0 .. const_str.len + 1].*; |
| | 111 | |
| | 112 | try std.testing.expectEqualSlices(u8, &var_derefed, &const_derefed); |
| | 113 | try std.testing.expectEqual(0, const_derefed[3]); |
| | 114 | } |