mizvekov wrote:

> > The problem here is the loss of the qualification on the TemplateNames
> > This patch fixes the problem, without taking any workarounds: #93433
> > It also doesn't cause any change in diagnostics in 
> > `clang/test/SemaTemplate/typename-specifier-3.cpp`.
> 
> I think we should report this message since `B::arg` in `A<int>` is a NTTP.

Yeah, I am not saying that is wrong, but this needs more investigation.

I am not looking at this bug specifically: I just noticed my patch would have 
an effect here, and after testing it sure did, but I haven't looked closely.

Maybe I used the term 'fixes' incorrectly, as in my patch makes it not crash, 
but it's strange that type sugar would have a semantic effect here, that is not 
supposed to happen.

Again, thinking in first principles, without looking at this example too 
specifically, my intuition says that what might be happening here is that we 
transformed a `DependentTemplateSpecializationType` into a 
`TemplateSpecializationType` too early, before resolving everything that needs 
to be resolved related to it's TemplateName and NestedNameSpecifier.

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

Reply via email to