ilya-biryukov added inline comments.

================
Comment at: clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp:3584
+  std::vector<Symbol> Syms = {conceptSym("same_as")};
+  for (auto P : Code.points("tparam")) {
+    ASSERT_THAT(completions(TU, P, Syms).Completions,
----------------
sammccall wrote:
> I think it'd be useful to assert the presence/absence of template 
> brackets/placeholders here, even if the behavior is not ideal today (in which 
> case, comment to that effect).
> 
> Similarly it's probably worth having a concept B with two type params as 
> these are different cases for template brackets when used as type (even if 
> the behavior is the same)
The problem is that we currently add the template brackets everywhere.
I forgot to mention that I didn't solve this issue yet, it requires adding a 
new completion context and seems like a good independent change.

I've been collecting missing cases in the github issue, will make a note there.


================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:1851
+void checkFindRefs(llvm::StringRef Test, bool UseIndex = false,
+                   std::vector<std::string> ExtraArgs = {}) {
   Annotations T(Test);
----------------
sammccall wrote:
> nit: does anything break if we just set c++20 unconditionally?
Yeah, good point. Other tests don't depend on it.


================
Comment at: clang-tools-extra/clangd/unittests/XRefsTests.cpp:2080
+
+    [[IsSmall]] auto i = 8;
+    template<[[IsSmal^l]] U> void foo();
----------------
sammccall wrote:
> maybe `= 'c'` and use `char` below? Don't make me think :-)
Done. Just to make sure we're safe against new architectures for the next 250 
years of C++ history.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124441

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

Reply via email to