Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/expand_macro.rs')
-rw-r--r--crates/ide/src/expand_macro.rs40
1 files changed, 40 insertions, 0 deletions
diff --git a/crates/ide/src/expand_macro.rs b/crates/ide/src/expand_macro.rs
index 9beed2cac1..f8f9378b9e 100644
--- a/crates/ide/src/expand_macro.rs
+++ b/crates/ide/src/expand_macro.rs
@@ -719,4 +719,44 @@ __log!(written:%; "Test"$0);
"#]],
);
}
+
+ #[test]
+ fn assoc_call() {
+ check(
+ r#"
+macro_rules! mac {
+ () => { fn assoc() {} }
+}
+impl () {
+ mac$0!();
+}
+ "#,
+ expect![[r#"
+ mac!
+ fn assoc(){}"#]],
+ );
+ }
+
+ #[test]
+ fn eager() {
+ check(
+ r#"
+//- minicore: concat
+macro_rules! my_concat {
+ ($head:expr, $($tail:tt)*) => { concat!($head, $($tail)*) };
+}
+
+
+fn test() {
+ _ = my_concat!(
+ conc$0at!("<", ">"),
+ "hi",
+ );
+}
+ "#,
+ expect![[r#"
+ my_concat!
+ "<>hi""#]],
+ );
+ }
}