1 error[E0412]: cannot find type `N` in this scope
2 --> $DIR/issue-50480.rs:3: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
9 LL | struct Foo<N>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
12 error[E0412]: cannot find type `NotDefined` in this scope
13 --> $DIR/issue-50480.rs:3:15
15 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
16 | ^^^^^^^^^^ not found in this scope
18 error[E0412]: cannot find type `N` in this scope
19 --> $DIR/issue-50480.rs:3:12
21 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
22 | ^ not found in this scope
24 help: you might be missing a type parameter
26 LL | struct Foo<N>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
29 error[E0412]: cannot find type `NotDefined` in this scope
30 --> $DIR/issue-50480.rs:3:15
32 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
33 | ^^^^^^^^^^ not found in this scope
35 help: you might be missing a type parameter
37 LL | struct Foo<NotDefined>(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
40 error[E0412]: cannot find type `N` in this scope
41 --> $DIR/issue-50480.rs:12:18
43 LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
46 | similarly named type parameter `T` defined here
48 help: a type parameter with a similar name exists
50 LL | struct Bar<T>(T, T, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
52 help: you might be missing a type parameter
54 LL | struct Bar<T, N>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
57 error[E0412]: cannot find type `NotDefined` in this scope
58 --> $DIR/issue-50480.rs:12:21
60 LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
61 | ^^^^^^^^^^ not found in this scope
63 error[E0277]: `i32` is not an iterator
64 --> $DIR/issue-50480.rs:3:27
66 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
67 | ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
69 = help: the trait `Iterator` is not implemented for `i32`
70 = 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`
72 error[E0204]: the trait `Copy` may not be implemented for this type
73 --> $DIR/issue-50480.rs:1:17
75 LL | #[derive(Clone, Copy)]
78 LL | struct Foo(N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
79 | -------- ------ this field does not implement `Copy`
81 | this field does not implement `Copy`
83 = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
85 error[E0277]: `i32` is not an iterator
86 --> $DIR/issue-50480.rs:12:33
88 LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
89 | ^^^^^^^^^^^^^^^^^^^^^^^ `i32` is not an iterator
91 = help: the trait `Iterator` is not implemented for `i32`
92 = 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`
94 error[E0204]: the trait `Copy` may not be implemented for this type
95 --> $DIR/issue-50480.rs:10:17
97 LL | #[derive(Clone, Copy)]
100 LL | struct Bar<T>(T, N, NotDefined, <i32 as Iterator>::Item, Vec<i32>, String);
101 | -------- ------ this field does not implement `Copy`
103 | this field does not implement `Copy`
105 = note: this error originates in the derive macro `Copy` (in Nightly builds, run with -Z macro-backtrace for more info)
107 error: aborting due to 10 previous errors
109 Some errors have detailed explanations: E0204, E0277, E0412.
110 For more information about an error, try `rustc --explain E0204`.