From 3b399af06dc5943b6426483b4f2fd5e218e7bec8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Gr=C3=A9goire?= Date: Fri, 17 Apr 2026 18:59:24 -0400 Subject: [PATCH] fix(rtl): use const in more places --- src/rtl/bst.zig | 8 ++++---- src/rtl/rbtree.zig | 8 ++++---- src/rtl/tagged_ptr.zig | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/rtl/bst.zig b/src/rtl/bst.zig index f4a6d95..1a6a378 100644 --- a/src/rtl/bst.zig +++ b/src/rtl/bst.zig @@ -15,7 +15,7 @@ pub var nil: Node = .{ /// Base struct for binary search trees. /// This should be used as a field in other types that are based on binary search trees, such as red-black trees or AVL trees. -pub fn BST(comptime cmp: fn (*Node, *Node) std.math.Order) type { +pub fn BST(comptime cmp: fn (*const Node, *const Node) std.math.Order) type { return struct { const Self = @This(); @@ -153,9 +153,9 @@ const MyNode = struct { value: u32, }; -fn node_cmp(a: *Node, b: *Node) std.math.Order { - const a_node: *MyNode = @fieldParentPtr("node", a); - const b_node: *MyNode = @fieldParentPtr("node", b); +fn node_cmp(a: *const Node, b: *const Node) std.math.Order { + const a_node: *const MyNode = @fieldParentPtr("node", a); + const b_node: *const MyNode = @fieldParentPtr("node", b); if (a_node.value < b_node.value) return .lt; if (a_node.value > b_node.value) return .gt; return .eq; diff --git a/src/rtl/rbtree.zig b/src/rtl/rbtree.zig index 0fca3f6..d7c3fcb 100644 --- a/src/rtl/rbtree.zig +++ b/src/rtl/rbtree.zig @@ -14,7 +14,7 @@ fn set_color(node: *bst.Node, color: u2) void { node.parent.set_tag(color); } -pub fn RBTree(comptime cmp: fn (*bst.Node, *bst.Node) std.math.Order) type { +pub fn RBTree(comptime cmp: fn (*const bst.Node, *const bst.Node) std.math.Order) type { return struct { tree: bst.BST(cmp), @@ -273,9 +273,9 @@ const TestNode = struct { value: i32, }; -fn cmp_test_node(a: *bst.Node, b: *bst.Node) std.math.Order { - const a_node: *TestNode = @fieldParentPtr("node", a); - const b_node: *TestNode = @fieldParentPtr("node", b); +fn cmp_test_node(a: *const bst.Node, b: *const bst.Node) std.math.Order { + const a_node: *const TestNode = @fieldParentPtr("node", a); + const b_node: *const TestNode = @fieldParentPtr("node", b); if (a_node.value < b_node.value) return .lt; if (a_node.value > b_node.value) return .gt; diff --git a/src/rtl/tagged_ptr.zig b/src/rtl/tagged_ptr.zig index b46529f..3345d57 100644 --- a/src/rtl/tagged_ptr.zig +++ b/src/rtl/tagged_ptr.zig @@ -13,7 +13,7 @@ pub fn TaggedPtr(comptime T: type) type { } /// Return the pointer with the tag bits masked out. - pub fn get_ptr(self: *Self) *T { + pub fn get_ptr(self: *const Self) *T { return @ptrFromInt(self.value & ~mask); } @@ -23,7 +23,7 @@ pub fn TaggedPtr(comptime T: type) type { } /// Return the tag bits. - pub fn get_tag(self: *Self) u2 { + pub fn get_tag(self: *const Self) u2 { return @as(u2, @truncate(self.value & mask)); }