diff --git a/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp index cb7e30c2b74fa..e56cb12d9a113 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp @@ -27,6 +27,8 @@ static int countdown = 0; struct EvilContainer : std::vector { + using std::vector::vector; + EvilContainer() = default; EvilContainer(EvilContainer&& rhs) { // Throw on move-construction. @@ -36,6 +38,11 @@ struct EvilContainer : std::vector { throw 42; } } + + EvilContainer& operator=(std::initializer_list il) { + std::vector::operator=(il); + return *this; + } }; int main(int, char**) { diff --git a/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp index c2085e32be532..44b6e93114c78 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp @@ -27,6 +27,8 @@ static int countdown = 0; struct EvilContainer : std::vector { + using std::vector::vector; + EvilContainer() = default; EvilContainer(EvilContainer&& rhs) { // Throw on move-construction. @@ -36,6 +38,11 @@ struct EvilContainer : std::vector { throw 42; } } + + EvilContainer& operator=(std::initializer_list il) { + std::vector::operator=(il); + return *this; + } }; int main(int, char**) { diff --git a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp index 064baa98d2b51..f9fea737254d3 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.cons/move.pass.cpp @@ -159,6 +159,8 @@ void test_move_noexcept() { static int countdown = 0; struct EvilContainer : std::vector { + using std::vector::vector; + EvilContainer() = default; EvilContainer(EvilContainer&& rhs) { // Throw on move-construction. @@ -168,6 +170,11 @@ struct EvilContainer : std::vector { throw 42; } } + + EvilContainer& operator=(std::initializer_list il) { + std::vector::operator=(il); + return *this; + } }; void test_move_exception() { diff --git a/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp b/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp index b737a5fba056d..1d7a3589cc109 100644 --- a/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp +++ b/libcxx/test/std/containers/container.adaptors/flat.set/flat.set.cons/move.pass.cpp @@ -150,6 +150,8 @@ constexpr bool test() { static int countdown = 0; struct EvilContainer : std::vector { + using std::vector::vector; + EvilContainer() = default; EvilContainer(EvilContainer&& rhs) { // Throw on move-construction. @@ -159,6 +161,11 @@ struct EvilContainer : std::vector { throw 42; } } + + EvilContainer& operator=(std::initializer_list il) { + std::vector::operator=(il); + return *this; + } }; void test_move_exception() {