[clang] [clang-tools-extra] Reapply "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)" (PR #90152)

via cfe-commits cfe-commits at lists.llvm.org
Wed May 8 09:14:01 PDT 2024


alexfh wrote:

This commit also breaks the following seemingly valid code (https://gcc.godbolt.org/z/1azKEKh6K):
```
template<typename T>
class Base {
public:
  Base& operator=(int) { return *this; }
  class Inner;
};

template<typename T>
class Base<T>::Inner : public Base<T> {
public:
  using Base<T>::operator=;
};

void f() {
  Base<char>::Inner w;
  w = 7;
}
```

(no further commits have fixed this so far, IIUC)

https://github.com/llvm/llvm-project/pull/90152


More information about the cfe-commits mailing list