]> git.lizzy.rs Git - rust.git/blob - src/test/ui/associated-types/associated-types-issue-20220.rs
feat(rustdoc): open sidebar menu when links inside it are focused
[rust.git] / src / test / ui / associated-types / associated-types-issue-20220.rs
1 // run-pass
2 // Test references to `Self::Item` in the trait. Issue #20220.
3
4
5 use std::vec;
6
7 trait IntoIteratorX {
8     type Item;
9     type IntoIter: Iterator<Item=Self::Item>;
10
11     fn into_iter_x(self) -> Self::IntoIter;
12 }
13
14 impl<T> IntoIteratorX for Vec<T> {
15     type Item = T;
16     type IntoIter = vec::IntoIter<T>;
17
18     fn into_iter_x(self) -> vec::IntoIter<T> {
19         self.into_iter()
20     }
21 }
22
23 fn main() {
24     let vec = vec![1, 2, 3];
25     for (i, e) in vec.into_iter().enumerate() {
26         assert_eq!(i+1, e);
27     }
28 }