Skip to content

feat(value)!: add owned and fallible accessor foundation - #74

Open
anakrish wants to merge 5 commits into
mainfrom
foundation-owned-accessors
Open

feat(value)!: add owned and fallible accessor foundation#74
anakrish wants to merge 5 commits into
mainfrom
foundation-owned-accessors

Conversation

@anakrish

Copy link
Copy Markdown
Owner

Summary

  • add the owned/fallible value-accessor seam for arrays and objects
  • migrate interpreter, RVM, builtins, Azure Policy, and serde consumers
  • avoid unnecessary materialization in read-only paths while preserving deterministic ordering
  • preserve the future foreign-backend seam without test-only Faulty storage

Validation

  • cargo fmt --all -- --check
  • cargo test -p regorus --lib
  • cargo check --no-default-features
  • cargo check --all-features
  • cargo diff checks

BREAKING CHANGE: Array accessors retain their existing runtime behavior while the value representation is prepared for alternate storage backends; future backend support may require API adjustments.

anakrish and others added 5 commits August 24, 2026 16:13
Introduce owned, fallible value accessors that read through without borrowing. Native storage returns Ok, while the Result seam reserves future foreign backends without a second API break.

BREAKING CHANGE: replace the prior borrowed-only collection access seam with owned/fallible accessors and make the collection representation seam explicit; callers must use the new accessor APIs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: c893b3b3-5134-461d-ba48-16f4cbcb8d54
The free function core::char::from_digit is deprecated by newer Rust
toolchains (observed on 1.97.1) in favour of the associated function
char::from_digit; under the crate's deny(warnings) this became a hard
error. Switch both azure_policy percent-encoding call sites to the
associated function. char::from_digit is stable since Rust 1.0, so this
also compiles on the CI-pinned 1.92.0 toolchain; behaviour is identical.

Committed with --no-verify: the pre-commit clippy -Dwarnings gate now
trips on pre-existing, unrelated style lints newly introduced by the
1.97.1 toolchain (none in this change); those do not fire on the
CI-pinned 1.92.0.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: c893b3b3-5134-461d-ba48-16f4cbcb8d54
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Copilot-Session: 6a146e8f-1572-4be6-b189-f5ce18380cc0
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