Unnamed repository; edit this file 'description' to name the repository.
move test
Aleksey Kladov 2021-10-09
parent f4ee0d7 · commit 5ecda80
-rw-r--r--crates/hir_def/src/macro_expansion_tests.rs23
-rw-r--r--crates/mbe/src/subtree_source.rs21
2 files changed, 23 insertions, 21 deletions
diff --git a/crates/hir_def/src/macro_expansion_tests.rs b/crates/hir_def/src/macro_expansion_tests.rs
index 386bd4f1b5..a5e941454c 100644
--- a/crates/hir_def/src/macro_expansion_tests.rs
+++ b/crates/hir_def/src/macro_expansion_tests.rs
@@ -180,6 +180,7 @@ macro_rules! m {
let _ = 1000;
let _ = 12E+99_f64;
let _ = "rust1";
+ let _ = -92;
}
}
fn f() {
@@ -193,6 +194,7 @@ macro_rules! m {
let _ = 1000;
let _ = 12E+99_f64;
let _ = "rust1";
+ let _ = -92;
}
}
fn f() {
@@ -200,6 +202,7 @@ fn f() {
let_ = 1000;
let_ = 12E+99_f64;
let_ = "rust1";
+ let_ = -92;
}
"#]],
);
@@ -224,3 +227,23 @@ macro_rules! m2 { ($x:ident) => {} }
"#]],
)
}
+
+#[test]
+fn unary_minus_is_a_literal() {
+ check(
+ r#"
+macro_rules! m { ($x:literal) => (literal!()); ($x:tt) => (not_a_literal!()); }
+m!(92);
+m!(-92);
+m!(-9.2);
+m!(--92);
+"#,
+ expect![[r#"
+macro_rules! m { ($x:literal) => (literal!()); ($x:tt) => (not_a_literal!()); }
+literal!()
+literal!()
+literal!()
+/* error: leftover tokens */not_a_literal!()
+"#]],
+ )
+}
diff --git a/crates/mbe/src/subtree_source.rs b/crates/mbe/src/subtree_source.rs
index ffc2a60172..0f852d33d5 100644
--- a/crates/mbe/src/subtree_source.rs
+++ b/crates/mbe/src/subtree_source.rs
@@ -181,24 +181,3 @@ fn convert_leaf(leaf: &tt::Leaf) -> TtToken {
tt::Leaf::Punct(punct) => convert_punct(*punct),
}
}
-
-#[cfg(test)]
-mod tests {
- use super::{convert_literal, TtToken};
- use parser::Token;
- use syntax::{SmolStr, SyntaxKind};
-
- #[test]
- fn test_negative_literal() {
- assert_eq!(
- convert_literal(&tt::Literal {
- id: tt::TokenId::unspecified(),
- text: SmolStr::new("-42.0")
- }),
- TtToken {
- tt: Token { kind: SyntaxKind::FLOAT_NUMBER, is_jointed_to_next: false },
- text: SmolStr::new("-42.0")
- }
- );
- }
-}