aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_mbe/src/mbe_expander
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2020-03-13 14:18:17 +0000
committerFlorian Diebold <[email protected]>2020-03-16 17:38:19 +0000
commit6305d094ac61ed6e437537b93f4e587b415678c9 (patch)
tree89ec8942a287c8a1f6d2955602fe1a3415262cac /crates/ra_mbe/src/mbe_expander
parentb973158aeb337041d4e1434cf5d8c609a0b02bef (diff)
Attempt to implement ranking of rules when none matches perfectly (wip)
Diffstat (limited to 'crates/ra_mbe/src/mbe_expander')
-rw-r--r--crates/ra_mbe/src/mbe_expander/matcher.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/crates/ra_mbe/src/mbe_expander/matcher.rs b/crates/ra_mbe/src/mbe_expander/matcher.rs
index f9d4952c6..52f1ac252 100644
--- a/crates/ra_mbe/src/mbe_expander/matcher.rs
+++ b/crates/ra_mbe/src/mbe_expander/matcher.rs
@@ -65,7 +65,7 @@ macro_rules! bail {
65 }; 65 };
66} 66}
67 67
68pub(super) fn match_(pattern: &tt::Subtree, src: &tt::Subtree) -> ExpandResult<Bindings> { 68pub(super) fn match_(pattern: &tt::Subtree, src: &tt::Subtree) -> ExpandResult<(Bindings, usize)> {
69 assert!(pattern.delimiter == None); 69 assert!(pattern.delimiter == None);
70 70
71 let mut res = Bindings::default(); 71 let mut res = Bindings::default();
@@ -77,7 +77,7 @@ pub(super) fn match_(pattern: &tt::Subtree, src: &tt::Subtree) -> ExpandResult<B
77 err = Some(err!("leftover tokens")); 77 err = Some(err!("leftover tokens"));
78 } 78 }
79 79
80 (res, err) 80 ((res, src.len()), err)
81} 81}
82 82
83fn match_subtree( 83fn match_subtree(