timon-ul wrote: > A note on terminology [...]
Thank you forr the explanation, but I actually spent a good amount of time making sure I understand exactly this so I know the difference due to this functions behaviour. > enable indexing of explicit instantiations is probably fine I am sorry I should have worded this better, this is not what I am confused about and I agree. This is behaviour I deem wanted, I was more unhappy about its name and was thinking of renaming it to something better. Behaviour wise the question is where they should be indexed, not if, given I will go over all specializations in the template again and that should cover this one then too, correct? Just trying to avoid doing double the work. > I'd need some more details to comment on this (e.g. what test, where are you > looking to see what gets Symbols). The test that fails is the [Template](https://searchfox.org/llvm/source/clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp#486) test in `SymbolCollectorTests.cpp`. Now that it fails is not odd to me, it makes perfect sense, the comment says it all. This test was written with making sure the instantiations are not indexed in mind. So that behaviour change of course will break. The struggle I have is understanding why it fails the way it fails and if that is behaviour that makes sense. The exact test failure is ``` TBD ``` As you can see we doubled the expected elemments of `Symbols`. This (I think) comes from the last 2 explicit instantiations since they now get indexed. Actually so far nothing suspicious. The real issue I have comes from an alternative version of the test I wrote to understand better what a `Symbol` is. I replaced the code with: Version 1: ``` TBD ``` Elements of `Symbols`: `{ a, Alpha, Inherit }` Version 2: ``` TBD ``` Elements of `Symmmmbols`: `{ Alpha, Inherit, Inherit }` As you can see when I write the explicit instantiation for the type `Inherit<Alpha>` I get a `Symbol`, if it is an implicit I do not and I do not understand why. I am sorry for the awful last message that was not very clear what my problem was, but to be honest I did not feel confident asking a detailed question since I have not yet looked (and debugged) into when a `Symbol` is created exactly. The documentation at least does not explain this behaviour. I kinda just wanted to give a rough update and dig deeper next week. https://github.com/llvm/llvm-project/pull/177273 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
