- Я ожидал более традиционного подхода с предоставлением лямбды на месте.
- Для типа может быть только одна специализация шаблона.
- Специализации могут быть не может быть объявлен где-либо, кроме своего собственного пространства имен (невозможно специализировать std::formatter внутри пространства имен foo)
- Невозможно специализировать локальные или безымянные типы.
- fmtlib не предоставляет возможности форматировать каждый элемент в контейнере (fmt::join может устанавливать только разделитель). Было бы очень неудобно форматировать фундаментальные и стандартные типы.
int main() {
struct {} john_cena;
// std::cout
Подробнее здесь: https://stackoverflow.com/questions/790 ... rom-lambda