| error[E0391]: cycle detected when computing type of `foo::{opaque#0}` |
| --> $DIR/in-defining-scope.rs:6:13 |
| | |
| LL | fn foo() -> impl Sized { |
| | ^^^^^^^^^^ |
| | |
| note: ...which requires computing type of opaque `foo::{opaque#0}`... |
| --> $DIR/in-defining-scope.rs:6:13 |
| | |
| LL | fn foo() -> impl Sized { |
| | ^^^^^^^^^^ |
| note: ...which requires type-checking `foo`... |
| --> $DIR/in-defining-scope.rs:6:1 |
| | |
| LL | fn foo() -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^ |
| = note: ...which requires computing layout of `foo::{opaque#0}`... |
| = note: ...which requires normalizing `foo::{opaque#0}`... |
| = note: ...which again requires computing type of `foo::{opaque#0}`, completing the cycle |
| note: cycle used when checking that `foo::{opaque#0}` is well-formed |
| --> $DIR/in-defining-scope.rs:6:13 |
| | |
| LL | fn foo() -> 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 |
| |
| warning: function cannot return without recursing |
| --> $DIR/in-defining-scope.rs:6:1 |
| | |
| LL | fn foo() -> impl Sized { |
| | ^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing |
| ... |
| LL | transmute::<_, u8>(foo()); |
| | ----- recursive call site |
| | |
| = help: a `loop` may express intention better if this is on purpose |
| = note: `#[warn(unconditional_recursion)]` on by default |
| |
| error: aborting due to 1 previous error; 1 warning emitted |
| |
| For more information about this error, try `rustc --explain E0391`. |