Commit 6d6195424d

Andrew Kelley <andrew@ziglang.org>
2019-03-16 05:23:18
add regression test for invalid multiple dereferences
closes #1042
1 parent c40448e
Changed files (1)
test/compile_errors.zig
@@ -2,6 +2,25 @@ const tests = @import("tests.zig");
 const builtin = @import("builtin");
 
 pub fn addCases(cases: *tests.CompileErrorContext) void {
+    cases.add(
+        "invalid multiple dereferences",
+        \\export fn a() void {
+        \\    var box = Box{ .field = 0 };
+        \\    box.*.field = 1;
+        \\}
+        \\export fn b() void {
+        \\    var box = Box{ .field = 0 };
+        \\    var boxPtr = &box;
+        \\    boxPtr.*.*.field = 1;
+        \\}
+        \\pub const Box = struct {
+        \\    field: i32,
+        \\};
+    ,
+        "tmp.zig:3:8: error: attempt to dereference non-pointer type 'Box'",
+        "tmp.zig:8:13: error: attempt to dereference non-pointer type 'Box'",
+    );
+
     cases.add(
         "usingnamespace with wrong type",
         \\use void;