Commit 286077fec8
Changed files (2)
src
stage1
src/stage1/ir.cpp
@@ -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;
}
test/compile_errors.zig
@@ -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",