Elaborate on the constraints Mapping and SubMapping work under #1005
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Along the way I realized the copying in #985 is somewhat more obviously correct when written in terms of
SubMappingoperations, so move that along with the docs.for some context, in writing #985 (comment) I realized part of how I took an indirect path to
copy_nonoverlappingwas because I'd looked atSubMapping, skimmed the doc comment onMapping, and misread the note about references as and reference must follow reference safety rather than and it is impossible to construct references to guest memory. so, this reworks theMappingdoc comment to talk a bit more about the niche it's mediating (and be more clear thatSubMappingreally is constrained in all those same ways)as I wrote this I realized that there isn't any reason that
MappingExtshouldn't be able to use theSubMappingmethods that already do the Harder Work of safety reasoning, so I've cleaned that up some too.