diff --git a/crates/ra_ide/src/call_info.rs b/crates/ra_ide/src/call_info.rs index 14f5ead6b16..72a68522e50 100644 --- a/crates/ra_ide/src/call_info.rs +++ b/crates/ra_ide/src/call_info.rs @@ -4,7 +4,7 @@ use ra_syntax::{ ast::{self, ArgListOwner}, match_ast, AstNode, SyntaxNode, }; -use std::cmp::Ordering; + use test_utils::tested_by; use crate::{ @@ -51,14 +51,14 @@ pub(crate) fn call_info(db: &RootDatabase, position: FilePosition) -> Option {} - Ordering::Equal => { + match num_params { + 0 => (), + 1 => { if !has_self { call_info.active_parameter = Some(0); } } - Ordering::Greater => { + _ => { if let Some(arg_list) = calling_node.arg_list() { // Number of arguments specified at the call site let num_args_at_callsite = arg_list.args().count(); diff --git a/crates/ra_parser/src/grammar/paths.rs b/crates/ra_parser/src/grammar/paths.rs index e125c6b9cde..ca8e075a1a9 100644 --- a/crates/ra_parser/src/grammar/paths.rs +++ b/crates/ra_parser/src/grammar/paths.rs @@ -94,7 +94,7 @@ fn path_segment(p: &mut Parser, mode: Mode, first: bool) { fn opt_path_type_args(p: &mut Parser, mode: Mode) { match mode { - Mode::Use => {} + Mode::Use => return, Mode::Type => { // test path_fn_trait_args // type F = Box ()>;