ну если я правильно понимаю, у тебя все-таки фундаментальные сложности, что твоё пожелание - DI открытого мира, а Rust даёт только инструменты закрытого в статике
я могу добавлять ручки и если аргументов не хватит то он выдаст ошибку в рантайме что не зарегано
ну вроде бы по крайней мере одно решение в компильтайме - прописать каждому доступному по DI трейт DICreatable и потом написать (DICreatable... -> Result) -> Result
ну вроде бы по крайней мере одно решение в компильтайме - прописать каждому доступному по DI трейт DICreatable и потом написать (DICreatable... -> Result) -> Result
фишка диая в том что сами объекты не должны знать что создаются через диай
ну мой базовый тезис - что для компильтайма один раз тебе придётся перечислить всё создаваемое в DI с правилами откуда брать, и видимо на этом уровне можно трейтом разрулить
ну мой базовый тезис - что для компильтайма один раз тебе придётся перечислить всё создаваемое в DI с правилами откуда брать, и видимо на этом уровне можно трейтом разрулить
с достаточно продвинутой макросистемой я мог бы от компилятора получить все что мне нужно чтобы нагенерировать сигнатуры правильные