diff options
| author | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-10-09 14:45:52 +0300 |
|---|---|---|
| committer | Aleksey Kladov <aleksey.kladov@gmail.com> | 2021-10-09 14:45:52 +0300 |
| commit | 5ecda802f1f34e404082d01d33d0a9e85c035e48 (patch) | |
| tree | 4f19e0d0952c5d476e477e5253b951ad4e05fa51 | |
| parent | f4ee0d736c6cc857c0941526452e73f2585f8398 (diff) | |
| download | rust-5ecda802f1f34e404082d01d33d0a9e85c035e48.tar.gz rust-5ecda802f1f34e404082d01d33d0a9e85c035e48.zip | |
move test
| -rw-r--r-- | crates/hir_def/src/macro_expansion_tests.rs | 23 | ||||
| -rw-r--r-- | crates/mbe/src/subtree_source.rs | 21 |
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 386bd4f1b56..a5e941454c0 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 ffc2a60172b..0f852d33d5b 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") - } - ); - } -} |
