From 47fcbfdc51bcb9c9d518a76b8eee122833893660 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 27 Aug 2019 17:39:06 -0400 Subject: [PATCH] add regression test for already fixed bug closes #3112 --- test/stage1/behavior.zig | 1 + test/stage1/behavior/bugs/3112.zig | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 test/stage1/behavior/bugs/3112.zig diff --git a/test/stage1/behavior.zig b/test/stage1/behavior.zig index d891b4200b..f7152971a4 100644 --- a/test/stage1/behavior.zig +++ b/test/stage1/behavior.zig @@ -30,6 +30,7 @@ comptime { _ = @import("behavior/bugs/2114.zig"); _ = @import("behavior/bugs/2346.zig"); _ = @import("behavior/bugs/2578.zig"); + _ = @import("behavior/bugs/3112.zig"); _ = @import("behavior/bugs/394.zig"); _ = @import("behavior/bugs/421.zig"); _ = @import("behavior/bugs/529.zig"); diff --git a/test/stage1/behavior/bugs/3112.zig b/test/stage1/behavior/bugs/3112.zig new file mode 100644 index 0000000000..1dfe359d4a --- /dev/null +++ b/test/stage1/behavior/bugs/3112.zig @@ -0,0 +1,17 @@ +const std = @import("std"); +const expect = std.testing.expect; + +const State = struct { + const Self = @This(); + enter: fn (previous: ?Self) void, +}; + +fn prev(p: ?State) void { + expect(p == null); +} + +test "zig test crash" { + var global: State = undefined; + global.enter = prev; + global.enter(null); +}