Skip to content

Conversation

ealmloff
Copy link
Member

@ealmloff ealmloff commented Jul 29, 2025

This is stacked on top of #4413 with the store implementation. I expect the design for stores to take longer to resolve so this is pulled out into a separate non-breaking PR which could be released in a patch version in 0.7

We could publish stores as an external crate outside of the prelude with a decoupled version for the first few releases. Stores don't integrate deeply with any other crates in the workspace so maintaining a separate version seems relatively simple

TODO:

  • Generic store selectors
  • Vec/slice/array selectors
  • Hashmap selector
  • Result selector
  • Option selector
  • Box selector
  • derive(Store) on structs
  • derive(Store) on enums
  • derive(Store) on unit types
  • implement readable on intermediate stores
  • implement writable on intermediate stores
  • Documentation

@ealmloff
Copy link
Member Author

ealmloff commented Aug 1, 2025

I added a bunch more methods to result and option for stores. There are still some methods we don't support on Result, Option, and data structures like String that won't benefit from an optimized Store version. I would rather add those in a followup PR as this PR is already large and those changes are unrelated

@ealmloff ealmloff requested a review from jkelleyrtp August 4, 2025 21:22
@jkelleyrtp jkelleyrtp merged commit 58c41f8 into DioxusLabs:main Aug 5, 2025
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants