Skip to content

Fix write zipper node stack after prune_path - #109

Merged
luketpeterson merged 1 commit into
Adam-Vandervorst:masterfrom
imlvts:fix/prune-path-node-stack
Sep 19, 2026
Merged

luketpeterson merged 1 commit into
Adam-Vandervorst:masterfrom
imlvts:fix/prune-path-node-stack

Conversation

@imlvts

@imlvts imlvts commented Sep 16, 2026

Copy link
Copy Markdown
Collaborator

prune_path walked the node stack up to find where pruning stops but left it there when the zipper did not move, so the next write through the focus went to the wrong node (get_val_or_set_mut panicked). Walk the stack back down.

prune_path walked the node stack up to find where pruning stops but left it
there when the zipper did not move, so the next write through the focus went
to the wrong node (get_val_or_set_mut panicked). Walk the stack back down.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019R2H8fnco29asY2v3TPbtF
@imlvts

imlvts commented Sep 17, 2026

Copy link
Copy Markdown
Collaborator Author

https://github.com/Adam-Vandervorst/PathMap/actions/runs/35158040227#summary-105053523842

Benchmark: +29.6% borrowed_head_write_creation_cleanup/10, and zipper_head_owned+10.5%

@luketpeterson

Copy link
Copy Markdown
Collaborator

The clanker used non-standard terminology to describe what happened - The code describes this state as the zipper as being deregularized. But it's the right fix.

Merging.

@luketpeterson
luketpeterson merged commit 12c9de6 into Adam-Vandervorst:master Sep 19, 2026
10 of 12 checks passed
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.

2 participants