Я пытаюсь определить сигнатуру FnMut, чтобы позволить пользователям библиотеки передавать замыкание в качестве обратного вызова. Закрытие будет упаковано и сохранено в структуре.
Обратному вызову будут заданы определенные входные параметры, и он должен возвращать структуру, которая реализует черту.
В настоящее время подпись определяется как:
new_request_session_callback: Option<
Box<
dyn FnMut(
my::Parameters
) -> OutputSessionStruct
+ 'static,
>,
Я хотел бы изменить эту подпись, чтобы она принимала любую выходную структуру, которая реализует определенный SessionTrait. Как я могу это сделать?