diff options
author | Florian Diebold <[email protected]> | 2020-03-13 14:18:17 +0000 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2020-03-16 17:38:19 +0000 |
commit | 6305d094ac61ed6e437537b93f4e587b415678c9 (patch) | |
tree | 89ec8942a287c8a1f6d2955602fe1a3415262cac /crates/ra_mbe/src/mbe_expander | |
parent | b973158aeb337041d4e1434cf5d8c609a0b02bef (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.rs | 4 |
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 | ||
68 | pub(super) fn match_(pattern: &tt::Subtree, src: &tt::Subtree) -> ExpandResult<Bindings> { | 68 | pub(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 | ||
83 | fn match_subtree( | 83 | fn match_subtree( |