v1nh1shungry added a comment.

Thanks for the feedback!

> One high-level thought I had is: what if we attached the type hint to the 
> closing `)` of the decltype (and had it pertain only to the `decltype(expr)`, 
> not anything surrounding it like `const` or `&`)? It seems to me that this 
> would both simplify the implementation, and allow us to show hints in places 
> where `decltype` is used in a context unrelated to a variable or function 
> declaration (for example, in something like `using Foo = A<B<decltype(expr), 
> C>, D>`, if `decltype(expr)` was `int`, we would show `using Foo = 
> A<B<decltype(expr) : int,  C>, D>`. What do you think about this approach?

I think this approach is better.

> I think showing type hints for `decltype(expr)` would be a nice enhancement. 
> @v1nh1shungry, are you interested in working further on this?

Sure!



================
Comment at: clang-tools-extra/clangd/unittests/InlayHintTests.cpp:1155
+    // FIXME: Nice to show `: int &`
+    decltype((i)) $a[[a]] = i;
+  )cpp",
----------------
The only concern I have is how to deal with this situation.

When I wrote this patch I thought maybe I could remove the `&` and figure out 
the underlying type of `decltype(0)` recursively and then add the `&` back. But 
at that time I couldn't find a way to get the referenced type or the pointee 
type.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138300/new/

https://reviews.llvm.org/D138300

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to