aboutsummaryrefslogtreecommitdiff
path: root/crates/mbe
diff options
context:
space:
mode:
authorEdwin Cheng <[email protected]>2021-01-10 12:52:46 +0000
committerEdwin Cheng <[email protected]>2021-01-10 12:52:46 +0000
commit8d62576a9b47922ce58ac757e6e4944d45b223a6 (patch)
treec550f0400ac772201f6c8a4e67c46f84be6865b3 /crates/mbe
parentbe02ac981de88869a9d6069b675a78a2e9e31f99 (diff)
Fixed expr meta var after path colons in mbe
Diffstat (limited to 'crates/mbe')
-rw-r--r--crates/mbe/src/tests.rs23
1 files changed, 22 insertions, 1 deletions
diff --git a/crates/mbe/src/tests.rs b/crates/mbe/src/tests.rs
index d854985c5..17ddd0a9c 100644
--- a/crates/mbe/src/tests.rs
+++ b/crates/mbe/src/tests.rs
@@ -1,7 +1,11 @@
1use std::fmt::Write; 1use std::fmt::Write;
2 2
3use ::parser::FragmentKind; 3use ::parser::FragmentKind;
4use syntax::{ast, AstNode, NodeOrToken, SyntaxKind::IDENT, SyntaxNode, WalkEvent, T}; 4use syntax::{
5 ast, AstNode, NodeOrToken,
6 SyntaxKind::{ERROR, IDENT},
7 SyntaxNode, WalkEvent, T,
8};
5use test_utils::assert_eq_text; 9use test_utils::assert_eq_text;
6 10
7use super::*; 11use super::*;
@@ -1194,6 +1198,23 @@ macro_rules! foo {
1194 ); 1198 );
1195} 1199}
1196 1200
1201#[test]
1202fn test_expr_after_path_colons() {
1203 assert!(parse_macro(
1204 r#"
1205macro_rules! m {
1206 ($k:expr) => {
1207 f(K::$k);
1208 }
1209}
1210"#,
1211 )
1212 .expand_statements(r#"m!(C("0"))"#)
1213 .descendants()
1214 .find(|token| token.kind() == ERROR)
1215 .is_some());
1216}
1217
1197// The following tests are based on real world situations 1218// The following tests are based on real world situations
1198#[test] 1219#[test]
1199fn test_vec() { 1220fn test_vec() {