Need info related TryAnnotateTypeOrScopeTokenAfterScopeSpec()

Hello Team,
Need to clarify below doubts,

cat test.cpp
template <a> class b;
b() b c;

Case (clang++ -c test.cpp)

a is placed in the position of typename, so a is identifier**,** it is replaced with annot_typename Case (clang++ -c -std=c++17 test.cpp)
a is identifier**,** it is not replaced with annot_typename
Could you please tell, why a is not replaced with annot_typename in the case of C++17? Regards, Nadaf.