[libcxx-commits] [PATCH] D60393: Force is_invocable template parameters to be complete types
Eric Fiselier via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Apr 9 21:39:07 PDT 2019
EricWF requested changes to this revision.
EricWF added a comment.
This revision now requires changes to proceed.
This patch isn't correct. The `is_flexable_invocable` trait is an ODR violation. And I don't think the bug this is solution to PR41360.
================
Comment at: include/type_traits:4437
+template<class _Tp>
+struct __complete_type<_Tp>
+{
----------------
This is an ODR violation in waiting.
================
Comment at: include/utility:1596
is_move_constructible<_Hash>::value &&
- __invokable_r<size_t, _Hash, _Key const&>::value
+ __flexible_invokable<_Hash, _Key const&>::value
>;
----------------
The types have to be complete here. It's an ODR violation otherwise.
Repository:
rCXX libc++
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D60393/new/
https://reviews.llvm.org/D60393
More information about the libcxx-commits
mailing list