From 798f43da502e4b8d52e9b907420708d956faa054 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 17 Jul 2020 15:44:37 +0200 Subject: Fix out of bounds panic in active parameter --- crates/ra_ide/src/call_info.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'crates/ra_ide/src/call_info.rs') 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 { let idx = active_parameter?; let mut params = signature.params(sema.db); + if !(idx < params.len()) { + mark::hit!(too_many_arguments); + return None; + } let (pat, ty) = params.swap_remove(idx); let name = pat?.to_string(); Some(ActiveParameter { ty, name }) -- cgit v1.2.3