[libcxx-commits] [clang] [libcxx] [llvm] Reapply "[Clang] Implement resolution for CWG1835 (#92957)" (PR #98547)
Krystian Stasiowski via libcxx-commits
libcxx-commits at lists.llvm.org
Fri Jul 19 13:10:31 PDT 2024
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
More information about the libcxx-commits
mailing list