Merge branch 'slice-deref-failure' of https://github.com/matthew-mcallister/zig into matthew-mcallister-slice-deref-failure

This commit is contained in:
Andrew Kelley
2019-02-19 15:27:10 -05:00
3 changed files with 45 additions and 29 deletions

View File

@@ -164,6 +164,24 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
break :x tc;
});
cases.addTest(
"assign to invalid dereference",
\\export fn entry() void {
\\ 'a'.* = 1;
\\}
,
".tmp_source.zig:2:8: error: attempt to dereference non-pointer type 'comptime_int'",
);
cases.addTest(
"take slice of invalid dereference",
\\export fn entry() void {
\\ const x = 'a'.*[0..];
\\}
,
".tmp_source.zig:2:18: error: attempt to dereference non-pointer type 'comptime_int'",
);
cases.addTest(
"@truncate undefined value",
\\export fn entry() void {
@@ -474,7 +492,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\ _ = a.*.len;
\\}
,
".tmp_source.zig:3:12: error: attempt to dereference non-pointer type '[]u8'",
".tmp_source.zig:3:10: error: attempt to dereference non-pointer type '[]u8'",
);
cases.add(
@@ -1185,7 +1203,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\ Filled,
\\};
,
".tmp_source.zig:3:17: error: invalid deref on switch target",
".tmp_source.zig:3:17: error: attempt to dereference non-pointer type 'Tile'",
);
cases.add(
@@ -4027,7 +4045,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void {
\\
\\export fn entry() usize { return @sizeOf(@typeOf(pass)); }
,
".tmp_source.zig:4:10: error: attempt to dereference non pointer type '[10]u8'",
".tmp_source.zig:4:10: error: attempt to dereference non-pointer type '[10]u8'",
);
cases.add(