sdkrystian wrote:
I have a [new
branch](https://github.com/sdkrystian/llvm-project/tree/reapply-cwg-1835-again)
ready where:
- We only apply the resolution to CWG1835 in C++23 and later, and
- We issue a diagnostic when its application results in a missing template
keyword that breaks whatever construct that follows the intended template name.
e.g.
```cpp
template<int I>
struct A {
int x;
};
template<int I>
struct B : A<I> {
void f() {
this->A<I>::f(); // with -std=c++20 and earlier: no error
// with -std=c++23 and later:
// error: no member named 'f' in the global namespace
// error: missing 'template' keyword prior to
dependent template name 'A'
}
};
```
WDYAT?
https://github.com/llvm/llvm-project/pull/98547
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits