Also map the reply

Signed-off-by: Marcel Müller <neikos@neikos.email>
This commit is contained in:
Marcel Müller 2025-11-04 11:24:48 +01:00
parent 36966ff86d
commit 9fac3f08a1
2 changed files with 37 additions and 21 deletions

View file

@ -62,14 +62,13 @@ pub trait InternalMessageHandler {
) -> impl Future<Output = anyhow::Result<InternalMessage>>;
}
impl<MB, IMH> Address<MB> for IMH
impl<IMH> Address<IMH::HandledMessages> for IMH
where
MB: MessageBundle,
IMH: InternalMessageHandler<HandledMessages = MB>,
IMH: InternalMessageHandler,
{
fn send<M: Message>(&mut self, message: M) -> impl Future<Output = anyhow::Result<M::Reply>> {
const {
let true = <M as IsContainedInBundle<MB>>::IS_CONTAINED else {
let true = <M as IsContainedInBundle<IMH::HandledMessages>>::IS_CONTAINED else {
panic!("Message is not contained in MessageBundle",);
};
}