stage1: add missing error check on inferred struct field ptr

This commit is contained in:
Vexu 2020-12-20 23:28:13 +02:00 committed by Veikka Tuominen
parent 4918605176
commit 286077fec8
2 changed files with 8 additions and 0 deletions

View File

@ -19980,6 +19980,9 @@ static IrInstGen *ir_resolve_result(IrAnalyze *ira, IrInst *suspend_source_instr
result_loc = ir_analyze_struct_field_ptr(ira, suspend_source_instr, field, casted_ptr,
isf->inferred_struct_type, true);
if (type_is_invalid(result_loc->value->type)) {
return result_loc;
}
result_loc_pass1->resolved_loc = result_loc;
}

View File

@ -2376,8 +2376,13 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\export fn entry() void {
\\ const x = [_]u8;
\\}
\\export fn entry2() void {
\\ const S = struct { a: *const [_]u8 };
\\ var a = .{ S{} };
\\}
, &[_][]const u8{
"tmp.zig:2:15: error: inferred array size invalid here",
"tmp.zig:5:34: error: inferred array size invalid here",
});
cases.add("initializing array with struct syntax",