From c1456afca0aaf0e9e2cdb29865766d8e017b7f06 Mon Sep 17 00:00:00 2001 From: Matthew Lugg Date: Wed, 23 Sep 2026 21:15:07 +0100 Subject: [PATCH] MappedFile: fix `Node.Index.hasMoved` Before, this would always report `false` for nodes with `bubbles_moved` set to `false`, but that is incorrect behavior; `bubbles_moved` is only relevant when considering *parent* nodes. --- src/link/MappedFile.zig | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/link/MappedFile.zig b/src/link/MappedFile.zig index 22b6f529accf3ba22eac77e9574677140260bfcd..5db69a96c00af9a0a6ad9fc0f987d5a37fab3b9e 100644 --- a/src/link/MappedFile.zig +++ b/src/link/MappedFile.zig @@ -495,12 +495,12 @@ pub const Node = extern struct { } pub fn hasMoved(ni: Node.Index, mf: *const MappedFile) bool { - var parent_ni = ni; - while (parent_ni != .root) { - const parent_node = parent_ni.get(mf); - if (!parent_node.flags.bubbles_moved) break; - if (parent_node.flags.moved) return true; - parent_ni = parent_node.parent.unwrap().?; + var cur_ni = ni; + while (cur_ni != .root) { + if (cur_ni.get(mf).flags.moved) return true; + const parent_ni = cur_ni.parent(mf).unwrap().?; + if (!parent_ni.get(mf).flags.bubbles_moved) break; + cur_ni = parent_ni; } return false; } -- 2.54.0