1 error[E0391]: cycle detected when processing `cycle1`
2 --> $DIR/auto-trait-leak.rs:24:1
4 LL | fn cycle1() -> impl Clone {
5 | ^^^^^^^^^^^^^^^^^^^^^^^^^
7 note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
8 note: ...which requires processing `cycle2::{{impl-Trait}}`...
9 --> $DIR/auto-trait-leak.rs:31:16
11 LL | fn cycle2() -> impl Clone {
13 note: ...which requires processing `cycle2`...
14 --> $DIR/auto-trait-leak.rs:31:1
16 LL | fn cycle2() -> impl Clone {
17 | ^^^^^^^^^^^^^^^^^^^^^^^^^
18 note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
19 note: ...which requires processing `cycle1::{{impl-Trait}}`...
20 --> $DIR/auto-trait-leak.rs:24:16
22 LL | fn cycle1() -> impl Clone {
24 = note: ...which again requires processing `cycle1`, completing the cycle
25 note: cycle used when type-checking all item bodies
27 error: aborting due to previous error
29 For more information about this error, try `rustc --explain E0391`.