Define durable value handles and selectors #25
No reviewers
Labels
No labels
area/cli
area/core
area/database
area/indexing
area/query
type/epic
type/feature
type/foundation
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
JayKobe6k/ClariTree!25
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-10-durable-value-handles"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
ctv1value handles from parser-independent semantic and portable source identityCloses #10
Tests
nix develop --command cargo fmt --all -- --checknix develop --command cargo lintnix develop --command cargo test --all-targets --all-featuresnix develop --command cargo doc --no-deps --all-featuresnix develop --command cargo check --target x86_64-pc-windows-gnu --all-featuresFound one actionable defect in durable occurrence identity.
@ -0,0 +1279,4 @@match site {ValueOccurrenceSite::Source(anchor) => {self.bytes(&[0]);self.anchor(anchor);[P1] Source-backed occurrences need a discriminator beyond their anchor. The existing
TWICE(seed)fixture produces two distinct operand uses, but Clang reports both with spelling offset 298 and expansion offset 292. Since they also share translation unit, scope, declaration, andOperandsemantic, this hashes identical input and assigns both uses one handle, conflating lineage nodes and edges. Please include a deterministic structural ordinal or path alongside the anchor and cover this macro case.Review comment #1073: Fixed in
0c4065a(with compilation-context identity completed incdbe324). Source-backed identities now hash a deterministic structural ordinal in addition to the full spelling/expansion anchor, and the repeatedTWICE(seed)references are covered as distinct occurrences. Tests:nix develop --command cargo test --lib application::value::tests::repeated_macro_argument_uses_do_not_share_occurrence_identity -- --exact;nix develop --command cargo test --all-targets --all-features;nix develop --command cargo lint; Windows all-target check.