// run-rustfix // edition:2018 #![allow(unused)] #![deny(elided_lifetimes_in_paths)] //~^ NOTE the lint level is defined here use std::cell::{RefCell, Ref}; struct Foo<'a> { x: &'a u32 } fn foo(x: &Foo<'_>) { //~^ ERROR hidden lifetime parameters in types are deprecated //~| HELP indicate the anonymous lifetime } fn bar(x: &Foo<'_>) {} struct Wrapped<'a>(&'a str); struct WrappedWithBow<'a> { gift: &'a str } struct MatchedSet<'a, 'b> { one: &'a str, another: &'b str, } fn wrap_gift(gift: &str) -> Wrapped<'_> { //~^ ERROR hidden lifetime parameters in types are deprecated //~| HELP indicate the anonymous lifetime Wrapped(gift) } fn wrap_gift_with_bow(gift: &str) -> WrappedWithBow<'_> { //~^ ERROR hidden lifetime parameters in types are deprecated //~| HELP indicate the anonymous lifetime WrappedWithBow { gift } } fn inspect_matched_set(set: MatchedSet<'_, '_>) { //~^ ERROR hidden lifetime parameters in types are deprecated //~| HELP indicate the anonymous lifetime println!("{} {}", set.one, set.another); } macro_rules! autowrapper { ($type_name:ident, $fn_name:ident, $lt:lifetime) => { struct $type_name<$lt> { gift: &$lt str } fn $fn_name(gift: &str) -> $type_name<'_> { //~^ ERROR hidden lifetime parameters in types are deprecated //~| HELP indicate the anonymous lifetime $type_name { gift } } } } autowrapper!(Autowrapped, autowrap_gift, 'a); //~^ NOTE in this expansion of autowrapper! //~| NOTE in this expansion of autowrapper! macro_rules! anytuple_ref_ty { ($($types:ty),*) => { Ref<'_, ($($types),*)> //~^ ERROR hidden lifetime parameters in types are deprecated //~| HELP indicate the anonymous lifetime } } fn main() { let honesty = RefCell::new((4, 'e')); let loyalty: Ref<'_, (u32, char)> = honesty.borrow(); //~^ ERROR hidden lifetime parameters in types are deprecated //~| HELP indicate the anonymous lifetime let generosity = Ref::map(loyalty, |t| &t.0); let laughter = RefCell::new((true, "magic")); let yellow: anytuple_ref_ty!(bool, &str) = laughter.borrow(); //~^ NOTE in this expansion of anytuple_ref_ty! //~| NOTE in this expansion of anytuple_ref_ty! }