Skip to content

refactor(value): migrate Value::Set to Set storage abstraction - #64

Open
anakrish wants to merge 1 commit into
storage-abstraction-set-foundationfrom
storage-abstraction-set-migration-v2
Open

refactor(value): migrate Value::Set to Set storage abstraction#64
anakrish wants to merge 1 commit into
storage-abstraction-set-foundationfrom
storage-abstraction-set-migration-v2

Conversation

@anakrish

@anakrish anakrish commented Jun 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Swap Value::Set to store Rc<value::Set> and keep as_set / as_set_mut on the curated storage API.
  • Rewrite RVM IterationState::Set around SetCursor, removing the old current_item resume plumbing while preserving snapshot independence via Rc copy-on-write.
  • Migrate set builtins, compile-time set literals, RVM arithmetic/serialization/metadata, Azure Policy metadata, Azure RBAC helpers, and tests to use Set operations.

Stacked on #60 (storage-abstraction-set-foundation).

Swap Value::Set from Rc<BTreeSet<Value>> to Rc<Set> and migrate Set call sites across builtins, languages, RVM, metadata, serialization, and tests to the curated Set API.

Rewrite RVM IterationState::Set around SetCursor so set iteration resumes through the storage abstraction and remains snapshot-independent via Rc copy-on-write. Remove the old current_item resume plumbing from comprehension and loop paths.

Keep Value::as_set/as_set_mut names while returning &Set/&mut Set, and use Set::intersection/union/difference plus Set::into_value for set algebra.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@anakrish
anakrish force-pushed the storage-abstraction-set-foundation branch from 39fff42 to 923da90 Compare June 6, 2026 12:58
@anakrish
anakrish force-pushed the storage-abstraction-set-migration-v2 branch from a6e6bc2 to 70d0e98 Compare June 6, 2026 12:58
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