|
1 |
| -error[E0391]: cycle detected when processing `cycle1` |
| 1 | +error[E0391]: cycle detected when processing `cycle1::{{impl-Trait}}` |
| 2 | + --> $DIR/auto-trait-leak.rs:24:16 |
| 3 | + | |
| 4 | +LL | fn cycle1() -> impl Clone { |
| 5 | + | ^^^^^^^^^^ |
| 6 | + | |
| 7 | +note: ...which requires processing `cycle1`... |
2 | 8 | --> $DIR/auto-trait-leak.rs:24:1
|
3 | 9 | |
|
4 | 10 | LL | fn cycle1() -> impl Clone {
|
5 | 11 | | ^^^^^^^^^^^^^^^^^^^^^^^^^
|
6 |
| - | |
7 | 12 | note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
|
8 | 13 | note: ...which requires processing `cycle2::{{impl-Trait}}`...
|
9 |
| - --> $DIR/auto-trait-leak.rs:31:16 |
| 14 | + --> $DIR/auto-trait-leak.rs:33:16 |
10 | 15 | |
|
11 | 16 | LL | fn cycle2() -> impl Clone {
|
12 | 17 | | ^^^^^^^^^^
|
13 | 18 | note: ...which requires processing `cycle2`...
|
14 |
| - --> $DIR/auto-trait-leak.rs:31:1 |
| 19 | + --> $DIR/auto-trait-leak.rs:33:1 |
15 | 20 | |
|
16 | 21 | LL | fn cycle2() -> impl Clone {
|
17 | 22 | | ^^^^^^^^^^^^^^^^^^^^^^^^^
|
18 | 23 | note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
|
19 |
| -note: ...which requires processing `cycle1::{{impl-Trait}}`... |
| 24 | + = note: ...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle |
| 25 | + |
| 26 | +error[E0391]: cycle detected when processing `cycle1::{{impl-Trait}}` |
20 | 27 | --> $DIR/auto-trait-leak.rs:24:16
|
21 | 28 | |
|
22 | 29 | LL | fn cycle1() -> impl Clone {
|
23 | 30 | | ^^^^^^^^^^
|
24 |
| - = note: ...which again requires processing `cycle1`, completing the cycle |
25 |
| -note: cycle used when type-checking all item bodies |
| 31 | + | |
| 32 | +note: ...which requires processing `cycle1`... |
| 33 | + --> $DIR/auto-trait-leak.rs:24:1 |
| 34 | + | |
| 35 | +LL | fn cycle1() -> impl Clone { |
| 36 | + | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 37 | +note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`... |
| 38 | +note: ...which requires processing `cycle2::{{impl-Trait}}`... |
| 39 | + --> $DIR/auto-trait-leak.rs:33:16 |
| 40 | + | |
| 41 | +LL | fn cycle2() -> impl Clone { |
| 42 | + | ^^^^^^^^^^ |
| 43 | +note: ...which requires processing `cycle2`... |
| 44 | + --> $DIR/auto-trait-leak.rs:33:1 |
| 45 | + | |
| 46 | +LL | fn cycle2() -> impl Clone { |
| 47 | + | ^^^^^^^^^^^^^^^^^^^^^^^^^ |
| 48 | + = note: ...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle |
| 49 | + |
| 50 | +error[E0277]: `std::rc::Rc<std::string::String>` cannot be sent between threads safely |
| 51 | + --> $DIR/auto-trait-leak.rs:27:5 |
| 52 | + | |
| 53 | +LL | send(cycle2().clone()); |
| 54 | + | ^^^^ `std::rc::Rc<std::string::String>` cannot be sent between threads safely |
| 55 | + | |
| 56 | + = help: within `impl std::clone::Clone`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<std::string::String>` |
| 57 | + = note: required because it appears within the type `impl std::clone::Clone` |
| 58 | +note: required by `send` |
| 59 | + --> $DIR/auto-trait-leak.rs:16:1 |
| 60 | + | |
| 61 | +LL | fn send<T: Send>(_: T) {} |
| 62 | + | ^^^^^^^^^^^^^^^^^^^^^^ |
26 | 63 |
|
27 |
| -error: aborting due to previous error |
| 64 | +error: aborting due to 3 previous errors |
28 | 65 |
|
29 |
| -For more information about this error, try `rustc --explain E0391`. |
| 66 | +Some errors occurred: E0277, E0391. |
| 67 | +For more information about an error, try `rustc --explain E0277`. |
0 commit comments