Move map_project to closures #2185
Merged
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.
Fixes #1061
This moves the Yoke
map_project
functions all over to using closures, and also ensures that the closurefull functions have full functionality.This does not remove the
_with_capture
functions from Yoke, however it renames them to_with_explicit_capture
. As a util crate Yoke can always remove them in the future, but holding on to them gives us a wider range of Rust version support in Yoke.ICU4X DataPayload does not do this: it only has the closure APIs. If something breaks in the compiler in the future it should not be hard for us to re-add
_with_explicit_capture
APIs as needed, but it's cleaner to not start with them. I'm also adding tests upstream (rust-lang/rust#99257).