[clang] [NFC] [Clang] Some core issues have changed status from tentatively ready -> ready / review (PR #97200)
via cfe-commits
cfe-commits at lists.llvm.org
Mon Jul 1 06:35:17 PDT 2024
================
@@ -134,23 +134,23 @@ struct A {
} // namespace cwg2858
-namespace cwg2877 { // cwg2877: 19 tentatively ready 2024-05-31
+namespace cwg2877 { // cwg2877: 19 ready 2024-06-26
#if __cplusplus >= 202002L
enum E { x };
void f() {
int E;
- using enum E; // OK, names ::E
+ using enum E; // OK
}
using F = E;
-using enum F; // OK, designates ::E
+using enum F; // OK
template<class T> using EE = T;
void g() {
- using enum EE<E>; // OK, designates ::E
+ using enum EE<E>; // OK
}
#endif
} // namespace cwg2877
-namespace cwg2881 { // cwg2881: 19 tentatively ready 2024-04-19
+namespace cwg2881 { // cwg2881: 19 ready 2024-06-26
----------------
Sirraide wrote:
A test for substitution failure would be nice since that seems to be the only thing that has changed about this issue; maybe something like the following, which we seem to already be handling correctly:
```c++
template <typename L>
struct Private : private L {
using L::operator();
Private(L l) : L(l) {}
};
template <typename L>
constexpr auto f(L l) -> decltype(Private<L>{l}()) { return l(); }
void g() {
int x;
auto lambda = [x](this auto self) {};
f(lambda); // Fails due to substitution failure here.
}
```
https://github.com/llvm/llvm-project/pull/97200
More information about the cfe-commits
mailing list