]> git.proxmox.com Git - rustc.git/blame - src/test/ui/associated-types/associated-types-issue-20220.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / associated-types / associated-types-issue-20220.rs
CommitLineData
b7449926 1// run-pass
85aaf69f
SL
2// Test references to `Self::Item` in the trait. Issue #20220.
3
c34b1796 4
85aaf69f
SL
5use std::vec;
6
7trait IntoIteratorX {
8 type Item;
9 type IntoIter: Iterator<Item=Self::Item>;
10
11 fn into_iter_x(self) -> Self::IntoIter;
12}
13
14impl<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
23fn 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}