<functional>: Constrain functions used by std::bind
#3577
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 #952.
The issue is probably because of that some functions used by
bindare not well constrained._Invoker_ret<_Rx>::_Call("backportedinvoke_r") is not constrained at all._Select_fixer<...>::_Fix/_Applyrely onstd::getfortuple, which is not constrained.Driven-by changes: use direct
if constexprandinvokein the internal functions used byfunctionandmove_only_function(similar to the use ininvoke_r), which may slightly improve compiler throughput.