| // Test that we DO NOT warn when lifetime name is used only | |
| // once in a fn return type -- using `'_` is not legal there, | |
| // as it must refer back to an argument. | |
| // | |
| // (Normally, using `'static` would be preferred, but there are | |
| // times when that is not what you want.) | |
| //@ check-pass | |
| #![deny(single_use_lifetimes)] | |
| // OK: used only in return type | |
| fn b<'a>() -> &'a u32 { | |
| &22 | |
| } | |
| pub trait Tfv<'a> {} | |
| impl Tfv<'_> for () {} | |
| // Do NOT lint if used in return type. | |
| pub fn i<'a>() -> impl Tfv<'a> {} | |
| fn main() {} |