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