Fixes the last part of https://github.com/clangd/clangd/issues/76
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
Build result: fail - 60138 tests passed, 2 failed and 729 were skipped.
failed: LLVM.CodeGen/NVPTX/vectorize-misaligned.ll failed: LLVM.Transforms/LoadStoreVectorizer/AMDGPU/merge-stores.ll
Log files: console-log.txt, CMakeCache.txt
LGTM, with a question. What about default template params? I believe we would also like to print them, could you add a test case for that?
They're not printed, as the type is "as written". Added a testcase and a FIXME.
(I don't think this case is terribly important - either behavior seems to have its advantages, the combination of default parameters and partial specialization is fairly rare, and not much confusion seems likely in practice)
Sorry about the bad rebase, I landed the right version i think :-)
Forgot to mention, I didn't fix this because it's significantly more work: for Type you have access to the canonical args (with defaults, but with type-parameter-0-0 instead of T), and the as-written args (where defaults are omitted).
I think you have to trawl around special casing various Decls if you want this to work. I wanted to get the cheap improvement in because realistically I won't get to that refinement soon.