From 57e4122b890d56c11f9d74c1bdfed40f186331a4 Mon Sep 17 00:00:00 2001 From: Edwin Cheng Date: Wed, 17 Apr 2019 12:34:43 +0800 Subject: Add mbe stmt matcher --- crates/ra_mbe/src/lib.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'crates/ra_mbe/src/lib.rs') diff --git a/crates/ra_mbe/src/lib.rs b/crates/ra_mbe/src/lib.rs index a530f3b03..a1f438906 100644 --- a/crates/ra_mbe/src/lib.rs +++ b/crates/ra_mbe/src/lib.rs @@ -582,4 +582,19 @@ SOURCE_FILE@[0; 40) ); assert_expansion(&rules, "foo! { (a, b) }", "fn foo () {let (a , b) ;}"); } + + #[test] + fn test_stmt() { + let rules = create_rules( + r#" + macro_rules! foo { + ($ i:stmt) => ( + fn bar() { $ i; } + ) + } +"#, + ); + assert_expansion(&rules, "foo! { 2 }", "fn bar () {2 ;}"); + assert_expansion(&rules, "foo! { let a = 0 }", "fn bar () {let a = 0 ;}"); + } } -- cgit v1.2.3