// Assume there are no blocks inside a braced init list apart
// from the ones we explicitly parse out (like lambdas).
FormatTok->setBlockKind(BK_BracedInit);
+ if (!IsAngleBracket) {
+ auto *Prev = FormatTok->Previous;
+ if (Prev && Prev->is(tok::greater))
+ Prev->setFinalizedType(TT_TemplateCloser);
+ }
nextToken();
parseBracedList();
break;
ASSERT_EQ(Tokens.size(), 21u) << Tokens;
EXPECT_TOKEN(Tokens[4], tok::less, TT_TemplateOpener);
EXPECT_TOKEN(Tokens[16], tok::greater, TT_TemplateCloser);
+
+ Tokens =
+ annotate("auto x{std::conditional_t<T::value == U::value, T, U>{}};");
+ ASSERT_EQ(Tokens.size(), 24u) << Tokens;
+ EXPECT_TOKEN(Tokens[6], tok::less, TT_TemplateOpener);
+ EXPECT_TOKEN(Tokens[18], tok::greater, TT_TemplateCloser);
}
} // namespace