diff --git a/test/compile_errors.zig b/test/compile_errors.zig index a31605b02abc9cd99a5c96261bfefcc3f924c0f8..0d30bd71750c7d7c9d5af7c845c811b07c8198a6 100644 --- a/test/compile_errors.zig +++ b/test/compile_errors.zig @@ -2,6 +2,21 @@ const tests = @import("tests.zig"); const builtin = @import("builtin"); pub fn addCases(cases: *tests.CompileErrorContext) void { + cases.add( + "Generic function where return type is self-referenced", + \\fn Foo(comptime T: type) Foo(T) { + \\ return struct{ x: T }; + \\} + \\export fn entry() void { + \\ const t = Foo(u32) { + \\ .x = 1 + \\ }; + \\} + , + "tmp.zig:1:29: error: evaluation exceeded 1000 backwards branches", + "tmp.zig:1:29: note: called from here", + ); + cases.add( "@ptrToInt 0 to non optional pointer", \\export fn entry() void {