]> git.proxmox.com Git - rustc.git/blob - src/test/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs
New upstream version 1.67.1+dfsg1
[rustc.git] / src / test / ui / proc-macro / auxiliary / attr-stmt-expr-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::TokenStream;
9
10 #[proc_macro_attribute]
11 pub fn expect_let(attr: TokenStream, item: TokenStream) -> TokenStream {
12 assert!(attr.to_string().is_empty());
13 assert_eq!(item.to_string(), "let string = \"Hello, world!\" ;");
14 item
15 }
16
17 #[proc_macro_attribute]
18 pub fn expect_print_stmt(attr: TokenStream, item: TokenStream) -> TokenStream {
19 assert!(attr.to_string().is_empty());
20 assert_eq!(item.to_string(), "println! (\"{}\", string) ;");
21 item
22 }
23
24 #[proc_macro_attribute]
25 pub fn expect_expr(attr: TokenStream, item: TokenStream) -> TokenStream {
26 assert!(attr.to_string().is_empty());
27 assert_eq!(item.to_string(), "print_str(\"string\")");
28 item
29 }
30
31 #[proc_macro_attribute]
32 pub fn expect_print_expr(attr: TokenStream, item: TokenStream) -> TokenStream {
33 assert!(attr.to_string().is_empty());
34 assert_eq!(item.to_string(), "println! (\"{}\", string)");
35 item
36 }
37
38 #[proc_macro_attribute]
39 pub fn no_output(attr: TokenStream, item: TokenStream) -> TokenStream {
40 assert!(attr.to_string().is_empty());
41 assert!(!item.to_string().is_empty());
42 "".parse().unwrap()
43
44 }
45
46 #[proc_macro_attribute]
47 pub fn noop(attr: TokenStream, item: TokenStream) -> TokenStream {
48 assert!(attr.to_string().is_empty());
49 assert!(!item.to_string().is_empty());
50 item
51 }