27 lines
897 B
Plaintext
27 lines
897 B
Plaintext
warning: function cannot return without recursing
|
|
--> $DIR/multiple-defining-usages-in-body.rs:4:1
|
|
|
|
|
LL | fn foo<T: Trait, U: Trait>() -> impl Trait {
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot return without recursing
|
|
LL |
|
|
LL | let a: T = foo::<T, U>();
|
|
| ------------- recursive call site
|
|
|
|
|
= help: a `loop` may express intention better if this is on purpose
|
|
= note: `#[warn(unconditional_recursion)]` on by default
|
|
|
|
error: concrete type differs from previous defining opaque type use
|
|
--> $DIR/multiple-defining-usages-in-body.rs:6:16
|
|
|
|
|
LL | let a: T = foo::<T, U>();
|
|
| ^^^^^^^^^^^^^ expected `U`, got `T`
|
|
|
|
|
note: previous use here
|
|
--> $DIR/multiple-defining-usages-in-body.rs:9:16
|
|
|
|
|
LL | let _: T = foo::<U, T>();
|
|
| ^^^^^^^^^^^^^
|
|
|
|
error: aborting due to previous error; 1 warning emitted
|
|
|