trait Next { type Next: Next; } struct GetNext { t: T, } impl Next for GetNext { type Next = as Next>::Next; //~^ ERROR overflow evaluating the requirement } fn main() {}