+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
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;