1 error[E0412]: cannot find type `N` in this scope
2 --> $DIR/issue-50480.rs:4:12
4 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
5 | -^ not found in this scope
7 | help: you might be missing a type parameter: `<N>`
9 error[E0412]: cannot find type `NotDefined` in this scope
10 --> $DIR/issue-50480.rs:4:15
12 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
13 | ^^^^^^^^^^ not found in this scope
15 error[E0412]: cannot find type `N` in this scope
16 --> $DIR/issue-50480.rs:4:12
18 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
19 | -^ not found in this scope
21 | help: you might be missing a type parameter: `<N>`
23 error[E0412]: cannot find type `NotDefined` in this scope
24 --> $DIR/issue-50480.rs:4:15
26 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
27 | - ^^^^^^^^^^ not found in this scope
29 | help: you might be missing a type parameter: `<NotDefined>`
31 error[E0412]: cannot find type `N` in this scope
32 --> $DIR/issue-50480.rs:13:18
34 LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
37 | similarly named type parameter `T` defined here
39 help: a type parameter with a similar name exists
41 LL | struct Bar<T>(T, T, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
43 help: you might be missing a type parameter
45 LL | struct Bar<T, N>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
48 error[E0412]: cannot find type `NotDefined` in this scope
49 --> $DIR/issue-50480.rs:13:21
51 LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
52 | ^^^^^^^^^^ not found in this scope
54 error[E0277]: `i32` is not an iterator
55 --> $DIR/issue-50480.rs:1:17
57 LL | #[derive(Clone, Copy)]
58 | ^^^^ `i32` is not an iterator
60 = help: the trait `Iterator` is not implemented for `i32`
61 = note: if you want to iterate between `start` until a value `end`, use the exclusive range syntax `start..end` or the inclusive range syntax `start..=end`
62 = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
64 error[E0204]: the trait `Copy` may not be implemented for this type
65 --> $DIR/issue-50480.rs:1:17
67 LL | #[derive(Clone, Copy)]
70 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
71 | -------- ------ this field does not implement `Copy`
73 | this field does not implement `Copy`
75 = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
77 error[E0277]: `i32` is not an iterator
78 --> $DIR/issue-50480.rs:10:17
80 LL | #[derive(Clone, Copy)]
81 | ^^^^ `i32` is not an iterator
83 = help: the trait `Iterator` is not implemented for `i32`
84 = note: if you want to iterate between `start` until a value `end`, use the exclusive range syntax `start..end` or the inclusive range syntax `start..=end`
85 = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
87 error[E0204]: the trait `Copy` may not be implemented for this type
88 --> $DIR/issue-50480.rs:10:17
90 LL | #[derive(Clone, Copy)]
93 LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
94 | -------- ------ this field does not implement `Copy`
96 | this field does not implement `Copy`
98 = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
100 error: aborting due to 10 previous errors
102 Some errors have detailed explanations: E0204, E0277, E0412.
103 For more information about an error, try `rustc --explain E0204`.