1 #![feature(prelude_import)] 2 #[prelude_import] 3 use std::prelude::rust_2021::*; 4 #[macro_use] 5 extern crate std; 6 // This differs from the edition 2015 version because it does not have an `extern proc_macro` 7 // statement, which became optional in edition 2018. 8 9 use proc_macro::TokenStream; 10 11 #[proc_macro] make_answer(_item: TokenStream) -> TokenStream12pub fn make_answer(_item: TokenStream) -> TokenStream { 13 "fn answer() -> u32 { 42 }".parse().unwrap() 14 } 15 const _: () = 16 { 17 extern crate proc_macro; 18 #[rustc_proc_macro_decls] 19 #[used] 20 #[allow(deprecated)] 21 static _DECLS: &[proc_macro::bridge::client::ProcMacro] = 22 &[proc_macro::bridge::client::ProcMacro::bang("make_answer", 23 make_answer)]; 24 }; 25