In #4713, I disabled these parts of P0088R3_variant, but never investigated:
|
#ifdef __clang__ // TRANSITION, not yet investigated |
|
#pragma clang diagnostic push |
|
#pragma clang diagnostic ignored "-Wundefined-inline" |
|
#endif // ^^^ workaround ^^^ |
|
|
|
struct HasFullOrdering { |
|
constexpr bool operator==(const HasFullOrdering&) const; |
|
constexpr std::weak_ordering operator<=>(const HasFullOrdering&) const; |
|
}; |
|
|
|
#ifdef __clang__ // TRANSITION, not yet investigated |
|
#pragma clang diagnostic pop |
|
#endif // ^^^ workaround ^^^ |
|
void test_no_narrowing_check_for_class_types() { |
|
#ifndef __clang__ // TRANSITION, not yet investigated |
|
using V = std::variant<int, BoomOnAnything>; |
|
V v(42); |
|
assert(v.index() == 0); |
|
assert(std::get<0>(v) == 42); |
|
#endif // ^^^ no workaround ^^^ |
|
} |
I commented that these appeared to be mirrored in libcxx/expected_results.txt, which are also unsolved mysteries:
|
# Not analyzed. Clang instantiates BoomOnAnything during template argument substitution.
|
|
std/utilities/variant/variant.variant/variant.ctor/T.pass.cpp:2 FAIL
|
|
# Not analyzed. Clang emits a -Wundefined-inline warning.
|
|
std/utilities/variant/variant.relops/three_way.pass.cpp:2 FAIL
|
In #4713, I disabled these parts of
P0088R3_variant, but never investigated:STL/tests/std/tests/P0088R3_variant/test.cpp
Lines 1477 to 1489 in 26b7ca5
STL/tests/std/tests/P0088R3_variant/test.cpp
Lines 4781 to 4788 in 26b7ca5
I commented that these appeared to be mirrored in
libcxx/expected_results.txt, which are also unsolved mysteries:STL/tests/libcxx/expected_results.txt
Lines 843 to 844 in 26b7ca5
STL/tests/libcxx/expected_results.txt
Lines 1058 to 1059 in 26b7ca5