]> git.proxmox.com Git - rustc.git/blame - src/test/ui/suggestions/impl-trait-with-missing-bounds.rs
New upstream version 1.48.0~beta.8+dfsg1
[rustc.git] / src / test / ui / suggestions / impl-trait-with-missing-bounds.rs
CommitLineData
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]
4fn 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
11fn 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
19fn 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
27fn 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
35fn 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
42fn qux(_: impl std::fmt::Debug) {}
43
44fn main() {}