blob: 3bdb3bf1d5305cb0ada503a869553bcdd86c41a4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
// Regression test for #57188
// check-pass
#![feature(impl_trait_in_assoc_type)]
struct Baz<'a> {
source: &'a str,
}
trait Foo<'a> {
type T: Iterator<Item = Baz<'a>> + 'a;
fn foo(source: &'a str) -> Self::T;
}
struct Bar;
impl<'a> Foo<'a> for Bar {
type T = impl Iterator<Item = Baz<'a>> + 'a;
fn foo(source: &'a str) -> Self::T {
std::iter::once(Baz { source })
}
}
fn main() {}
|