]> git.proxmox.com Git - rustc.git/blob - tests/ui/proc-macro/auxiliary/lifetimes-rpass.rs
New upstream version 1.68.2+dfsg1
[rustc.git] / tests / ui / proc-macro / auxiliary / lifetimes-rpass.rs
1 // force-host
2 // no-prefer-dynamic
3
4 #![crate_type = "proc-macro"]
5
6 extern crate proc_macro;
7
8 use proc_macro::*;
9
10 #[proc_macro]
11 pub fn lifetimes_bang(input: TokenStream) -> TokenStream {
12 // Roundtrip through token trees
13 input.into_iter().collect()
14 }
15
16 #[proc_macro_attribute]
17 pub fn lifetimes_attr(_: TokenStream, input: TokenStream) -> TokenStream {
18 // Roundtrip through AST
19 input
20 }
21
22 #[proc_macro_derive(Lifetimes)]
23 pub fn lifetimes_derive(input: TokenStream) -> TokenStream {
24 // Roundtrip through a string
25 format!("mod m {{ {} }}", input).parse().unwrap()
26 }