mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-27 13:33:31 +00:00
Add cov_marks to test #17927
This commit is contained in:
parent
d89bdd9b83
commit
6a910f637e
2 changed files with 19 additions and 0 deletions
|
@ -629,6 +629,7 @@ impl<'a> FindUsages<'a> {
|
||||||
alias.syntax().text_range(),
|
alias.syntax().text_range(),
|
||||||
)) {
|
)) {
|
||||||
tracing::debug!("found alias: {alias}");
|
tracing::debug!("found alias: {alias}");
|
||||||
|
cov_mark::hit!(container_use_rename);
|
||||||
// FIXME: `use`s have no easy way to determine their search scope, but they are rare.
|
// FIXME: `use`s have no easy way to determine their search scope, but they are rare.
|
||||||
to_process.push((
|
to_process.push((
|
||||||
alias.text().to_smolstr(),
|
alias.text().to_smolstr(),
|
||||||
|
@ -644,12 +645,15 @@ impl<'a> FindUsages<'a> {
|
||||||
name.syntax().text_range(),
|
name.syntax().text_range(),
|
||||||
)) {
|
)) {
|
||||||
if let Some(def) = is_alias(&alias) {
|
if let Some(def) = is_alias(&alias) {
|
||||||
|
cov_mark::hit!(container_type_alias);
|
||||||
insert_type_alias(
|
insert_type_alias(
|
||||||
sema.db,
|
sema.db,
|
||||||
&mut to_process,
|
&mut to_process,
|
||||||
name.text().as_str(),
|
name.text().as_str(),
|
||||||
def.into(),
|
def.into(),
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
cov_mark::hit!(same_name_different_def_type_alias);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -706,12 +710,15 @@ impl<'a> FindUsages<'a> {
|
||||||
name.syntax().text_range(),
|
name.syntax().text_range(),
|
||||||
)) {
|
)) {
|
||||||
if let Some(def) = is_alias(&type_alias) {
|
if let Some(def) = is_alias(&type_alias) {
|
||||||
|
cov_mark::hit!(self_type_alias);
|
||||||
insert_type_alias(
|
insert_type_alias(
|
||||||
sema.db,
|
sema.db,
|
||||||
&mut to_process,
|
&mut to_process,
|
||||||
name.text().as_str(),
|
name.text().as_str(),
|
||||||
def.into(),
|
def.into(),
|
||||||
);
|
);
|
||||||
|
} else {
|
||||||
|
cov_mark::hit!(same_name_different_def_type_alias);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -793,6 +800,8 @@ impl<'a> FindUsages<'a> {
|
||||||
return false;
|
return false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
cov_mark::hit!(short_associated_function_fast_search);
|
||||||
|
|
||||||
// FIXME: If Rust ever gains the ability to `use Struct::method` we'll also need to account for free
|
// FIXME: If Rust ever gains the ability to `use Struct::method` we'll also need to account for free
|
||||||
// functions.
|
// functions.
|
||||||
let finder = Finder::new(name.as_bytes());
|
let finder = Finder::new(name.as_bytes());
|
||||||
|
|
|
@ -2516,6 +2516,7 @@ fn main() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn goto_ref_on_short_associated_function() {
|
fn goto_ref_on_short_associated_function() {
|
||||||
|
cov_mark::check!(short_associated_function_fast_search);
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
struct Foo;
|
struct Foo;
|
||||||
|
@ -2541,6 +2542,9 @@ fn baz() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn goto_ref_on_short_associated_function_with_aliases() {
|
fn goto_ref_on_short_associated_function_with_aliases() {
|
||||||
|
cov_mark::check!(short_associated_function_fast_search);
|
||||||
|
cov_mark::check!(container_use_rename);
|
||||||
|
cov_mark::check!(container_type_alias);
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
|
@ -2589,6 +2593,8 @@ pub(in super::super) type Baz = Itself<crate::Foo>;
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn goto_ref_on_short_associated_function_self_works() {
|
fn goto_ref_on_short_associated_function_self_works() {
|
||||||
|
cov_mark::check!(short_associated_function_fast_search);
|
||||||
|
cov_mark::check!(self_type_alias);
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
//- /lib.rs
|
//- /lib.rs
|
||||||
|
@ -2651,6 +2657,7 @@ impl Foo {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn goto_ref_on_short_associated_function_no_direct_self_but_path_contains_self() {
|
fn goto_ref_on_short_associated_function_no_direct_self_but_path_contains_self() {
|
||||||
|
cov_mark::check!(short_associated_function_fast_search);
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
struct Foo;
|
struct Foo;
|
||||||
|
@ -2684,6 +2691,8 @@ impl Foo {
|
||||||
// Usages search is not 100% accurate anyway; we miss macros.
|
// Usages search is not 100% accurate anyway; we miss macros.
|
||||||
#[test]
|
#[test]
|
||||||
fn goto_ref_on_short_associated_function_complicated_type_magic_can_confuse_our_logic() {
|
fn goto_ref_on_short_associated_function_complicated_type_magic_can_confuse_our_logic() {
|
||||||
|
cov_mark::check!(short_associated_function_fast_search);
|
||||||
|
cov_mark::check!(same_name_different_def_type_alias);
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
struct Foo;
|
struct Foo;
|
||||||
|
@ -2718,6 +2727,7 @@ fn bar() {
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn goto_ref_on_short_associated_function_same_path_mention_alias_and_self() {
|
fn goto_ref_on_short_associated_function_same_path_mention_alias_and_self() {
|
||||||
|
cov_mark::check!(short_associated_function_fast_search);
|
||||||
check(
|
check(
|
||||||
r#"
|
r#"
|
||||||
struct Foo;
|
struct Foo;
|
||||||
|
|
Loading…
Reference in a new issue