// check-pass
// Regression test for issue #67844
// Ensures that we properly handle nested TAIT occurrences
// with generic parameters
#![feature(type_alias_impl_trait)]
trait WithAssoc {
type AssocType;
}
trait WithParam {}
type Return = impl WithAssoc>;
struct MyParam;
impl WithParam for MyParam {}
struct MyStruct;
impl WithAssoc for MyStruct {
type AssocType = MyParam;
}
fn my_fun() -> Return {
MyStruct
}
fn my_other_fn() -> impl WithAssoc> {
MyStruct
}
fn main() {}