1 // Test that the unboxed closure sugar can be used with an arbitrary
2 // struct type and that it is equivalent to the same syntax using
3 // angle brackets. This test covers only simple types and in
4 // particular doesn't test bound regions.
6 #![feature(unboxed_closures)]
13 fn dummy(&self, t: T);
16 trait Eq<X: ?Sized> { }
17 impl<X: ?Sized> Eq<X> for X { }
18 fn eq<A: ?Sized,B: ?Sized +Eq<A>>() { }
21 eq::< dyn for<'a> Foo<(&'a isize,), Output=&'a isize>,
22 dyn Foo(&isize) -> &isize >();
23 eq::< dyn for<'a> Foo<(&'a isize,), Output=(&'a isize, &'a isize)>,
24 dyn Foo(&isize) -> (&isize, &isize) >();
26 let _: dyn Foo(&isize, &usize) -> &usize; //~ ERROR missing lifetime specifier