5 trait MiniYokeable<'a> {
9 struct MiniYoke<Y: for<'a> MiniYokeable<'a>> {
13 fn map_project_broken<Y, P>(
15 f: impl for<'a> FnOnce(
16 <Y as MiniYokeable<'a>>::Output,
17 core::marker::PhantomData<&'a ()>,
18 ) -> <P as MiniYokeable<'a>>::Output,
21 Y: for<'a> MiniYokeable<'a>,
22 P: for<'a> MiniYokeable<'a>
32 impl<'a> MiniYokeable<'a> for Bar<'static> {
33 type Output = Bar<'a>;
36 impl<'a> MiniYokeable<'a> for &'static str {
37 type Output = &'a str;
40 fn demo_broken(bar: MiniYoke<Bar<'static>>) -> MiniYoke<&'static str> {
41 map_project_broken(bar, |bar, _| bar.string_1)