1 #![feature(min_type_alias_impl_trait)]
2 #![feature(impl_trait_in_bindings)]
3 #![allow(incomplete_features)]
5 type OpaqueOutputImpl<'a> = impl Output<'a> + 'a;
6 //~^ ERROR: hidden type for `impl Trait` captures lifetime that does not appear in bounds
7 //~| ERROR: the type `&'<empty> str` does not fulfill the required lifetime
8 //~| ERROR: cannot infer an appropriate lifetime for lifetime parameter `'a` due to conflicting requirements
12 impl<'a> Output<'a> for &'a str {}
14 fn cool_fn<'a>(arg: &'a str) -> OpaqueOutputImpl<'a> {
15 let out: OpaqueOutputImpl<'a> = arg;
20 let s = String::from("wassup");