diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2019-03-23 19:01:33 -0400 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2019-03-23 19:01:51 -0400 |
| commit | 6a9c32f7597d37592d79afa27441e7caf9a30529 (patch) | |
| tree | d42bc9daf60782e8fb97abdcb46cc8bc20858be5 /test | |
| parent | 4d50bc3f8dd2b9fd5b7dde6f63f104aaba6dbf5a (diff) | |
| download | zig-6a9c32f7597d37592d79afa27441e7caf9a30529.tar.gz zig-6a9c32f7597d37592d79afa27441e7caf9a30529.zip | |
add regression tests for a bug fixed by an older commit
closes #1914
Diffstat (limited to 'test')
| -rw-r--r-- | test/stage1/behavior.zig | 1 | ||||
| -rw-r--r-- | test/stage1/behavior/bugs/1914.zig | 31 |
2 files changed, 32 insertions, 0 deletions
diff --git a/test/stage1/behavior.zig b/test/stage1/behavior.zig index 9940a76af1..3af571cd8f 100644 --- a/test/stage1/behavior.zig +++ b/test/stage1/behavior.zig @@ -20,6 +20,7 @@ comptime { _ = @import("behavior/bugs/1486.zig"); _ = @import("behavior/bugs/1500.zig"); _ = @import("behavior/bugs/1851.zig"); + _ = @import("behavior/bugs/1914.zig"); _ = @import("behavior/bugs/2006.zig"); _ = @import("behavior/bugs/394.zig"); _ = @import("behavior/bugs/421.zig"); diff --git a/test/stage1/behavior/bugs/1914.zig b/test/stage1/behavior/bugs/1914.zig new file mode 100644 index 0000000000..694daf23bd --- /dev/null +++ b/test/stage1/behavior/bugs/1914.zig @@ -0,0 +1,31 @@ +const std = @import("std"); + +const A = struct { + b_list_pointer: *const []B, +}; +const B = struct { + a_pointer: *const A, +}; + +const b_list: []B = []B{}; +const a = A{ .b_list_pointer = &b_list }; + +test "segfault bug" { + const assert = std.debug.assert; + const obj = B{ .a_pointer = &a }; + assert(obj.a_pointer == &a); // this makes zig crash +} + +const A2 = struct { + pointer: *B, +}; + +pub const B2 = struct { + pointer_array: []*A2, +}; + +var b_value = B2{ .pointer_array = []*A2{} }; + +test "basic stuff" { + std.debug.assert(&b_value == &b_value); +} |
