3 #![feature(generic_associated_types)]
5 pub trait Fooey: Sized {
6 type Context<'c> where Self: 'c;
9 pub struct Handle<E: Fooey>(Option<Box<dyn for<'c> Fn(&mut E::Context<'c>)>>);
11 fn tuple<T>() -> (Option<T>,) { (Option::None,) }
14 impl Fooey for FooImpl {
15 type Context<'c> = &'c ();
19 pub fn fail1() -> Handle<Self> {