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.rs | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/crates/ide/src/expand_macro.rs b/crates/ide/src/expand_macro.rs index 1ead045788..c411248c48 100644 --- a/crates/ide/src/expand_macro.rs +++ b/crates/ide/src/expand_macro.rs @@ -229,6 +229,32 @@ mod tests { } #[test] + fn only_expand_allowed_builtin_macro() { + let fail_tests = [r#" + //- minicore: asm + $0asm!("0x300, x0"); + "#]; + + for test in fail_tests { + let (analysis, pos) = fixture::position(test); + let expansion = analysis.expand_macro(pos).unwrap(); + assert!(expansion.is_none()); + } + + let tests = [( + r#" + //- minicore: concat + $0concat!("test", 10, 'b', true);"#, + expect![[r#" + concat! + "test10btrue""#]], + )]; + for (test, expect) in tests { + check(test, expect); + } + } + + #[test] fn macro_expand_as_keyword() { check( r#" |