LWG-3891 LWG-3870 breaks std::expected<cv T, E>
We have:
|
#if 0 // TRANSITION, LWG-3891 |
|
assert( |
|
(expected<const QualDistinction, char>{unexpect} = {QualDistinction{}}).value().qual_ == Qualification::None); |
|
{ |
|
expected<const QualDistinction, char> ex{in_place}; |
|
assert((ex = {QualDistinction{}}).value().qual_ == Qualification::None); |
|
ex = unexpected<char>{'*'}; |
|
assert((ex = {QualDistinction{}}).value().qual_ == Qualification::None); |
|
} |
|
#endif // ^^^ no workaround ^^^ |
LWG-3891 LWG-3870 breaks
std::expected<cv T, E>We have:
STL/tests/std/tests/P0323R12_expected/test.cpp
Lines 2396 to 2405 in da06be8