From e75598af3d011c6277d9d715f39d112db948d5e0 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 25 Feb 2020 21:24:27 -0500 Subject: [PATCH] add test case to catch regression from previous commit Once this test case is passing, previous commit can be re-added. Closes #4560 --- test/stage1/behavior.zig | 1 + test/stage1/behavior/bugs/4560.zig | 32 ++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 test/stage1/behavior/bugs/4560.zig diff --git a/test/stage1/behavior.zig b/test/stage1/behavior.zig index 66893519f4..ff3e2ac284 100644 --- a/test/stage1/behavior.zig +++ b/test/stage1/behavior.zig @@ -40,6 +40,7 @@ comptime { _ = @import("behavior/bugs/3384.zig"); _ = @import("behavior/bugs/3586.zig"); _ = @import("behavior/bugs/3742.zig"); + _ = @import("behavior/bugs/4560.zig"); _ = @import("behavior/bugs/394.zig"); _ = @import("behavior/bugs/421.zig"); _ = @import("behavior/bugs/529.zig"); diff --git a/test/stage1/behavior/bugs/4560.zig b/test/stage1/behavior/bugs/4560.zig new file mode 100644 index 0000000000..fb47376f8e --- /dev/null +++ b/test/stage1/behavior/bugs/4560.zig @@ -0,0 +1,32 @@ +const std = @import("std"); + +test "fixed" { + var s: S = .{ + .a = 1, + .b = .{ + .size = 123, + .max_distance_from_start_index = 456, + }, + }; + std.testing.expect(s.a == 1); + std.testing.expect(s.b.size == 123); + std.testing.expect(s.b.max_distance_from_start_index == 456); +} + +const S = struct { + a: u32, + b: Map, + + const Map = std.StringHashMap(*S); +}; + +pub fn StringHashMap(comptime V: type) type { + return HashMap([]const u8, V); +} + +pub fn HashMap(comptime K: type, comptime V: type) type { + return struct { + size: usize, + max_distance_from_start_index: usize, + }; +}