Всем привет) Суть вопроса такова - есть у меня дженерик

структура, которая представляет из себя такой вид:

pub struct AppData<F, T>
where
F: Fn() -> T,
T: EntityRepository, // это тип, который реализует трейт
{
entity_repository_factory: F,
}

В процессе работы приложения я пишу обработчики запросов (я использую actix-web) и получается, что для того, чтобы все работало, мне необходимо в каждой функции обработчике указывать те же трейт баунды, что и в структуре, типа так:

#[get("/entity")]
pub async fn list_entities<F, T>(
ctx: web::Data<AppData<F, T>>,
) -> impl Responder
where
F: Fn() -> T,
T: EntityRepository,
{
...
}

И это не то, чтобы проблема, скорее пытаюсь понять, все ли я делаю правильно и возможно тут есть какой-то более растик подход? Заранее спасибо за помощь)

1 ответов

6 просмотров
drjackild- Автор вопроса

К слову, я в итоге поменял тип в AppData на Box<dyn Fn() -> Box<EntityRepository>>. Пусть и не очень красиво смотрится, но проблему решает

Похожие вопросы

Обсуждают сегодня

'frakturBold' => ['𝖆', '𝖇', '𝖈', '𝖉', '𝖊', '𝖋', '𝖌', '𝖍', '𝖎', '𝖏', '𝖐', '𝖑', '𝖒', '𝖓', '𝖔', '𝖕', '𝖖', '𝖗', '𝖘', '𝖙', '𝖚', '𝖛', '𝖜', '𝖝', '𝖞', '𝖟', '𝕬', '𝕭', '𝕮', '𝕯'...
Roma
4
Есть полностью собранная база "шрифтов" - подобных символов?
Shen
9
кто-нибудь отправлял ли групповые медиа с entites? что бы были гипер ссылки const result = await this.client.invoke( new Api.messages.SendMultiMedia({ silen...
Kokni
3
Сonst magicTgHTML = (text, entities) => { let processedText = text; let offsetShift = 0; entities.forEach(entity => { const { offset, length, type, url, ...
Андрей
1
if (user?.choseType === 'oneDay') { await ctx.reply( 'Добро пожаловать в команду «Магнита»! Правда, на один день ☺️ ', ); await ctx.s...
Kokni
1
а у тя шо за бот?
Андрей
6
а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
или ты хочешь сказать что это по юникоду не дефолтные буквы?
Roma
4
хотя нет, на нескольких акках есть звезды, а где их выводить то? я слепой?
Roma
1
всем салют сегодня утро заметил что бот не может отправлять фотки по url. ручками в браузере ссылка норм открывает фотки. падает ошибка 'Bad Request: failed to send message ...
Vasya Ivanov
9
Карта сайта