diff --git a/lender/src/higher_order.rs b/lender/src/higher_order.rs index aa48ac0..9892786 100644 --- a/lender/src/higher_order.rs +++ b/lender/src/higher_order.rs @@ -339,7 +339,16 @@ macro_rules! __covar__ { )? $hr >( - ::core::marker::PhantomData ($Ret, &$hr ())> + ::core::marker::PhantomData< + ( + fn() -> ($Ret, &$hr ()), + $( + $($( + &$lt (), + )+)? + )? + ) + > ); // This function only compiles if __CovarCheck (and thus $Ret) diff --git a/lender/tests/fail/try_collect.stderr b/lender/tests/fail/try_collect.stderr index b20183f..b865b43 100644 --- a/lender/tests/fail/try_collect.stderr +++ b/lender/tests/fail/try_collect.stderr @@ -25,5 +25,5 @@ error: implementation of `lender::FromLender` is not general enough 40 | let wrapper: ChangeOutputType, _> = lender.try_collect::>>(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ implementation of `lender::FromLender` is not general enough | - = note: `Wrapper>>` must implement `lender::FromLender>>`, for any lifetime `'1`... - = note: ...but it actually implements `lender::FromLender>>`, for some specific lifetime `'2` + = note: `Wrapper>>` must implement `lender::FromLender>>`, for any lifetime `'1`... + = note: ...but it actually implements `lender::FromLender>>`, for some specific lifetime `'2`