// 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() {}