diff options
| author | Ian Johnson <ian@ianjohnson.dev> | 2023-03-12 13:08:15 -0400 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2023-03-13 13:17:13 +0200 |
| commit | adc6dec26b8ba9f79aabc4b69ae689acf4c6767d (patch) | |
| tree | e2d75f52b177a937993f17f8a3a915a1f66b9515 /test | |
| parent | 1d96a17af473d5ca79ecc7b64bbf2e899b5de3b4 (diff) | |
| download | zig-adc6dec26b8ba9f79aabc4b69ae689acf4c6767d.tar.gz zig-adc6dec26b8ba9f79aabc4b69ae689acf4c6767d.zip | |
Sema: avoid panic on callconv(.C) generic return type
Fixes #14854
Diffstat (limited to 'test')
| -rw-r--r-- | test/behavior.zig | 1 | ||||
| -rw-r--r-- | test/behavior/bugs/14854.zig | 13 |
2 files changed, 14 insertions, 0 deletions
diff --git a/test/behavior.zig b/test/behavior.zig index 4f8ad67203..ed731377d8 100644 --- a/test/behavior.zig +++ b/test/behavior.zig @@ -141,6 +141,7 @@ test { _ = @import("behavior/bugs/13664.zig"); _ = @import("behavior/bugs/13714.zig"); _ = @import("behavior/bugs/13785.zig"); + _ = @import("behavior/bugs/14854.zig"); _ = @import("behavior/byteswap.zig"); _ = @import("behavior/byval_arg_var.zig"); _ = @import("behavior/call.zig"); diff --git a/test/behavior/bugs/14854.zig b/test/behavior/bugs/14854.zig new file mode 100644 index 0000000000..b34dd49406 --- /dev/null +++ b/test/behavior/bugs/14854.zig @@ -0,0 +1,13 @@ +const testing = @import("std").testing; + +test { + try testing.expect(getGeneric(u8, getU8) == 123); +} + +fn getU8() callconv(.C) u8 { + return 123; +} + +fn getGeneric(comptime T: type, supplier: fn () callconv(.C) T) T { + return supplier(); +} |
