PR go/83102 relax std::set checks for invocable comparison object
PR go/83102 * include/bits/stl_tree.h (_Rb_tree): Relax invocable checks for comparison object pre-C++17. From-SVN: r255052
This commit is contained in:
parent
aaa49b45f6
commit
e350134d72
2 changed files with 14 additions and 2 deletions
|
@ -1,3 +1,9 @@
|
|||
2017-11-22 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR go/83102
|
||||
* include/bits/stl_tree.h (_Rb_tree): Relax invocable checks for
|
||||
comparison object pre-C++17.
|
||||
|
||||
2017-11-21 Jonathan Wakely <jwakely@redhat.com>
|
||||
|
||||
PR libstdc++/48101
|
||||
|
|
|
@ -449,9 +449,15 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
|||
typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
static_assert(__is_invocable<const _Compare&, const _Key&, const _Key&>{},
|
||||
static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
|
||||
"comparison object must be invocable with two arguments of key type");
|
||||
#endif
|
||||
# if __cplusplus >= 201703L
|
||||
// _GLIBCXX_RESOLVE_LIB_DEFECTS
|
||||
// 2542. Missing const requirements for associative containers
|
||||
static_assert(is_invocable_v<const _Compare&, const _Key&, const _Key&>,
|
||||
"comparison object must be invocable as const");
|
||||
# endif // C++17
|
||||
#endif // C++11
|
||||
|
||||
protected:
|
||||
typedef _Rb_tree_node_base* _Base_ptr;
|
||||
|
|
Loading…
Add table
Reference in a new issue