mirror of https://github.com/rust-lang/rust
24 lines
415 B
Rust
24 lines
415 B
Rust
//@ 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() {}
|