Unnamed repository; edit this file 'description' to name the repository.
internal: move test
Aleksey Kladov 2021-10-09
parent 093f99b · commit 78ca43e
-rw-r--r--crates/hir_def/src/macro_expansion_tests.rs22
-rw-r--r--crates/mbe/src/syntax_bridge.rs18
2 files changed, 21 insertions, 19 deletions
diff --git a/crates/hir_def/src/macro_expansion_tests.rs b/crates/hir_def/src/macro_expansion_tests.rs
index 861a059a14..8ecdbec7ae 100644
--- a/crates/hir_def/src/macro_expansion_tests.rs
+++ b/crates/hir_def/src/macro_expansion_tests.rs
@@ -69,7 +69,7 @@ fn check(ra_fixture: &str, expect: Expect) {
}
#[test]
-fn test_expand_rule() {
+fn wrong_nesting_level() {
check(
r#"
macro_rules! m {
@@ -85,3 +85,23 @@ macro_rules! m {
"#]],
);
}
+
+#[test]
+fn expansion_does_not_parse_as_expression() {
+ check(
+ r#"
+macro_rules! stmts {
+ () => { let _ = 0; }
+}
+
+fn f() { let _ = stmts!(); }
+"#,
+ expect![[r#"
+macro_rules! stmts {
+ () => { let _ = 0; }
+}
+
+fn f() { let _ = /* error: could not convert tokens */; }
+"#]],
+ )
+}
diff --git a/crates/mbe/src/syntax_bridge.rs b/crates/mbe/src/syntax_bridge.rs
index 7f68543310..631eb82de7 100644
--- a/crates/mbe/src/syntax_bridge.rs
+++ b/crates/mbe/src/syntax_bridge.rs
@@ -798,24 +798,6 @@ mod tests {
}
#[test]
- fn stmts_token_trees_to_expr_is_err() {
- let expansion = parse_macro(
- r#"
- macro_rules! stmts {
- () => {
- let a = 0;
- let b = 0;
- let c = 0;
- let d = 0;
- }
- }
- "#,
- )
- .expand_tt("stmts!();");
- assert!(token_tree_to_syntax_node(&expansion, ParserEntryPoint::Expr).is_err());
- }
-
- #[test]
fn test_token_tree_last_child_is_white_space() {
let source_file = ast::SourceFile::parse("f!{}").ok().unwrap();
let macro_call = source_file.syntax().descendants().find_map(ast::MacroCall::cast).unwrap();