Commit 4f21dc8a80

Andrew Kelley <andrew@ziglang.org>
2019-06-21 06:58:18
fix regression with zero sized array
thanks mikdusan!
1 parent 708f153
Changed files (2)
src
test
stage1
behavior
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);
+}