Commit 4f21dc8a80
src/ir.cpp
@@ -15200,6 +15200,9 @@ static IrInstruction *ir_resolve_result(IrAnalyze *ira, IrInstruction *suspend_s
return unwrapped_err_ptr;
}
}
+ } else if (is_slice(actual_elem_type) && value_type->id == ZigTypeIdArray) {
+ // need to allow EndExpr to do the implicit cast from array to slice
+ result_loc_pass1->written = false;
}
return result_loc;
}
test/stage1/behavior/misc.zig
@@ -698,3 +698,11 @@ test "unicode escape in character literal" {
var a: u24 = '\U01f4a9';
expect(a == 128169);
}
+
+test "result location zero sized array inside struct field implicit cast to slice" {
+ const E = struct {
+ entries: []u32,
+ };
+ var foo = E{ .entries = [_]u32{} };
+ expect(foo.entries.len == 0);
+}