Follow

В расте нет перегрузки методов. То есть хочешь сделать logger.info(args) шиш тебе. Вроде в ночных сборках компилера можно страшным бубном что то для перегрузки функций сделать, но бубном и я не смотрел еще. Хочу простого result.expect_with_msg(msgid, msg_arg1, msg_arg2...) так низя, только макрос пили и вызывай.

То есть сделать Deref, в котором компилер автоматом будет распаковывать все упаковки до момента пока не найдет первый же попавшийся подходящий по сигнатуре метод это ок, а против того же самого по сути среди методов трейта, это они против и только страшными костылями.

Но я еще разбираюсь.

@3draven
Ужас!))
Тоже хочу раст, даже растбук начинал читать и даже накодил типа вирус для проверки песочницы. Но у меня за плечами только жс и питон.
Жава - тёмный лес, си - одним глазом смотрел когда-то, знакомство с плюсами не состоялось, хотя что-то читал

Думаешь, стоит?

@apxont мне раст нравится, есть особенности вроде этой, но в целом норм, плюсов больше. Я еще разбираюсь, хорошо пока. Но я и с С++, С, java и прочими соседями знаком...так что в целом мне давно пофиг на чем писать, только особенности и интересно выяснять...зачем этот лом загнули на тридцать градусов и воткнули в поле :) В остальном все плюс минус одно.

@apxont Да, нравится он мне по конкретной причине. Все эти особенности порождены простой мыслью. Код должен выражать то, что он делает. Без магии (тут Deref выбивается основательно). Иначе получится котлин или javascript. Народ отсутствие перегрузки объясняет себе именно этим, а так же дефолтных параметров и прочего...типа хочешь что то сделать, напиши это, у функций потому имена разные надо.

@apxont вот конкретно обсуждение перегрузки

users.rust-lang.org/t/is-there

Я не люблю магию в языках, когда что то происходит "автоматически" потому, что в другом конце мира чувак запилил где-то что то и оно у тебя внезапно сработало хотя из текста, что ты читаешь это не следует и надо знать, что там чувак насочинял и еще миллион чуваков.

@apxont а вот целая статья

medium.com/swlh/function-overl

Но я ее потом прочитаю, завтра. Просто наткнулся ближе к концу копаний, там как раз описана перегрузка, которую вроде как в ночных сборках таки запилили и почему это плохо...скорее всего :)

@3draven
я такого вообще никогда не встречал. я думаю, мне никогда такое не пригодилось бы.
или где оно нужно?

@apxont когда у тебя сотни сервисов все собирается в прометей и оттуда летят алерты. К прометею прикручивается графана и у тебя вся инфра на ладони. Вешается телек в офисе с графиками что бы людей пугать.

@3draven я про перезагрузку функций ) в расте в частности

@apxont блин, увидел нотификацию и тред перепутал :) Зачем конкретно это, трудно сказать. Думаю вред один. Вот перегрузка методов в трейте иногда была бы удобна, а то мне для логирования без макросов придется сейчас сделать get_message_0 1 2 3 :) Либо везде вставлять макрос специальный

@apxont но я наверное тащу свои привычки в чужой монастырь.

@apxont буду вставлять макрос. Типа такого result.expect(get_message!(Args)) это не то, что мне хотелось бы, но пойдет.

@3draven ну, удачи ))
а я уж не знаю, когда снова до раста доберусь

Sign in to participate in the conversation
MustUdon

I like Twitter, but, Mastodon it is so excited! Feel free to register it is server just for fun! Usefull links https://instances.social https://www.reddit.com/r/Mastodon/comments/yugh2o/some_useful_mastodon_lists/?utm_source=share&utm_medium=web2x&context=3