1 // Test interaction between unboxed closure sugar and default type
2 // parameters (should be exactly as if angle brackets were used).
4 #![feature(unboxed_closures)]
9 fn dummy(&self, t: T, v: V);
12 trait Eq<X: ?Sized> { fn same_types(&self, x: &X) -> bool { true } }
13 impl<X: ?Sized> Eq<X> for X { }
14 fn eq<A: ?Sized,B: ?Sized>() where A : Eq<B> { }
17 // Parens are equivalent to omitting default in angle.
18 eq::<dyn Foo<(isize,), Output=()>, dyn Foo(isize)>();
20 // In angle version, we supply something other than the default
21 eq::<dyn Foo<(isize,), isize, Output=()>, dyn Foo(isize)>();
24 // Supply default explicitly.
25 eq::<dyn Foo<(isize,), (isize,), Output=()>, dyn Foo(isize)>();