Skip to content

Fix ProductZipper is_shared at a factor root - #129

Closed
imlvts wants to merge 1 commit into
Adam-Vandervorst:masterfrom
imlvts:fix/product-zipper-is-shared-factor-root
Closed

imlvts wants to merge 1 commit into
Adam-Vandervorst:masterfrom
imlvts:fix/product-zipper-is-shared-factor-root

Conversation

@imlvts

@imlvts imlvts commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator

A secondary factor's root isn't a child of the node above it, so the core zipper's parent lookup unwrapped None. Ask the factor's TrieRef instead.

Only report sharing in the last factor, for both ProductZipper and ProductZipperG. In an earlier factor the subtrie below a node continues into the following factors, so the same node reached in different factors is a different subtrie of the product. A cached cata keyed by shared_node_id conflated the two and returned wrong results.

A secondary factor's root isn't a child of the node above it, so the
core zipper's parent lookup unwrapped None. Ask the factor's TrieRef
instead.

Only report sharing in the last factor, for both ProductZipper and
ProductZipperG. In an earlier factor the subtrie below a node continues
into the following factors, so the same node reached in different
factors is a different subtrie of the product. A cached cata keyed by
shared_node_id conflated the two and returned wrong results.
@imlvts

imlvts commented Sep 23, 2026

Copy link
Copy Markdown
Collaborator Author

superseeded by #135

@imlvts imlvts closed this Sep 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant