diff --git a/tests/libcxx/expected_results.txt b/tests/libcxx/expected_results.txt index 3625b6763d3..53cbe6b72d7 100644 --- a/tests/libcxx/expected_results.txt +++ b/tests/libcxx/expected_results.txt @@ -236,17 +236,23 @@ std/strings/c.strings/cuchar.compile.pass.cpp FAIL std/containers/container.adaptors/flat.map/flat.map.cons/deduct.pass.cpp FAIL std/containers/container.adaptors/flat.multimap/flat.multimap.cons/deduct.pass.cpp FAIL -# FIXME! Assertion failed: mo.empty() -std/containers/container.adaptors/flat.map/flat.map.cons/move_alloc.pass.cpp FAIL -std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_alloc.pass.cpp FAIL - # FIXME! Assertion failed: m.keys().size() == m.values().size() +# [flat.map.defn] doesn't declare a move constructor, which seems to imply that moving from a flat_map should behave +# as if the move constructor were implicitly defined, i.e. it can't restore the invariants +# P2767R2 does not specify move constructor, which is broken +# P3567R0 adds a move constructor that asks to restore invariants +# P3567R0 constructor also moves comparator, which we should veto if it makes into the Standard std/containers/container.adaptors/flat.map/flat.map.cons/move_assign_clears.pass.cpp FAIL std/containers/container.adaptors/flat.map/flat.map.cons/move_exceptions.pass.cpp FAIL std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_assign_clears.pass.cpp FAIL std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_exceptions.pass.cpp FAIL # FIXME! abort() has been called +# caused by insert failing when called on a moved-from flat_map due to its comparator being moved from, +# but this seems to be in line with the specification: flat_map::insert transitively requires that the comparator +# "induce a strict weak ordering on the values" +# P2767R2 does not specify move constructor, which is broken +# P3567R0 constructor is still asked to move comparator, which is also broken std/containers/container.adaptors/flat.map/flat.map.cons/move.pass.cpp FAIL std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move.pass.cpp FAIL @@ -591,6 +597,10 @@ std/depr/depr.c.headers/stddef_h.compile.pass.cpp:1 FAIL # *** LIKELY BOGUS TESTS *** +# A moved-from flat_map is not empty, which doesn't seem to be required +std/containers/container.adaptors/flat.map/flat.map.cons/move_alloc.pass.cpp FAIL +std/containers/container.adaptors/flat.multimap/flat.multimap.cons/move_alloc.pass.cpp FAIL + # Test bug after LWG-2899 "is_(nothrow_)move_constructible and tuple, optional and unique_ptr" was accepted. std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.pass.cpp FAIL std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.asgn/move_convert.runtime.pass.cpp FAIL