authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2019-07-28 08:38:11-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2019-07-29 16:29:29-04:00
log7e436006be93d43a9e93206e29f9a08cbd8e109e
tree5be7286a29e18c6a820ab05d895b1eebf30d0b01
parentd694f298d826eb44895ef29a84ee195aba627b53

fix std.rb.Node.getParent to return optional

closes #2962

2 files changed, 3 insertions(+), 1 deletions(-)

std/rb.zig+2-1
...@@ -93,7 +93,8 @@ pub const Node = struct {...@@ -93,7 +93,8 @@ pub const Node = struct {
93 comptime {93 comptime {
94 assert(@alignOf(*Node) >= 2);94 assert(@alignOf(*Node) >= 2);
95 }95 }
96 return @intToPtr(*Node, node.parent_and_color & ~mask);96 const maybe_ptr = node.parent_and_color & ~mask;
97 return if (maybe_ptr == 0) null else @intToPtr(*Node, maybe_ptr);
97 }98 }
9899
99 fn setColor(node: *Node, color: Color) void {100 fn setColor(node: *Node, color: Color) void {
std/std.zig+1
...@@ -105,6 +105,7 @@ test "std" {...@@ -105,6 +105,7 @@ test "std" {
105 _ = @import("packed_int_array.zig");105 _ = @import("packed_int_array.zig");
106 _ = @import("priority_queue.zig");106 _ = @import("priority_queue.zig");
107 _ = @import("rand.zig");107 _ = @import("rand.zig");
108 _ = @import("rb.zig");
108 _ = @import("sort.zig");109 _ = @import("sort.zig");
109 _ = @import("testing.zig");110 _ = @import("testing.zig");
110 _ = @import("thread.zig");111 _ = @import("thread.zig");