Zefick
> Вместо них есть что-то больше похожее на генерики в Java/C#
Да ладно?
В Java, насколько мне известно, шаблонные классы - это классы, хранящие Object, и оперирующие с ним.
В Rust же вроде что угодно складывается в generic-контейнеры как положено, и больше похоже на плюсовые контейнеры. Ну и код вроде, генерируется для каждого типа отдельно.
Количестно "экспертов" в теме просто пугающее, но таки отмечусь: ковыряю тут открытую пошаговую стратегию на ржавчине: https://github.com/ozkriff/zoc
Ну и ржавчину, само собой, считаю очень персективным для игростроя языком, хоть и не без недостатков.
Как ни странно, лично меня сейчас больше всего бесит дикое время сборки, даже инкрементальной - моя поделка +-30 секунд после любого изменения соберается - из "потока" порядочно выбивает. Можно, конечно, разбить проект на большее количество пакетов, тогда можно секунд до +-10 инкрементальную сборку ускорить, но уродовать структуру не хочется :( . Обещали, что посли влития MIR над скоростью сборки начнут активно работать, посмотрим.
Язык крутой, только, не смотря на релиз, еще очень сырой, и развиваться ему еще долго, прежде чем он станет пригодным для коммерческой разработки.
Сейчас, например, нет нативного интерфейса для подгрузки DLL в рантайме, в релизной ветке нет никаких способов сделать DI.
Благо, язык всё еще активно развивается, и есть надежда, что в ближайших версиях подобные этим недостатки исправят.
Fynivx
> не смотря на релиз, еще очень сырой
Ну что версия 1.0 была только насчет гарантий обратной совместимости, а не "готовый продукт" - тема известная. Семвер, все дела)
> азвиваться ему еще долго, прежде чем он станет пригодным для коммерческой разработки
С утра мысль по поводу "продакшена" мелькала: https://habrahabr.ru/post/308124/#comment_9760790
> Сейчас, например, нет нативного интерфейса для подгрузки DLL в рантайме
Лично не щупал, но чем https://github.com/nagisa/rust_libloading плох? С виду вполне.
> в релизной ветке нет никаких способов сделать DI
А, я помню твой вопрос на SO :)
Фиг знает, мне таки кажется IoC в том виде, в котором ты хочешь, никому пока не был нужен особо.
Я на практике вижу как проблемы "компонентов извне" решаются простым указанием, что "ожидаю в конструкторе объект, реализующий такой-то мой типаж" и все.
Тема в архиве.