summaryrefslogtreecommitdiffstats
path: root/libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp')
-rw-r--r--libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp b/libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
index b6656668d40..1d41540edb8 100644
--- a/libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
+++ b/libcxx/test/std/containers/associative/multiset/erase_iter.pass.cpp
@@ -18,6 +18,14 @@
#include "min_allocator.h"
+struct TemplateConstructor
+{
+ template<typename T>
+ TemplateConstructor (const T&) {}
+};
+
+bool operator<(const TemplateConstructor&, const TemplateConstructor&) { return false; }
+
int main()
{
{
@@ -178,4 +186,18 @@ int main()
assert(i == m.end());
}
#endif
+#if __cplusplus >= 201402L
+ {
+ // This is LWG #2059
+ typedef TemplateConstructor T;
+ typedef std::multiset<T> C;
+ typedef C::iterator I;
+
+ C c;
+ T a{0};
+ I it = c.find(a);
+ if (it != c.end())
+ c.erase(it);
+ }
+#endif
}
OpenPOWER on IntegriCloud