>>> лексируется как >> >. Но что произойдет, если первый > закрывает список аргументов шаблона, должен ли результат быть эквивалентен > > > или > >>?
Это имеет значение в следующем коде:
template<class T> struct X { };
void operator >>(const X<int>&, int) { }
int main() {
*new X<int>>> 1;
}