// run-pass
macro_rules! foo {
    ($l:lifetime) => {
        fn f<$l>(arg: &$l str) -> &$l str {
            arg
        }
    }
}

pub fn main() {
    foo!('a);
    let x: &'static str = f("hi");
    assert_eq!("hi", x);
}