diff --git a/src/r3_core/src/bind.rs b/src/r3_core/src/bind.rs index f7b6a1d762..a0b0bd2d6a 100644 --- a/src/r3_core/src/bind.rs +++ b/src/r3_core/src/bind.rs @@ -1216,7 +1216,8 @@ macro_rules! impl_fn_bind { type BoundFn where $( $RuntimeBinderI: RuntimeBinder, )* - T: Copy + Send + 'static, + T: for<'call> FnOnce($( $RuntimeBinderI::Target<'call>, )*) + -> Output + Copy + Send + 'static, = impl FnOnce() -> Output + Copy + Send + 'static; const fn bind_inner< @@ -1345,8 +1346,8 @@ where type MappedBoundFn where - InnerBoundFn: Copy + Send + 'static, - Mapper: Copy + Send + 'static, + InnerBoundFn: FnOnce() -> Output + Copy + Send + 'static, + Mapper: FnOnce(Output) -> NewOutput + Copy + Send + 'static, = impl FnOnce() -> NewOutput + Copy + Send + 'static; const fn map_bind_inner(