Turn MaskedStorage into a safe wrapper around UnprotectedStorage
- Lingua principale
- Rust
- Stelle
- 2.6k
- Fork
- 215
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
At the moment, `MaskedStorage` requires a `Component` bound on its type parameter, and it's missing two of the methods that `UnprotectedStorage` offers. I think it would make the type more flexible, with relatively little work, if the following changes were made:
* Remove the `T: Component` bound, instead adding a second type parameter `S` for the storage, with a `S: UnprotectedStorage` bound.
* Add the missing methods `.get` and `.get_mut` that forward to the corresponding `UnprotectedStorage` methods.
With these changes, the `MaskedStorage` type could be used for any `T`, anything that needs an ID for lookup would work, not just components. It would make it simply a safe wrapper around `UnprotectedStorage`. An example is Amethyst, which currently uses `UnprotectedStorage` for asset storage, but which has had to build its own safety wrappers. If `MaskedStorage` were changed in this way, users could use that type instead, without safety concerns.
Guida per i contributori
Apri la guida per i contributori
Valutazione
Questa issue non è ancora stata valutata.