forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#46282 - estebank:impl-trait-cicle-span, r=a…
…rielb1 Shorten output of E0391 Use the shorter `def_span` on the impl-Trait cyclic reference errors.
- Loading branch information
Showing
4 changed files
with
58 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
error[E0277]: the trait bound `std::rc::Rc<std::cell::Cell<i32>>: std::marker::Send` is not satisfied in `impl std::ops::Fn<(i32,)>` | ||
--> $DIR/auto-trait-leak.rs:27:5 | ||
| | ||
27 | send(before()); | ||
| ^^^^ `std::rc::Rc<std::cell::Cell<i32>>` cannot be sent between threads safely | ||
| | ||
= help: within `impl std::ops::Fn<(i32,)>`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<std::cell::Cell<i32>>` | ||
= note: required because it appears within the type `[closure@$DIR/auto-trait-leak.rs:21:5: 21:22 p:std::rc::Rc<std::cell::Cell<i32>>]` | ||
= note: required because it appears within the type `impl std::ops::Fn<(i32,)>` | ||
= note: required by `send` | ||
|
||
error[E0277]: the trait bound `std::rc::Rc<std::cell::Cell<i32>>: std::marker::Send` is not satisfied in `impl std::ops::Fn<(i32,)>` | ||
--> $DIR/auto-trait-leak.rs:34:5 | ||
| | ||
34 | send(after()); | ||
| ^^^^ `std::rc::Rc<std::cell::Cell<i32>>` cannot be sent between threads safely | ||
| | ||
= help: within `impl std::ops::Fn<(i32,)>`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<std::cell::Cell<i32>>` | ||
= note: required because it appears within the type `[closure@$DIR/auto-trait-leak.rs:46:5: 46:22 p:std::rc::Rc<std::cell::Cell<i32>>]` | ||
= note: required because it appears within the type `impl std::ops::Fn<(i32,)>` | ||
= note: required by `send` | ||
|
||
error[E0391]: unsupported cyclic reference between types/traits detected | ||
--> $DIR/auto-trait-leak.rs:52:1 | ||
| | ||
52 | fn cycle1() -> impl Clone { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ cyclic reference | ||
| | ||
note: the cycle begins when processing `cycle1`... | ||
--> $DIR/auto-trait-leak.rs:52:1 | ||
| | ||
52 | fn cycle1() -> impl Clone { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
note: ...which then requires processing `cycle2::{{impl-Trait}}`... | ||
--> $DIR/auto-trait-leak.rs:63:16 | ||
| | ||
63 | fn cycle2() -> impl Clone { | ||
| ^^^^^^^^^^ | ||
note: ...which then requires processing `cycle2`... | ||
--> $DIR/auto-trait-leak.rs:63:1 | ||
| | ||
63 | fn cycle2() -> impl Clone { | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
note: ...which then requires processing `cycle1::{{impl-Trait}}`... | ||
--> $DIR/auto-trait-leak.rs:52:16 | ||
| | ||
52 | fn cycle1() -> impl Clone { | ||
| ^^^^^^^^^^ | ||
= note: ...which then again requires processing `cycle1`, completing the cycle. | ||
|
||
error: aborting due to 3 previous errors | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters