Цитата из cppreference.com:
Добавление специализированных шаблонов
Разрешено добавлять специализированные шаблоны для любой стандартной библиотеки | class (с С++ 20) | шаблон в пространство имен std, только если декларация зависит, по крайней мере, от одного определенного типа программы, и специализация удовлетворяет всем требованиям для исходного шаблона, за исключением случаев, когда такие специализации запрещены.
Означает ли это, что начиная с С++ 20 добавление специализаций шаблонов функций в пространство имен std
для пользовательских типов больше не будет разрешено? Если это так, это означает, что многие фрагменты существующего кода могут сломаться, не так ли? (Мне кажется, что это "радикальное" изменение). Кроме того, он вводит в такие коды неопределенное поведение, которое не будет приводить к ошибкам компиляции (мы надеемся, что будут предупреждения).