Skip to content

Commit a85823b

Browse files
committed
cases: add test coverage for #12159
Closes #12159
1 parent 0544ce9 commit a85823b

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

test/cases/compile_errors/invalid_store_to_comptime_field.zig

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -44,15 +44,15 @@ pub export fn entry5() void {
4444
comptime var y = .{ 1, 2 };
4545
y = .{ 3, 4 };
4646
}
47-
// pub export fn entry5() void {
48-
// var x: u32 = 15;
49-
// const T = @TypeOf(.{ @as(i32, -1234), @as(u32, 5678), x });
50-
// const S = struct {
51-
// fn foo(_: T) void {}
52-
// };
53-
// _ = S.foo(.{ -1234, 5679, x });
54-
// }
5547
pub export fn entry6() void {
48+
var x: u32 = 15;
49+
const T = @TypeOf(.{ @as(i32, -1234), @as(u32, 5678), x });
50+
const S = struct {
51+
fn foo(_: T) void {}
52+
};
53+
_ = S.foo(.{ -1234, 5679, x });
54+
}
55+
pub export fn entry7() void {
5656
const State = struct {
5757
comptime id: bool = true,
5858
fn init(comptime id: bool) @This() {
@@ -61,6 +61,11 @@ pub export fn entry6() void {
6161
};
6262
_ = State.init(false);
6363
}
64+
pub export fn entry8() void {
65+
const list1 = .{ "sss", 1, 2, 3 };
66+
const list2 = @TypeOf(list1){ .@"0" = "xxx", .@"1" = 4, .@"2" = 5, .@"3" = 6 };
67+
_ = list2;
68+
}
6469

6570
// error
6671
// target=native
@@ -73,4 +78,6 @@ pub export fn entry6() void {
7378
// :25:29: note: default value set here
7479
// :41:16: error: value stored in comptime field does not match the default value of the field
7580
// :45:12: error: value stored in comptime field does not match the default value of the field
81+
// :53:15: error: value stored in comptime field does not match the default value of the field
82+
// :66:43: error: value stored in comptime field does not match the default value of the field
7683
// :59:35: error: value stored in comptime field does not match the default value of the field

0 commit comments

Comments
 (0)