-
Notifications
You must be signed in to change notification settings - Fork 62
Closed
Description
I tweaked the move_only test in the test suite to also check that self-moves don't happen. It is reasonable to require that no self-move happens when sorting, and thus to support types for which self-move is an error/might destroy the value. This matters because even std::string might destruct its value on a self-move. The result is a bit saddening, I will at least have to fix the following sorters:
-
block_sorter(at least with a fixed buffer of size 0) -
drop_merge_sorter(see also Strange benchmark results with std::string adrian17/cpp-drop-merge-sort#4) -
quick_merge_sorter -
selection_sorter
In the meantime I'll be marking the test as [!mayfail]. It's not a regression: we simply never tried to check that self-move worked.
Note: see the comments below to understand the striked-through bullet items.