1 #![feature(type_alias_impl_trait)]
5 type Foo = impl std::iter::FromIterator<i32> + PartialEq<Vec<i32>> + std::fmt::Debug;
7 fn foo(b: bool) -> Foo {
11 std::iter::empty().collect()
15 fn bar(b: bool) -> impl PartialEq<Vec<i32>> + std::fmt::Debug {
19 std::iter::empty().collect()
24 assert_eq!(foo(true), vec![42]);
25 assert_eq!(foo(false), vec![]);
26 assert_eq!(bar(true), vec![42]);
27 assert_eq!(bar(false), vec![]);