about summary refs log tree commit diff
path: root/tests/ui/issues/issue-42467.rs
blob: 6e0f294d802e73ca949d0b903d16f7a0d7353989 (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
//@ check-pass
#![allow(dead_code)]
struct Foo<T>(T);

struct IntoIter<T>(T);

impl<'a, T: 'a> Iterator for IntoIter<T> {
    type Item = ();

    fn next(&mut self) -> Option<()> {
        None
    }
}

impl<T> IntoIterator for Foo<T> {
    type Item = ();
    type IntoIter = IntoIter<T>;

    fn into_iter(self) -> IntoIter<T> {
        IntoIter(self.0)
    }
}

fn main() {}