algorithm::traverse
uses a vector<list<move-only-type>>
which isn't guaranteed to work
#98
Labels
algorithm::traverse
uses a vector<list<move-only-type>>
which isn't guaranteed to work
#98
According to Stephan T. Lavavej
container<container<move-only-type>>
types are not guaranteed to compile due to a longstanding bug in the C++ Standard. Thealgorithm::traverse()
implementation triggers this defect with MSVC:llfio/include/llfio/v2.0/detail/impl/traverse.ipp
Line 205 in 7986b92
The current workaround is to define a moving copy constructor:
llfio/include/llfio/v2.0/detail/impl/traverse.ipp
Lines 165 to 173 in 7986b92
In any case, the workaround selector is too restrictive. It is unclear whether this will be fixed at all, but definitly not earlier than the next MSVC ABI break (see also microsoft/STL#1036).
The text was updated successfully, but these errors were encountered: