]> git.lizzy.rs Git - rust.git/blob - tests/ui/type-alias-impl-trait/issue-72793.rs
Auto merge of #106458 - albertlarsan68:move-tests, r=jyn514
[rust.git] / tests / ui / type-alias-impl-trait / issue-72793.rs
1 // check-pass
2 // compile-flags: -Zmir-opt-level=3
3
4 #![feature(type_alias_impl_trait)]
5
6 trait T { type Item; }
7
8 type Alias<'a> = impl T<Item = &'a ()>;
9
10 struct S;
11 impl<'a> T for &'a S {
12     type Item = &'a ();
13 }
14
15 fn filter_positive<'a>() -> Alias<'a> {
16     &S
17 }
18
19 fn with_positive(fun: impl Fn(Alias<'_>)) {
20     fun(filter_positive());
21 }
22
23 fn main() {
24     with_positive(|_| ());
25 }