1 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
2 --> $DIR/impl-trait-with-missing-bounds.rs:6:13
5 | --- ^^^^^^^^^^ `<impl Iterator as Iterator>::Item` cannot be formatted using `{:?}` because it doesn't implement `Debug`
7 | required by a bound introduced by this call
9 = help: the trait `Debug` is not implemented for `<impl Iterator as Iterator>::Item`
10 note: required by a bound in `qux`
11 --> $DIR/impl-trait-with-missing-bounds.rs:50:16
13 LL | fn qux(_: impl std::fmt::Debug) {}
14 | ^^^^^^^^^^^^^^^ required by this bound in `qux`
15 help: introduce a type parameter with a trait bound instead of using `impl Trait`
17 LL | fn foo<I: Iterator>(constraints: I) where <I as Iterator>::Item: Debug {
18 | +++++++++++++ ~ ++++++++++++++++++++++++++++++++++
20 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
21 --> $DIR/impl-trait-with-missing-bounds.rs:14:13
24 | --- ^^^^^^^^^^ `<impl Iterator as Iterator>::Item` cannot be formatted using `{:?}` because it doesn't implement `Debug`
26 | required by a bound introduced by this call
28 = help: the trait `Debug` is not implemented for `<impl Iterator as Iterator>::Item`
29 note: required by a bound in `qux`
30 --> $DIR/impl-trait-with-missing-bounds.rs:50:16
32 LL | fn qux(_: impl std::fmt::Debug) {}
33 | ^^^^^^^^^^^^^^^ required by this bound in `qux`
34 help: introduce a type parameter with a trait bound instead of using `impl Trait`
36 LL | fn bar<T, I: Iterator>(t: T, constraints: I) where T: std::fmt::Debug, <I as Iterator>::Item: Debug {
37 | +++++++++++++ ~ ++++++++++++++++++++++++++++++
39 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
40 --> $DIR/impl-trait-with-missing-bounds.rs:22:13
43 | --- ^^^^^^^^^^ `<impl Iterator as Iterator>::Item` cannot be formatted using `{:?}` because it doesn't implement `Debug`
45 | required by a bound introduced by this call
47 = help: the trait `Debug` is not implemented for `<impl Iterator as Iterator>::Item`
48 note: required by a bound in `qux`
49 --> $DIR/impl-trait-with-missing-bounds.rs:50:16
51 LL | fn qux(_: impl std::fmt::Debug) {}
52 | ^^^^^^^^^^^^^^^ required by this bound in `qux`
53 help: introduce a type parameter with a trait bound instead of using `impl Trait`
55 LL | fn baz<I: Iterator>(t: impl std::fmt::Debug, constraints: I) where <I as Iterator>::Item: Debug {
56 | +++++++++++++ ~ ++++++++++++++++++++++++++++++++++
58 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
59 --> $DIR/impl-trait-with-missing-bounds.rs:30:13
62 | --- ^^^^^^^^^^ `<impl Iterator as Iterator>::Item` cannot be formatted using `{:?}` because it doesn't implement `Debug`
64 | required by a bound introduced by this call
66 = help: the trait `Debug` is not implemented for `<impl Iterator as Iterator>::Item`
67 note: required by a bound in `qux`
68 --> $DIR/impl-trait-with-missing-bounds.rs:50:16
70 LL | fn qux(_: impl std::fmt::Debug) {}
71 | ^^^^^^^^^^^^^^^ required by this bound in `qux`
72 help: introduce a type parameter with a trait bound instead of using `impl Trait`
74 LL | fn bat<I, T: std::fmt::Debug, U: Iterator>(t: T, constraints: U, _: I) where <U as Iterator>::Item: Debug {
75 | +++++++++++++ ~ ++++++++++++++++++++++++++++++++++
77 error[E0277]: `<impl Iterator + std::fmt::Debug as Iterator>::Item` doesn't implement `Debug`
78 --> $DIR/impl-trait-with-missing-bounds.rs:37:13
81 | --- ^^^^^^^^^^ `<impl Iterator + std::fmt::Debug as Iterator>::Item` cannot be formatted using `{:?}` because it doesn't implement `Debug`
83 | required by a bound introduced by this call
85 = help: the trait `Debug` is not implemented for `<impl Iterator + std::fmt::Debug as Iterator>::Item`
86 note: required by a bound in `qux`
87 --> $DIR/impl-trait-with-missing-bounds.rs:50:16
89 LL | fn qux(_: impl std::fmt::Debug) {}
90 | ^^^^^^^^^^^^^^^ required by this bound in `qux`
91 help: introduce a type parameter with a trait bound instead of using `impl Trait`
93 LL | fn bak<I: Iterator + std::fmt::Debug>(constraints: I) where <I as Iterator>::Item: Debug {
94 | +++++++++++++++++++++++++++++++ ~ ++++++++++++++++++++++++++++++++++
96 error[E0277]: `<impl Iterator as Iterator>::Item` doesn't implement `Debug`
97 --> $DIR/impl-trait-with-missing-bounds.rs:45:13
100 | --- ^^^^^^^^^^ `<impl Iterator as Iterator>::Item` cannot be formatted using `{:?}` because it doesn't implement `Debug`
102 | required by a bound introduced by this call
104 = help: the trait `Debug` is not implemented for `<impl Iterator as Iterator>::Item`
105 note: required by a bound in `qux`
106 --> $DIR/impl-trait-with-missing-bounds.rs:50:16
108 LL | fn qux(_: impl std::fmt::Debug) {}
109 | ^^^^^^^^^^^^^^^ required by this bound in `qux`
110 help: introduce a type parameter with a trait bound instead of using `impl Trait`
112 LL | fn baw<I: Iterator>(constraints: I) where <I as Iterator>::Item: Debug {
113 | ~~~~~~~~~~~~~ ~ ++++++++++++++++++++++++++++++++++
115 error: aborting due to 6 previous errors
117 For more information about this error, try `rustc --explain E0277`.