| error[E0391]: cycle detected when computing type of `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo::{anon_assoc#0}` |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:24 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^ |
| | |
| note: ...which requires comparing an impl and trait method signature, inferring any hidden `impl Trait` types in the process... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:24 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^ |
| = note: ...which requires evaluating trait selection obligation `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo::{opaque#0}: core::marker::Send`... |
| note: ...which requires computing type of opaque `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo::{opaque#0}`... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:24 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^ |
| note: ...which requires borrow-checking `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo`... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:5 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires promoting constants in MIR for `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo`... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:5 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires checking if `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo` contains FFI-unwind calls... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:5 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires building MIR for `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo`... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:5 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires match-checking `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo`... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:5 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| note: ...which requires type-checking `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo`... |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:5 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| = note: ...which again requires computing type of `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo::{anon_assoc#0}`, completing the cycle |
| note: cycle used when checking assoc item `<impl at $DIR/method-compatability-via-leakage-cycle.rs:17:1: 17:19>::foo` is compatible with trait definition |
| --> $DIR/method-compatability-via-leakage-cycle.rs:21:5 |
| | |
| LL | fn foo(b: bool) -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ |
| = note: see https://rustc-dev-guide.rust-lang.org/overview.html#queries and https://rustc-dev-guide.rust-lang.org/query.html for more information |
| |
| error: aborting due to 1 previous error |
| |
| For more information about this error, try `rustc --explain E0391`. |