From 7b6e527f440cd7e6f8be2b07cee320ee6ca18786 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 29 Apr 2024 06:41:38 +0200 Subject: Adding upstream version 1.0.1. Signed-off-by: Daniel Baumann --- test cases/rust/18 proc-macro/meson.build | 19 +++++++++++++++++++ test cases/rust/18 proc-macro/proc.rs | 7 +++++++ test cases/rust/18 proc-macro/use.rs | 8 ++++++++ 3 files changed, 34 insertions(+) create mode 100644 test cases/rust/18 proc-macro/meson.build create mode 100644 test cases/rust/18 proc-macro/proc.rs create mode 100644 test cases/rust/18 proc-macro/use.rs (limited to 'test cases/rust/18 proc-macro') diff --git a/test cases/rust/18 proc-macro/meson.build b/test cases/rust/18 proc-macro/meson.build new file mode 100644 index 0000000..01c4cbe --- /dev/null +++ b/test cases/rust/18 proc-macro/meson.build @@ -0,0 +1,19 @@ +project('rust proc-macro', 'rust') + +if build_machine.system() != 'linux' + error('MESON_SKIP_TEST, this test only works on Linux. Patches welcome.') +endif + +pm = shared_library( + 'proc_macro_examples', + 'proc.rs', + rust_crate_type : 'proc-macro', +) + +main = executable( + 'main', + 'use.rs', + link_with : pm +) + +test('main_test', main) diff --git a/test cases/rust/18 proc-macro/proc.rs b/test cases/rust/18 proc-macro/proc.rs new file mode 100644 index 0000000..53935e4 --- /dev/null +++ b/test cases/rust/18 proc-macro/proc.rs @@ -0,0 +1,7 @@ +extern crate proc_macro; +use proc_macro::TokenStream; + +#[proc_macro] +pub fn make_answer(_item: TokenStream) -> TokenStream { + "fn answer() -> u32 { 42 }".parse().unwrap() +} diff --git a/test cases/rust/18 proc-macro/use.rs b/test cases/rust/18 proc-macro/use.rs new file mode 100644 index 0000000..0b6342b --- /dev/null +++ b/test cases/rust/18 proc-macro/use.rs @@ -0,0 +1,8 @@ +extern crate proc_macro_examples; +use proc_macro_examples::make_answer; + +make_answer!(); + +fn main() { + assert_eq!(42, answer()); +} -- cgit v1.2.3