Skip to content

csskit_ast: Use ErasedNode in selector matching, add NodeKey for identity - #1443

Merged
keithamus merged 1 commit into
mainfrom
csskit-ast-use-erasednode-in-selector-matching-add-nodekey-for-identity
Aug 23, 2026
Merged

csskit_ast: Use ErasedNode in selector matching, add NodeKey for identity#1443
keithamus merged 1 commit into
mainfrom
csskit-ast-use-erasednode-in-selector-matching-add-nodekey-for-identity

Conversation

@keithamus

Copy link
Copy Markdown
Member

A node ID identifies its syntax kind but not a specific entry in a parsed tree.
Dynamic consumers (such as selector matcher) therefore cannot map selector
matches back to the concrete nodes they represent.

This change implements a NodeKey type which carries both the NodeId and the
position in the tree, so that selector matching can make use of the ErasedNode
object safe traits.

@keithamus
keithamus enabled auto-merge (squash) August 23, 2026 09:01
…tity

A node ID identifies its syntax kind but not a specific entry in a parsed tree.
Dynamic consumers (such as selector matcher) therefore cannot map selector
matches back to the concrete nodes they represent.

This change implements a NodeKey type which carries both the NodeId and the
position in the tree, so that selector matching can make use of the ErasedNode
object safe traits.
@keithamus
keithamus force-pushed the csskit-ast-use-erasednode-in-selector-matching-add-nodekey-for-identity branch from 7748610 to 39ce13f Compare August 23, 2026 09:16
@github-actions

Copy link
Copy Markdown

✅ CI passed

Job Result
Build & Test (win32-x64, win32-arm64, linux-x64, linux-arm64, darwin-x64, darwin-arm64) ✅ success
Build & Test (default features) ✅ success
Build & Test (nightly) ✅ success
Build each library ✅ success
Build benches ✅ success
Acceptance Tests ✅ success
Fuzz Corpus Replay ✅ success

@keithamus
keithamus merged commit 1ccfde8 into main Aug 23, 2026
18 of 19 checks passed
@keithamus
keithamus deleted the csskit-ast-use-erasednode-in-selector-matching-add-nodekey-for-identity branch August 23, 2026 09:28
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