Anton
когда эти genserver'ы пилишь
Светомеч
эрланговский?
Сегодня зачем-то его поставил
Светомеч
Из-за rabbitmq
Kerrigan
когда эти genserver'ы пилишь
не, там всё просто
Anton
просто, но поначалу не привычно
Anton
Из-за rabbitmq
наверное изза админки
Kerrigan
короче я не понял как в этом готаме настраивать роутер
Kerrigan
чтобы оно матчило куски роута
Kerrigan
в документации на эту тему стоит TODO
Светомеч
Anton
хз, но на какомто сервере должна быть)
Arthur
вопрос по поводу тестов в расте, как я могу заимпортить модуль в папке src в тест в папке tests?
Arthur
или нужно тесты складывать в одну кучу с сорцами?
Kerrigan
Она на нем?
разве что-то ещё осталось? Yaws точно сдох, nitrogen сгнил
Kerrigan
Не слежу)
я тоже, стараюсь к русскоязычным эрлангистам не заходить
Anton
gotham пишут, что они асинхронны до мозга костей, кто-то использовал его в бою?
Kerrigan
Кусаются?
у них стейбл головного мозга
Kerrigan
и таскание исходников из проекта в проект вместо оформления либ
Anton
и таскание исходников из проекта в проект вместо оформления либ
ну, как говорил пайк, небольшое копирование лучше плохой абстракции...😬
Kerrigan
ну, как говорил пайк, небольшое копирование лучше плохой абстракции...😬
копирование это таскание кококо-оптимизированных функций
Kerrigan
они нормально выделяются в модули
Alexander
Вопрос: есть трейт. Но для new , для разных имплементаций типов нужно разное количество параметров. Как это лучше осуществить?
Alexander
Делать два разных конструктора и в одной из имплементаций кидать паник, например, как-то не очень выглядит.
Антон
А чуть подробнее можно? А то можно выделить общую часть параметров, отделить меняющеяся от типа к типа, вынести эти параметры в отдельную структуру и сделать ещё один трейт с ассоциированным типом, имеющим тип этой структуры, и писать что-то вроде: fn foo<T: FooParameter>(shared_params: SharedParams, specific_params: <T as FooParameter>::SpecificParameter) -> .. { .. }
Антон
Но это, конечно, изврат и оверинжиниринг
Антон
Если есть возможность — лучше переделать структуру так, чтобы это не было нужно, а то как-то не оч
Антон
Хм, да, выглядит хорошо, но да, много писать.
Вот и я говорю. Можешь описать подробнее? Глядишь, без этого удастся обойтись
Антон
А вообще, в отсутствие функций с переменным числом параметров в Rust принято абьюзить паттерн Builder
Alexander
Trait{ new... }. Есть struct A{a:usize} , есть struct B{a:usize, b:usize}. Я хочу чтобы impl Trait for A { new(a:uzize) ... } , а для impl Trait for B { new (a:usize, b:usize) ... Как-то так
Alexander
Но параметры не 1в1 ложатся на структуру как в этом примере.
Sergey
Модель памяти Golang
Sergey
Nikita
Игрушечные мемы
Антон
Но параметры не 1в1 ложатся на структуру как в этом примере.
Ну так сделай два разных new, в чём проблема-то?
Alexander
Ну так сделай два разных new, в чём проблема-то?
В том что for A { new_b(a, b) { panic } надо писать, что не очень. Для B { new_a(a) { panic }
Loo
что это блять за хуита
Антон
Сказано же, модель памяти Go
Tuntz
Да хорош уже - бесконечный стёб над Go уже напоминает, извините, комплекс неполноценности. )
A64m
других-то причин пошутить нет, конечно
Антон
Ну, вообще-то есть
Антон
Никак
kitsu
наверн было, но а вдруг
kitsu
Loo
Лол
Vladimir
Да, вообще Руст хорош в этом плане
Vladimir
Помню там ещё было про угловые скобки из го
Sergey
ребзя как раст/карго разруливает зависимости зависимостей? к примеру я тащу в проект 2 крейта с разными футурами в своих зависимостях и пытаюсь: crateB.method(crateA.get()) что будет? 1. если версии отличаются незначительно (минор, патч версией) 2. если отличаются сильно (мажорный релиз)
Vladimir
Если отличаются незначительно то по факту будет одна версия
Vladimir
Если значительно, выведет неприятную ошибку
Sergey
спасибо
Vladimir
Типа ожидается FutureA... А имеем FutureA...
Sergey
отличия выясняет по версии?
Sergey
или по структуре?
Vladimir
По версии
Sergey
о хорошо
Sergey
а если структура отличается но изменения минорные (аунер крейта идиот)
Vladimir
Я ж говорю, будет одна версия крейта
Sergey
а точно
Vladimir
Если какая-то зависимость создаёт эту структуру то она просто не скомпилится
Sergey
аа
Vladimir
Ну типа создаёт как Structure {} если через публичное апи, и оно осталось таким же, то менять содержимое структуры вполне себе тянет на патч версию
Sergey
ок
Vladimir
Короче на самом деле у раста это круто, кроме очень маленьких мест
Sergey
ты в чем пишешь на расте?
Vladimir
Например если логгер какой-то разных версий юзаешь, вообще можно не понять что разные версии, просто будет работать часть вывода
Sergey
Идея
go to definition в крейты работает?
Vladimir
Хороший вопрос, отвечать на него я конечно не буду
Vladimir
Вообще у меня большой проект основной, и там задача по нему прыгать больше
Sergey
😄
Vladimir
Он работает примерно в 85%
Sergey
прост в вскоде работает, но если из содержимого крейта в другой модуль крейта то уже нет
Vladimir
За внешние крейты я обычно доки в браузере открываю
Vladimir
Ну я точно помню, что в СТД прыгал