Add a Unsafe method for splitting access in a system
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 16h
- Merged PRs (30d)
- 171
Description
## What problem does this solve or what need does it fill?
We have `ParamSet` for safely switching access between 2 system params that conflict with each other, but we don't have a way of doing the same thing unsafely, when the user knows that the access won't conflict. For example this happens with a query with `EntityMut` and any resources. This could be an easy escape hatch of that situation, but also probably has other uses.
## What solution would you like?
Either add unsafe accessors to ParamSet or a new SystemParam with unsafe accessors. One reason we might not want to add this is that ParamSet has a combinatorial level of code gen.
Contributor guide
Research direction
Start by reading the existing ParamSet and SystemParam implementations to understand how conflicting access is handled and where code generation is involved. Compare the two proposed approaches, then define done as providing an unsafe way to split access for known non-conflicting cases such as EntityMut with resources.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100