================
@@ -1296,6 +1296,15 @@ TEST_F(TokenAnnotatorTest, 
UnderstandsRequiresClausesAndConcepts) {
   Tokens = annotate("bool x = t && requires(Foo<C1 || C2> x) { x.foo(); };");
   ASSERT_EQ(Tokens.size(), 25u) << Tokens;
   EXPECT_TOKEN(Tokens[5], tok::kw_requires, TT_RequiresExpression);
+
+  // Second function definition is required due to lookahead
+  Tokens = annotate("void f() &\n"
----------------
owenca wrote:

> I'm not against rewriting the heuristic, if you know a better one. But for 
> this example could one not extent the look behind? Than it would also work 
> for r-value references.

No, because we can't tell if the r_paren before `&& requires` is a function 
decl r_paren?

> Or try to annotate the reference marker and match on that?

No, because we're in `UnwrappedLineParser`?



https://github.com/llvm/llvm-project/pull/110942
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to