]>
Commit | Line | Data |
---|---|---|
ba9703b0 XL |
1 | // The double space in `impl Iterator` is load bearing! We want to make sure we don't regress by |
2 | // accident if the internal string representation changes. | |
3 | #[rustfmt::skip] | |
4 | fn foo(constraints: impl Iterator) { | |
5 | for constraint in constraints { | |
6 | qux(constraint); | |
1b1a35ee | 7 | //~^ ERROR `<impl Iterator as Iterator>::Item` doesn't implement `Debug` |
ba9703b0 XL |
8 | } |
9 | } | |
10 | ||
11 | fn bar<T>(t: T, constraints: impl Iterator) where T: std::fmt::Debug { | |
12 | for constraint in constraints { | |
13 | qux(t); | |
14 | qux(constraint); | |
1b1a35ee | 15 | //~^ ERROR `<impl Iterator as Iterator>::Item` doesn't implement `Debug` |
ba9703b0 XL |
16 | } |
17 | } | |
18 | ||
19 | fn baz(t: impl std::fmt::Debug, constraints: impl Iterator) { | |
20 | for constraint in constraints { | |
21 | qux(t); | |
22 | qux(constraint); | |
1b1a35ee | 23 | //~^ ERROR `<impl Iterator as Iterator>::Item` doesn't implement `Debug` |
ba9703b0 XL |
24 | } |
25 | } | |
26 | ||
27 | fn bat<I, T: std::fmt::Debug>(t: T, constraints: impl Iterator, _: I) { | |
28 | for constraint in constraints { | |
29 | qux(t); | |
30 | qux(constraint); | |
1b1a35ee | 31 | //~^ ERROR `<impl Iterator as Iterator>::Item` doesn't implement `Debug` |
ba9703b0 XL |
32 | } |
33 | } | |
34 | ||
35 | fn bak(constraints: impl Iterator + std::fmt::Debug) { | |
36 | for constraint in constraints { | |
37 | qux(constraint); | |
1b1a35ee | 38 | //~^ ERROR `<impl Iterator + std::fmt::Debug as Iterator>::Item` doesn't implement |
ba9703b0 XL |
39 | } |
40 | } | |
41 | ||
42 | fn qux(_: impl std::fmt::Debug) {} | |
43 | ||
44 | fn main() {} |