2023-05-25 07:43:41 -05:00
|
|
|
trait Trait {}
|
|
|
|
impl Trait for () {}
|
|
|
|
|
|
|
|
fn foo<T: Trait, U: Trait>() -> impl Trait {
|
|
|
|
//~^ WARN function cannot return without recursing [unconditional_recursion]
|
|
|
|
let a: T = foo::<T, U>();
|
|
|
|
loop {}
|
|
|
|
let _: T = foo::<U, T>();
|
2023-05-31 12:45:45 -05:00
|
|
|
//~^ ERROR concrete type differs from previous defining opaque type use
|
2023-05-25 07:43:41 -05:00
|
|
|
}
|
|
|
|
|
|
|
|
fn main() {}
|