Size: a a a

2021 March 13

EG

Emmanuel Goldstein in rust_offtopic
Разница в том, что дженерики мономорфизуются, более или менее.
источник

KR

Kai Ren in rust_offtopic
Emmanuel Goldstein
Они и были в номинативе. Дженерики работают через номинативные интерфейсы.
Ну го весь топил за структурность по интерфейсам
источник

EG

Emmanuel Goldstein in rust_offtopic
А, тьфу
источник

KR

Kai Ren in rust_offtopic
А тут будет прям жёсткий номинатив в генериках
источник

EG

Emmanuel Goldstein in rust_offtopic
Emmanuel Goldstein
Они и были в номинативе. Дженерики работают через номинативные интерфейсы.
s/номинатив/структур/g
источник

S

SedSub in rust_offtopic
Emmanuel Goldstein
Они и были в номинативе. Дженерики работают через номинативные интерфейсы.
Они и были в структуре. Дженерики работают через структурные интерфейсы.
источник

EG

Emmanuel Goldstein in rust_offtopic
Спать мне пора
источник

EG

Emmanuel Goldstein in rust_offtopic
Да, ты прав, конечно
источник

KR

Kai Ren in rust_offtopic
так что ждём ответочки
источник

EG

Emmanuel Goldstein in rust_offtopic
Но тут проблема с тем, что они не умеют переопределять операторы
источник

EG

Emmanuel Goldstein in rust_offtopic
Что может быть хорошей вещью, но в итоге у них нет способа выразить Add кроме как просто перечислить все числовые типы
источник

KR

Kai Ren in rust_offtopic
Why Go generics doesn't work
источник

KR

Kai Ren in rust_offtopic
источник

KR

Kai Ren in rust_offtopic
И с лодочником в комментах
источник

KR

Kai Ren in rust_offtopic
Тьфу... с коксом
источник

b

badtrousers in rust_offtopic
😄
источник

EG

Emmanuel Goldstein in rust_offtopic
Emmanuel Goldstein
Половина синтаксиса в комментариях
Сцуко, буквально сишный код надо писать в комментариях, причём официальная документация использует для этого line-комментарии, хотя в Go есть блочные
nil != nil
обработка ошибок через пары
JSON-энкодер почему-то эскейпит HTML (wtf)
стек время от времени рандомно копируется целиком в другое место
ссылка на слайс может протухнуть — нет гарантии, что она указывает всегда на один и тот же объект, даже если её никто не менял
Можно просто пойти, сделать, и разыменовать нулевой поинтер
Нет способа защитить структуру от получения некорректного значения, любой пидорас может сделать var x ExternalType и получить тип, забитый нулями. Никакого аналога PIMPL нет.
Дженериков нет даже на уровне C11
defer вместо RAII/finally — это лишь слегка лучше чем C-style goto free;, потому что теперь тебе нужно думать в каждом месте, что закрывать
Вся простота Go идёт нахер, когда ты пытаешься действительно заставить семантику горутин работать — сам Роб Пайк обосрался на презентации, когда попытался привести простой пример паттерна. В реальности этот простой пример содержит неочевидный на первый взгляд баг, потому что по chan <- mess нет способа узнать, блокирующая это операция или нет.
Главная моя проблема с го последнее — не обосраться с горутинами тупо невозможно, слишком много движущихся частей, слишком мало проверок.
источник

KR

Kai Ren in rust_offtopic
Emmanuel Goldstein
Главная моя проблема с го последнее — не обосраться с горутинами тупо невозможно, слишком много движущихся частей, слишком мало проверок.
Контрольная задачка - реализовать unbounded канал в Го
источник

KR

Kai Ren in rust_offtopic
Столько гошников на ней обосралось - не передать
источник

KR

Kai Ren in rust_offtopic
Я в том числе
источник