Make impl-trait ciclical reference error point to def_span
This commit is contained in:
parent
aabb604313
commit
0b2d21e32b
@ -86,12 +86,12 @@ impl<'a, 'gcx, 'tcx> TyCtxt<'a, 'gcx, 'tcx> {
|
||||
"unsupported cyclic reference between types/traits detected");
|
||||
err.span_label(span, "cyclic reference");
|
||||
|
||||
err.span_note(stack[0].0, &format!("the cycle begins when {}...",
|
||||
stack[0].1.describe(self)));
|
||||
err.span_note(self.sess.codemap().def_span(stack[0].0),
|
||||
&format!("the cycle begins when {}...", stack[0].1.describe(self)));
|
||||
|
||||
for &(span, ref query) in &stack[1..] {
|
||||
err.span_note(span, &format!("...which then requires {}...",
|
||||
query.describe(self)));
|
||||
err.span_note(self.sess.codemap().def_span(span),
|
||||
&format!("...which then requires {}...", query.describe(self)));
|
||||
}
|
||||
|
||||
err.note(&format!("...which then again requires {}, completing the cycle.",
|
||||
|
@ -35,14 +35,8 @@ error[E0391]: unsupported cyclic reference between types/traits detected
|
||||
note: the cycle begins when processing `cycle1`...
|
||||
--> $DIR/auto-trait-leak.rs:52:1
|
||||
|
|
||||
52 | / fn cycle1() -> impl Clone {
|
||||
53 | | //~^ ERROR unsupported cyclic reference between types/traits detected
|
||||
54 | | //~| cyclic reference
|
||||
55 | | //~| NOTE the cycle begins when processing `cycle1`...
|
||||
... |
|
||||
60 | | Rc::new(Cell::new(5))
|
||||
61 | | }
|
||||
| |_^
|
||||
52 | fn cycle1() -> impl Clone {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which then requires processing `cycle2::{{impl-Trait}}`...
|
||||
--> $DIR/auto-trait-leak.rs:63:16
|
||||
|
|
||||
@ -51,14 +45,8 @@ note: ...which then requires processing `cycle2::{{impl-Trait}}`...
|
||||
note: ...which then requires processing `cycle2`...
|
||||
--> $DIR/auto-trait-leak.rs:63:1
|
||||
|
|
||||
63 | / fn cycle2() -> impl Clone {
|
||||
64 | | //~^ NOTE ...which then requires processing `cycle2::{{impl-Trait}}`...
|
||||
65 | | //~| NOTE ...which then requires processing `cycle2`...
|
||||
66 | | send(cycle1().clone());
|
||||
67 | |
|
||||
68 | | Rc::new(String::from("foo"))
|
||||
69 | | }
|
||||
| |_^
|
||||
63 | fn cycle2() -> impl Clone {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which then requires processing `cycle1::{{impl-Trait}}`...
|
||||
--> $DIR/auto-trait-leak.rs:52:16
|
||||
|
|
||||
|
Loading…
Reference in New Issue
Block a user