diff options
Diffstat (limited to 'crates/ra_ide/src/call_info.rs')
-rw-r--r-- | crates/ra_ide/src/call_info.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/crates/ra_ide/src/call_info.rs b/crates/ra_ide/src/call_info.rs index 14980afdd..ff602202f 100644 --- a/crates/ra_ide/src/call_info.rs +++ b/crates/ra_ide/src/call_info.rs | |||
@@ -161,6 +161,10 @@ impl ActiveParameter { | |||
161 | 161 | ||
162 | let idx = active_parameter?; | 162 | let idx = active_parameter?; |
163 | let mut params = signature.params(sema.db); | 163 | let mut params = signature.params(sema.db); |
164 | if !(idx < params.len()) { | ||
165 | mark::hit!(too_many_arguments); | ||
166 | return None; | ||
167 | } | ||
164 | let (pat, ty) = params.swap_remove(idx); | 168 | let (pat, ty) = params.swap_remove(idx); |
165 | let name = pat?.to_string(); | 169 | let name = pat?.to_string(); |
166 | Some(ActiveParameter { ty, name }) | 170 | Some(ActiveParameter { ty, name }) |