diff options
Diffstat (limited to 'tests/ui/proc-macro/lifetimes-rpass.rs')
-rw-r--r-- | tests/ui/proc-macro/lifetimes-rpass.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/ui/proc-macro/lifetimes-rpass.rs b/tests/ui/proc-macro/lifetimes-rpass.rs new file mode 100644 index 000000000..a1d33ddca --- /dev/null +++ b/tests/ui/proc-macro/lifetimes-rpass.rs @@ -0,0 +1,26 @@ +// 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 }; +} |