#![allow(warnings)] trait Id {} trait Lt<'a> {} impl<'a> Lt<'a> for () {} impl Id for T {} fn free_fn_capture_hrtb_in_impl_trait() -> Box Id>> //~^ ERROR `impl Trait` can only capture lifetimes bound at the fn or impl level [E0657] { Box::new(()) } struct Foo; impl Foo { fn impl_fn_capture_hrtb_in_impl_trait() -> Box Id>> //~^ ERROR `impl Trait` can only capture lifetimes bound at the fn or impl level { Box::new(()) } } fn main() {}