[x] I've added tests for all code changes and additions (where applicable)
[x] I've added a demonstration of the new feature to one or more examples
[x] I've updated the book to reflect my changes
[x] Usage of new public items is shown in the API docs
API changes
This change makes paired storage public to complement the already public restricted storage. The type is not accessible due to the restrict module being private. This means if you want to do anything with paired storage other than treat it as an anonymous type you can't. Given that it does not implement any public traits for storage access, you can't pass it to any other code without wrapping it in another generic type (i.e. putting it in a closure.)
The use case is passing the structure to another function or beyond the original scope it's contained within.
Checklist
API changes
This change makes paired storage public to complement the already public restricted storage. The type is not accessible due to the restrict module being private. This means if you want to do anything with paired storage other than treat it as an anonymous type you can't. Given that it does not implement any public traits for storage access, you can't pass it to any other code without wrapping it in another generic type (i.e. putting it in a closure.)
The use case is passing the structure to another function or beyond the original scope it's contained within.