I thought go doesn't have generics

Скриншот треда с объяснением странного синтаксиса Go, где оказывается, что это не generics, а шаблонный файл и особые символы
Скриншот треда с объяснением странного синтаксиса Go, где оказывается, что это не generics, а шаблонный файл и особые символы

На изображении показан скриншот обсуждения на Reddit про синтаксис Go. Пользователь спрашивает: «Can you please explain this go syntax to me?» и приводит строку `type ImmutableTreeList<ElementT> struct {`, после чего пишет: «I thought go doesn't have generics.» В ответ ему объясняют, что это не настоящие generics, а шаблонный файл, а символы внутри — не угловые скобки, а знаки из Canadian Aboriginal Syllabics, которые допустимы в идентификаторах Go. Внизу другой участник реагирует коротко: «Oh my god».

Can you please explain this go syntax to me? Type ImmutableTreeList<ElementT> Struct { I thought go doesn't have generics. It doesn't. That's just a "template" file, which I use search and replace in order to generate the three monomorphized go files. If you look closely, those aren't angle brackets, they're characters from the Canadian Aboriginal Syllabics block, which are allowed in Go identifiers. From Go's perspective, that's just one long identifier. They're characters from the Canadian Aboriginal Syllabics block. Oh my god