]> git.lizzy.rs Git - rust.git/blob - src/test/ui/proc-macro/auxiliary/attr-stmt-expr-rpass.rs
normalize stderr
[rust.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 }