]> git.lizzy.rs Git - rust.git/blob - src/test/ui/lazy-type-alias-impl-trait/branches2.rs
Auto merge of #99292 - Aaron1011:stability-use-tree, r=cjgillot
[rust.git] / src / test / ui / lazy-type-alias-impl-trait / branches2.rs
1 #![feature(type_alias_impl_trait)]
2
3 // check-pass
4
5 type Foo = impl std::iter::FromIterator<i32> + PartialEq<Vec<i32>> + std::fmt::Debug;
6
7 fn foo(b: bool) -> Foo {
8     if b {
9         vec![42_i32]
10     } else {
11         std::iter::empty().collect()
12     }
13 }
14
15 fn bar(b: bool) -> impl PartialEq<Vec<i32>> + std::fmt::Debug {
16     if b {
17         vec![42_i32]
18     } else {
19         std::iter::empty().collect()
20     }
21 }
22
23 fn main() {
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![]);
28 }