rpc: switch rpc::type from boost to std #2512
Closed
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.
rpc has a marker type rpc::type which it uses to communicate with the user-provided deserializer. It is currently based on boost::type.
In an ideal universe, switching to the similar std::type_identity would involve only changing the typedef. However, some users pass boost::type directly, so we can't do that without breaking them.
To preserve compatiblity, have all read() calls pass through a helper function that checks which variant is available and calls it. The older one is marked deprecated. With that done, we switch the rpc::type alias to std::type_identity.