// run-pass #![allow(unused_variables)] // aux-build:lifetimes-rpass.rs extern crate lifetimes_rpass as lifetimes; use lifetimes::*; lifetimes_bang! { fn bang<'a>() -> &'a u8 { &0 } } #[lifetimes_attr] fn attr<'a>() -> &'a u8 { &1 } #[derive(Lifetimes)] pub struct Lifetimes<'a> { pub field: &'a u8, } fn main() { assert_eq!(bang::<'static>(), &0); assert_eq!(attr::<'static>(), &1); let l1 = Lifetimes { field: &0 }; let l2 = m::Lifetimes { field: &1 }; }