Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
matthiaskrgr committed Sep 5, 2021
1 parent fd77d89 commit 65898d0
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions ices/88446.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
trait Yokeable<'a> {
type Output: 'a;
}
impl<'a> Yokeable<'a> for () {
type Output = ();
}

trait DataMarker<'data> {
type Yokeable: for<'a> Yokeable<'a>;
}
impl<'data> DataMarker<'data> for () {
type Yokeable = ();
}

struct DataPayload<'data, M>(&'data M);

impl DataPayload<'static, ()> {
pub fn map_project_with_capture<M2, T>(
_: for<'a> fn(
capture: T,
std::marker::PhantomData<&'a ()>,
) -> <M2::Yokeable as Yokeable<'a>>::Output,
) -> DataPayload<'static, M2>
where
M2: DataMarker<'static>,
{
todo!()
}
}

fn main() {
let _: DataPayload<()> = DataPayload::<()>::map_project_with_capture::<_, &()>(|_, _| todo!());
}

0 comments on commit 65898d0

Please sign in to comment.