diff options
Diffstat (limited to 'src/test/ui/error-codes/E0657.rs')
-rw-r--r-- | src/test/ui/error-codes/E0657.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/error-codes/E0657.rs b/src/test/ui/error-codes/E0657.rs new file mode 100644 index 000000000..cb11de13f --- /dev/null +++ b/src/test/ui/error-codes/E0657.rs @@ -0,0 +1,26 @@ +#![allow(warnings)] + +trait Id<T> {} +trait Lt<'a> {} + +impl<'a> Lt<'a> for () {} +impl<T> Id<T> for T {} + +fn free_fn_capture_hrtb_in_impl_trait() + -> Box<for<'a> Id<impl Lt<'a>>> + //~^ 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<for<'a> Id<impl Lt<'a>>> + //~^ ERROR `impl Trait` can only capture lifetimes bound at the fn or impl level + { + Box::new(()) + } +} + +fn main() {} |