kolobabka wrote:

> I don't think this patch fixes the following case:
> 
> ```c++
> template<typename T> 
> struct A 
> {
>     struct B 
>     {
>         using X = int;
> 
>         struct C
>         {
>             using X = void;
> 
>             struct D;
>         };
>     };
> };
> 
> template<typename T> 
> struct A<T>::B::C::D : B
> {
>     X x; // error: field has incomplete type 'X' (aka 'void')
> };
> ```
> 
> Regardless, this patch should probably include this as a test.

Many thanks for your answer! Yor're right, this test failed with this patch, 
but I've fixed it yet (see new changes). 

Moreover, I have added more tests to verify cases that should compile and those 
that shouldn't.

https://github.com/llvm/llvm-project/pull/114978
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to