diff options
| author | Andrew Kelley <superjoe30@gmail.com> | 2018-06-04 01:09:15 -0400 |
|---|---|---|
| committer | Andrew Kelley <superjoe30@gmail.com> | 2018-06-04 01:39:57 -0400 |
| commit | 96164ce61377b36bcaf0c4087ca9b1ab822b9457 (patch) | |
| tree | db4ab07dd179c8f72a05028edb6ad60bfabd4a74 /test/compile_errors.zig | |
| parent | 4c273126dfc44cf4fcf9d5d97bf1cb1da07d7bd7 (diff) | |
| download | zig-96164ce61377b36bcaf0c4087ca9b1ab822b9457.tar.gz zig-96164ce61377b36bcaf0c4087ca9b1ab822b9457.zip | |
disallow single-item pointer indexing
add pointer arithmetic for unknown length pointer
Diffstat (limited to 'test/compile_errors.zig')
| -rw-r--r-- | test/compile_errors.zig | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/test/compile_errors.zig b/test/compile_errors.zig index ea1357f5bb..7e9ef82e42 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -2,6 +2,15 @@ const tests = @import("tests.zig"); pub fn addCases(cases: *tests.CompileErrorContext) void { cases.add( + "indexing single-item pointer", + \\export fn entry(ptr: *i32) i32 { + \\ return ptr[1]; + \\} + , + ".tmp_source.zig:2:15: error: indexing not allowed on pointer to single item", + ); + + cases.add( "invalid deref on switch target", \\const NextError = error{NextError}; \\const OtherError = error{OutOfMemory}; @@ -1002,7 +1011,7 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\ return a; \\} , - ".tmp_source.zig:3:12: error: expected type 'i32', found '*const u8'", + ".tmp_source.zig:3:12: error: expected type 'i32', found '[*]const u8'", ); cases.add( @@ -2442,13 +2451,13 @@ pub fn addCases(cases: *tests.CompileErrorContext) void { \\var s_buffer: [10]u8 = undefined; \\pub fn pass(in: []u8) []u8 { \\ var out = &s_buffer; - \\ out[0].* = in[0]; + \\ out.*.* = in[0]; \\ return out.*[0..1]; \\} \\ \\export fn entry() usize { return @sizeOf(@typeOf(pass)); } , - ".tmp_source.zig:4:11: 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( |
