Это ошибка на сайте. Это противоречит стандарту, в котором говорится, что декларация о дружбе не заменяет предварительную декларацию:
7.3.1.2.3 Каждое имя, впервые объявленное в пространстве имен, является членом этого пространства имен. Если объявление друга в нелокальном классе сначала объявляет класс, функцию, шаблон класса или шаблон функции, то друг является членом внутреннего вложенного пространства имен. Объявление друга само по себе не делает имя видимым для неквалифицированного или квалифицированного поиска.
Часть о том, что имя невидимо для неквалифицированного или квалифицированного поиска, по существу означает, что имя не ведет себя как предварительное объявление.