//@ check-pass | |
pub trait Fooey: Sized { | |
type Context<'c> where Self: 'c; | |
} | |
pub struct Handle<E: Fooey>(Option<Box<dyn for<'c> Fn(&mut E::Context<'c>)>>); | |
fn tuple<T>() -> (Option<T>,) { (Option::None,) } | |
pub struct FooImpl {} | |
impl Fooey for FooImpl { | |
type Context<'c> = &'c (); | |
} | |
impl FooImpl { | |
pub fn fail1() -> Handle<Self> { | |
let (tx,) = tuple(); | |
Handle(tx) | |
} | |
} | |
fn main() {} |