//! Test that we can evaluate nested obligations when invoking methods on recursive calls on //! an RPIT. //@revisions: next current //@[next] compile-flags: -Znext-solver //@[current] check-pass pub trait Parser { fn parse(&self) -> E; } impl E> Parser for T { fn parse(&self) -> E { self() } } pub fn recursive_fn() -> impl Parser { move || recursive_fn().parse() //[next]~^ ERROR: type annotations needed } fn main() {}