nridge added a comment. Sorry, that was a bad example as it's not actually valid. Here's a slightly modified one:
template <bool,int> class a {}; constexpr int b = 2; constexpr int c = 3; constexpr int d = 4; a<b<c,d> e; The parser knows the first `<` opens a template-param-list because the name before it, `a`, resolves to a template-name, and that the second `<` is a comparison operator because the name before //that//, `b`, does not. But a native client-side matcher might incorrectly pick the second `<` as the opening angle-bracket to match the `>`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D139926/new/ https://reviews.llvm.org/D139926 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits