-
Notifications
You must be signed in to change notification settings - Fork 13.6k
Ignores dependent base classes using qualified lookup in definition context #13826
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
We still reject this as of Clang 17, while other implementations accept: https://godbolt.org/z/zMhczK3hh |
@llvm/issue-subscribers-clang-frontend Author: None (be579e8c-b74b-475b-a126-3b8cefdd833c)
| | |
| --- | --- |
| Bugzilla Link | [13454](https://llvm.org/bz13454) |
| Version | trunk |
| OS | Windows NT |
| CC | @DougGregor |
Extended DescriptionThis should work fine, but Clang doesn't accept the absence of "typename" in the definition of "B" template<typename T> struct A { template<typename T> struct A<T>::B : A<T> { |
Confirmed |
CC @Fznamznon |
Due to d0d2ee0 clang doesn't perform qualified name lookup into the current instantiation when it has dependent bases, because of that `getTypeName` call always returns null for unknown specialization case. When there is a `typename` keyword, `DependentNameType` is constructed instead of simply returning null. This change attempts to do the same in case of `typename` absence. Fixes llvm#13826
I'm not sure but here is #73018 |
…on (#73018) Due to d0d2ee0 clang doesn't perform qualified name lookup into the current instantiation when it has dependent bases, because of that `getTypeName` call always returns null for unknown specialization case. When there is a `typename` keyword, `DependentNameType` is constructed instead of simply returning null. This change attempts to do the same in case of `typename` absence. Fixes #13826
Uh oh!
There was an error while loading. Please reload this page.
Extended Description
This should work fine, but Clang doesn't accept the absence of "typename" in the definition of "B"
The text was updated successfully, but these errors were encountered: