Nikita
изыди
Vladimir
Да вроде норм, почему костыль?
Ну с точки зрения реализации - норм. Но 5 тыщ генерик параметров - это ужас
Маjко
а чем они не нормальные?
Тем что нельзя частично уточнить генерик в турборыбе fn gen<T, B = DefaultB>() gen::<SomeT>
Маjко
Надо gen::<SomeT,DefaultB>
Маjко
Или _
Alexander
Смотрите что нарыл. Новый k от Артура http://kparc.com/k.txt
պլհկ
Ну с точки зрения реализации - норм. Но 5 тыщ генерик параметров - это ужас
Они дефолтные. Сейчас уже есть дефолтные хешеры в хешмапах, например, ты их не замечаешь
Vladimir
Тем что нельзя частично уточнить генерик в турборыбе fn gen<T, B = DefaultB>() gen::<SomeT>
Разве нельзя? struct Map<K,V> impl Map<K, ()> { fn new<K>() -> Map<K, ()>: }
պլհկ
Alexander
Соболезную. Смени провайдера.
Vladimir
Они дефолтные. Сейчас уже есть дефолтные хешеры в хешмапах, например, ты их не замечаешь
Ну окей, действительно хешер даже на вывод ошибок не влияет, тогда должно быть ок, кроме как для того кто читает код реализации
Маjко
Разве нельзя? struct Map<K,V> impl Map<K, ()> { fn new<K>() -> Map<K, ()>: }
Это не совсем то, чего я хочу. Полиморфизм на трейтах это не частичное уточнение генерика, когда его часть дефолтна
Маjко
Многословно слишком выходит
Vladimir
Это не совсем то, чего я хочу. Полиморфизм на трейтах это не частичное уточнение генерика, когда его часть дефолтна
так тут о трейтах нету вообще речи. Как я понял ты хочешь дефолтные параметры в функциях?
Loyd
То-то
Nikita
ооп ебошить буду
Loyd
Или нахуй
Nikita
я уже ж там
Nikita
у меня go on arm linux
Nikita
куда уж дальше
Nikita
а как eto po-russki?
видимо трейтов немаэ
Roma
трейты на русский как "типажи" переводят? oO
Loyd
Ну, сейчас модно так переводить
Roma
интерфейсы, модули, функторы есть; имплициты модулярные пилят
Αλεχ
так всегда переводили
Loyd
Чтобы с трейтами которые миксины не было путаницы
Αλεχ
просто чаще никак не переводили и было норм
Loyd
Да и вообще слово подходящее, имхо
Roma
ну так, типа зачем "типажи" то там?
Roma
так всегда переводили
полез глянуть, как в переводе tapl писали, а оказалось никак — у пирса нету ничо про трейты (upd: точнее слово он такое не использует)
Loyd
Ну, трейты больше про диспетчеризацию, поэтому странно,если бы у Пирса оно было
Roma
там где про разные формы полиформизма он затирает я ожидал увидеть
Loyd
Так нет. С точки зрения полиморфизма, типажи — просто помесь adhoc и параметрического.
Loyd
Даже несмотря на то, что типажи местами могут сильно уменьшить количество кода посравнению с их классовыми аналогами (например, протаскивание свойств через цепочку итераторов (Copy, Clone, ExactSizeIterator и прочие), где для классов для каждого кастомного свойства придётся дублировать иерархию итераторов (Map, Filter, Take и т.д.) или хранить соотвествующие флажки в итераторах и чекать в рантайме. Даже несмотря на это, это всё по части реализации и на интерфейс никак не влияет
Loyd
То есть отдельного вида полиморфизма это не даёт, и у Пирса странно было бы это видеть.
Loyd
А вот мультиметоды я ожидал увидеть и не увидел =\
Αλεχ
дайте сыслку хоть
Αλεχ
а то хз о чем ваы
Loyd
На что?
Loyd
Ну. Рома ожидал у Пирса увидеть про типажи
Loyd
А, ты про Пирса, наверное. Ну, погугли "Типы в языках программирования" Бенджамина Пирса.
Loyd
Ещё есть (только на англе) не менее доставляющее продолжение: Advanced Topics in Types and Programming Languages
Loyd
Но местами сложновато чёт =(
Loyd
Хотя, наверное, надо не в метро читать, а нормально, выделяя время свободное (которого нет)
Roma
То есть отдельного вида полиморфизма это не даёт, и у Пирса странно было бы это видеть.
Он там рассказывает же про примеры адхок, например, так что про трейты мог упомянуть
Loyd
Упомянуть мог, да. Я его не оправдываю)
Roma
дайте сыслку хоть
https://www.cis.upenn.edu/~bcpierce/tapl/
Roma
Ну и на русском был толковый перевод, где чуваки вроде думали
Loyd
У меня на ebook-е валяется, если не найдёшь, где скачать — могу синуть вечерком (оба)
պլհկ
https://internals.rust-lang.org/t/llvm-tools-a-new-rustup-component-for-binary-inspection-objdump-nm-size-and-profiling-profdata/7830
պլհկ
нойс
Loyd
Кто определил так нормальность?
պլհկ
ну это шаг в сторону стандалон тулчейна
պլհկ
чтоб не надо было ставить всякие binutils-armv4-le-xyn-pizda
Маjко
А, в этом плане да, удобно
Маjко
Но сначала надо xargo воткнуть в cargo
պլհկ
просто чикчик cargo binutils objdump
պլհկ
это жапарик делает, для эмбеда полезная фича
Kerrigan
и прям линкер сразу?
Kerrigan
под любую платформу будет ставиться
Roma
Xargo не нужен больше месяца
պլհկ
и прям линкер сразу?
пока вроде нет, но хотели
Nikita
и прям линкер сразу?
lld мжоне, только работает через жопу
պլհկ
ты опять выходишь на связь, мудило?
պլհկ
https://github.com/rust-lang/rust/issues/39915#issuecomment-400918730
Маjко
То есть я могу прям щас собрать бинарь под кортекс-м без xargo?
Roma
errrr, what?
Ну берёшь карго и им под арм билдишь
Маjко
O_o
Roma
И rustup target add
Маjко
Раст, притормози, я не успеваю