diff options
Diffstat (limited to 'crates/ide')
-rw-r--r-- | crates/ide/Cargo.toml | 3 | ||||
-rw-r--r-- | crates/ide/src/display/short_label.rs | 6 | ||||
-rw-r--r-- | crates/ide/src/hover.rs | 71 | ||||
-rw-r--r-- | crates/ide/src/join_lines.rs | 8 | ||||
-rw-r--r-- | crates/ide/src/lib.rs | 2 | ||||
-rw-r--r-- | crates/ide/src/matching_brace.rs | 5 | ||||
-rw-r--r-- | crates/ide/src/parent_module.rs | 6 | ||||
-rw-r--r-- | crates/ide/src/references/rename.rs | 58 | ||||
-rw-r--r-- | crates/ide/src/runnables.rs | 10 | ||||
-rw-r--r-- | crates/ide/src/syntax_highlighting/highlight.rs | 5 | ||||
-rw-r--r-- | crates/ide/src/typing/on_enter.rs | 8 |
11 files changed, 100 insertions, 82 deletions
diff --git a/crates/ide/Cargo.toml b/crates/ide/Cargo.toml index f6aaaeda4..107bd8432 100644 --- a/crates/ide/Cargo.toml +++ b/crates/ide/Cargo.toml | |||
@@ -10,6 +10,7 @@ edition = "2018" | |||
10 | doctest = false | 10 | doctest = false |
11 | 11 | ||
12 | [dependencies] | 12 | [dependencies] |
13 | cov-mark = "1.1" | ||
13 | either = "1.5.3" | 14 | either = "1.5.3" |
14 | indexmap = "1.4.0" | 15 | indexmap = "1.4.0" |
15 | itertools = "0.10.0" | 16 | itertools = "0.10.0" |
@@ -26,7 +27,6 @@ text_edit = { path = "../text_edit", version = "0.0.0" } | |||
26 | ide_db = { path = "../ide_db", version = "0.0.0" } | 27 | ide_db = { path = "../ide_db", version = "0.0.0" } |
27 | cfg = { path = "../cfg", version = "0.0.0" } | 28 | cfg = { path = "../cfg", version = "0.0.0" } |
28 | profile = { path = "../profile", version = "0.0.0" } | 29 | profile = { path = "../profile", version = "0.0.0" } |
29 | test_utils = { path = "../test_utils", version = "0.0.0" } | ||
30 | ide_assists = { path = "../ide_assists", version = "0.0.0" } | 30 | ide_assists = { path = "../ide_assists", version = "0.0.0" } |
31 | ide_ssr = { path = "../ide_ssr", version = "0.0.0" } | 31 | ide_ssr = { path = "../ide_ssr", version = "0.0.0" } |
32 | ide_completion = { path = "../ide_completion", version = "0.0.0" } | 32 | ide_completion = { path = "../ide_completion", version = "0.0.0" } |
@@ -36,4 +36,5 @@ ide_completion = { path = "../ide_completion", version = "0.0.0" } | |||
36 | hir = { path = "../hir", version = "0.0.0" } | 36 | hir = { path = "../hir", version = "0.0.0" } |
37 | 37 | ||
38 | [dev-dependencies] | 38 | [dev-dependencies] |
39 | test_utils = { path = "../test_utils" } | ||
39 | expect-test = "1.1" | 40 | expect-test = "1.1" |
diff --git a/crates/ide/src/display/short_label.rs b/crates/ide/src/display/short_label.rs index 84b8883de..2df9266b4 100644 --- a/crates/ide/src/display/short_label.rs +++ b/crates/ide/src/display/short_label.rs | |||
@@ -71,11 +71,7 @@ impl ShortLabel for ast::TypeAlias { | |||
71 | 71 | ||
72 | impl ShortLabel for ast::Const { | 72 | impl ShortLabel for ast::Const { |
73 | fn short_label(&self) -> Option<String> { | 73 | fn short_label(&self) -> Option<String> { |
74 | let mut new_buf = short_label_from_ty(self, self.ty(), "const ")?; | 74 | short_label_from_ty(self, self.ty(), "const ") |
75 | if let Some(expr) = self.body() { | ||
76 | format_to!(new_buf, " = {}", expr.syntax()); | ||
77 | } | ||
78 | Some(new_buf) | ||
79 | } | 75 | } |
80 | } | 76 | } |
81 | 77 | ||
diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs index a9454cfa3..ea45086ce 100644 --- a/crates/ide/src/hover.rs +++ b/crates/ide/src/hover.rs | |||
@@ -1,3 +1,4 @@ | |||
1 | use either::Either; | ||
1 | use hir::{ | 2 | use hir::{ |
2 | Adt, AsAssocItem, AssocItemContainer, FieldSource, GenericParam, HasAttrs, HasSource, | 3 | Adt, AsAssocItem, AssocItemContainer, FieldSource, GenericParam, HasAttrs, HasSource, |
3 | HirDisplay, Module, ModuleDef, ModuleSource, Semantics, | 4 | HirDisplay, Module, ModuleDef, ModuleSource, Semantics, |
@@ -11,7 +12,6 @@ use ide_db::{ | |||
11 | use itertools::Itertools; | 12 | use itertools::Itertools; |
12 | use stdx::format_to; | 13 | use stdx::format_to; |
13 | use syntax::{ast, match_ast, AstNode, SyntaxKind::*, SyntaxToken, TokenAtOffset, T}; | 14 | use syntax::{ast, match_ast, AstNode, SyntaxKind::*, SyntaxToken, TokenAtOffset, T}; |
14 | use test_utils::mark; | ||
15 | 15 | ||
16 | use crate::{ | 16 | use crate::{ |
17 | display::{macro_label, ShortLabel, TryToNav}, | 17 | display::{macro_label, ShortLabel, TryToNav}, |
@@ -193,8 +193,8 @@ fn runnable_action( | |||
193 | ModuleDef::Function(func) => { | 193 | ModuleDef::Function(func) => { |
194 | let src = func.source(sema.db)?; | 194 | let src = func.source(sema.db)?; |
195 | if src.file_id != file_id.into() { | 195 | if src.file_id != file_id.into() { |
196 | mark::hit!(hover_macro_generated_struct_fn_doc_comment); | 196 | cov_mark::hit!(hover_macro_generated_struct_fn_doc_comment); |
197 | mark::hit!(hover_macro_generated_struct_fn_doc_attr); | 197 | cov_mark::hit!(hover_macro_generated_struct_fn_doc_attr); |
198 | return None; | 198 | return None; |
199 | } | 199 | } |
200 | 200 | ||
@@ -367,7 +367,7 @@ fn hover_for_definition( | |||
367 | .and_then(|fd| hover_for_builtin(fd, it)) | 367 | .and_then(|fd| hover_for_builtin(fd, it)) |
368 | .or_else(|| Some(Markup::fenced_block(&it.name()))), | 368 | .or_else(|| Some(Markup::fenced_block(&it.name()))), |
369 | }, | 369 | }, |
370 | Definition::Local(it) => Some(Markup::fenced_block(&it.ty(db).display(db))), | 370 | Definition::Local(it) => hover_for_local(it, db), |
371 | Definition::SelfType(impl_def) => { | 371 | Definition::SelfType(impl_def) => { |
372 | impl_def.target_ty(db).as_adt().and_then(|adt| match adt { | 372 | impl_def.target_ty(db).as_adt().and_then(|adt| match adt { |
373 | Adt::Struct(it) => from_def_source(db, it, mod_path), | 373 | Adt::Struct(it) => from_def_source(db, it, mod_path), |
@@ -406,6 +406,29 @@ fn hover_for_definition( | |||
406 | } | 406 | } |
407 | } | 407 | } |
408 | 408 | ||
409 | fn hover_for_local(it: hir::Local, db: &RootDatabase) -> Option<Markup> { | ||
410 | let ty = it.ty(db); | ||
411 | let ty = ty.display(db); | ||
412 | let is_mut = if it.is_mut(db) { "mut " } else { "" }; | ||
413 | let desc = match it.source(db).value { | ||
414 | Either::Left(ident) => { | ||
415 | let name = it.name(db).unwrap(); | ||
416 | let let_kw = if ident | ||
417 | .syntax() | ||
418 | .parent() | ||
419 | .map_or(false, |p| p.kind() == LET_STMT || p.kind() == CONDITION) | ||
420 | { | ||
421 | "let " | ||
422 | } else { | ||
423 | "" | ||
424 | }; | ||
425 | format!("{}{}{}: {}", let_kw, is_mut, name, ty) | ||
426 | } | ||
427 | Either::Right(_) => format!("{}self: {}", is_mut, ty), | ||
428 | }; | ||
429 | hover_markup(None, Some(desc), None) | ||
430 | } | ||
431 | |||
409 | fn hover_for_keyword( | 432 | fn hover_for_keyword( |
410 | sema: &Semantics<RootDatabase>, | 433 | sema: &Semantics<RootDatabase>, |
411 | links_in_hover: bool, | 434 | links_in_hover: bool, |
@@ -575,7 +598,7 @@ fn main() { | |||
575 | *iter* | 598 | *iter* |
576 | 599 | ||
577 | ```rust | 600 | ```rust |
578 | Iter<Scan<OtherStruct<OtherStruct<i32>>, |&mut u32, &u32, &mut u32| -> Option<u32>, u32>> | 601 | let mut iter: Iter<Scan<OtherStruct<OtherStruct<i32>>, |&mut u32, &u32, &mut u32| -> Option<u32>, u32>> |
579 | ``` | 602 | ``` |
580 | "#]], | 603 | "#]], |
581 | ); | 604 | ); |
@@ -799,7 +822,7 @@ fn main() { | |||
799 | ``` | 822 | ``` |
800 | 823 | ||
801 | ```rust | 824 | ```rust |
802 | const foo: u32 = 123 | 825 | const foo: u32 |
803 | ``` | 826 | ``` |
804 | "#]], | 827 | "#]], |
805 | ); | 828 | ); |
@@ -832,7 +855,7 @@ fn main() { | |||
832 | *zz* | 855 | *zz* |
833 | 856 | ||
834 | ```rust | 857 | ```rust |
835 | Test<i32, u8> | 858 | let zz: Test<i32, u8> |
836 | ``` | 859 | ``` |
837 | "#]], | 860 | "#]], |
838 | ); | 861 | ); |
@@ -871,7 +894,7 @@ fn main() { let b$0ar = Some(12); } | |||
871 | *bar* | 894 | *bar* |
872 | 895 | ||
873 | ```rust | 896 | ```rust |
874 | Option<i32> | 897 | let bar: Option<i32> |
875 | ``` | 898 | ``` |
876 | "#]], | 899 | "#]], |
877 | ); | 900 | ); |
@@ -939,7 +962,7 @@ fn main() { | |||
939 | *foo* | 962 | *foo* |
940 | 963 | ||
941 | ```rust | 964 | ```rust |
942 | i32 | 965 | foo: i32 |
943 | ``` | 966 | ``` |
944 | "#]], | 967 | "#]], |
945 | ) | 968 | ) |
@@ -953,7 +976,7 @@ fn main() { | |||
953 | *foo* | 976 | *foo* |
954 | 977 | ||
955 | ```rust | 978 | ```rust |
956 | i32 | 979 | foo: i32 |
957 | ``` | 980 | ``` |
958 | "#]], | 981 | "#]], |
959 | ) | 982 | ) |
@@ -967,7 +990,7 @@ fn main() { | |||
967 | *foo* | 990 | *foo* |
968 | 991 | ||
969 | ```rust | 992 | ```rust |
970 | i32 | 993 | foo: i32 |
971 | ``` | 994 | ``` |
972 | "#]], | 995 | "#]], |
973 | ) | 996 | ) |
@@ -981,7 +1004,7 @@ fn main() { | |||
981 | *foo* | 1004 | *foo* |
982 | 1005 | ||
983 | ```rust | 1006 | ```rust |
984 | i32 | 1007 | foo: i32 |
985 | ``` | 1008 | ``` |
986 | "#]], | 1009 | "#]], |
987 | ) | 1010 | ) |
@@ -1001,7 +1024,7 @@ fn main() { | |||
1001 | *_x* | 1024 | *_x* |
1002 | 1025 | ||
1003 | ```rust | 1026 | ```rust |
1004 | impl Deref<Target = u8> + DerefMut<Target = u8> | 1027 | _x: impl Deref<Target = u8> + DerefMut<Target = u8> |
1005 | ``` | 1028 | ``` |
1006 | "#]], | 1029 | "#]], |
1007 | ) | 1030 | ) |
@@ -1023,7 +1046,7 @@ fn main() { let foo_$0test = Thing::new(); } | |||
1023 | *foo_test* | 1046 | *foo_test* |
1024 | 1047 | ||
1025 | ```rust | 1048 | ```rust |
1026 | Thing | 1049 | let foo_test: Thing |
1027 | ``` | 1050 | ``` |
1028 | "#]], | 1051 | "#]], |
1029 | ) | 1052 | ) |
@@ -1082,7 +1105,7 @@ fn main() { | |||
1082 | ``` | 1105 | ``` |
1083 | 1106 | ||
1084 | ```rust | 1107 | ```rust |
1085 | const C: u32 = 1 | 1108 | const C: u32 |
1086 | ``` | 1109 | ``` |
1087 | "#]], | 1110 | "#]], |
1088 | ) | 1111 | ) |
@@ -1183,7 +1206,7 @@ fn y() { | |||
1183 | *x* | 1206 | *x* |
1184 | 1207 | ||
1185 | ```rust | 1208 | ```rust |
1186 | i32 | 1209 | let x: i32 |
1187 | ``` | 1210 | ``` |
1188 | "#]], | 1211 | "#]], |
1189 | ) | 1212 | ) |
@@ -1260,7 +1283,7 @@ fn foo(bar:u32) { let a = id!(ba$0r); } | |||
1260 | *bar* | 1283 | *bar* |
1261 | 1284 | ||
1262 | ```rust | 1285 | ```rust |
1263 | u32 | 1286 | bar: u32 |
1264 | ``` | 1287 | ``` |
1265 | "#]], | 1288 | "#]], |
1266 | ); | 1289 | ); |
@@ -1278,7 +1301,7 @@ fn foo(bar:u32) { let a = id!(ba$0r); } | |||
1278 | *bar* | 1301 | *bar* |
1279 | 1302 | ||
1280 | ```rust | 1303 | ```rust |
1281 | u32 | 1304 | bar: u32 |
1282 | ``` | 1305 | ``` |
1283 | "#]], | 1306 | "#]], |
1284 | ); | 1307 | ); |
@@ -2101,7 +2124,7 @@ pub fn fo$0o() {} | |||
2101 | 2124 | ||
2102 | #[test] | 2125 | #[test] |
2103 | fn test_hover_macro_generated_struct_fn_doc_comment() { | 2126 | fn test_hover_macro_generated_struct_fn_doc_comment() { |
2104 | mark::check!(hover_macro_generated_struct_fn_doc_comment); | 2127 | cov_mark::check!(hover_macro_generated_struct_fn_doc_comment); |
2105 | 2128 | ||
2106 | check( | 2129 | check( |
2107 | r#" | 2130 | r#" |
@@ -2139,7 +2162,7 @@ fn foo() { let bar = Bar; bar.fo$0o(); } | |||
2139 | 2162 | ||
2140 | #[test] | 2163 | #[test] |
2141 | fn test_hover_macro_generated_struct_fn_doc_attr() { | 2164 | fn test_hover_macro_generated_struct_fn_doc_attr() { |
2142 | mark::check!(hover_macro_generated_struct_fn_doc_attr); | 2165 | cov_mark::check!(hover_macro_generated_struct_fn_doc_attr); |
2143 | 2166 | ||
2144 | check( | 2167 | check( |
2145 | r#" | 2168 | r#" |
@@ -3303,7 +3326,7 @@ fn main() { | |||
3303 | *f* | 3326 | *f* |
3304 | 3327 | ||
3305 | ```rust | 3328 | ```rust |
3306 | &i32 | 3329 | f: &i32 |
3307 | ``` | 3330 | ``` |
3308 | "#]], | 3331 | "#]], |
3309 | ); | 3332 | ); |
@@ -3322,7 +3345,7 @@ impl Foo { | |||
3322 | *self* | 3345 | *self* |
3323 | 3346 | ||
3324 | ```rust | 3347 | ```rust |
3325 | &Foo | 3348 | self: &Foo |
3326 | ``` | 3349 | ``` |
3327 | "#]], | 3350 | "#]], |
3328 | ); | 3351 | ); |
@@ -3342,7 +3365,7 @@ impl Foo { | |||
3342 | *self* | 3365 | *self* |
3343 | 3366 | ||
3344 | ```rust | 3367 | ```rust |
3345 | Arc<Foo> | 3368 | self: Arc<Foo> |
3346 | ``` | 3369 | ``` |
3347 | "#]], | 3370 | "#]], |
3348 | ); | 3371 | ); |
@@ -3538,7 +3561,7 @@ fn foo() { | |||
3538 | ``` | 3561 | ``` |
3539 | 3562 | ||
3540 | ```rust | 3563 | ```rust |
3541 | const FOO: usize = 3 | 3564 | const FOO: usize |
3542 | ``` | 3565 | ``` |
3543 | 3566 | ||
3544 | --- | 3567 | --- |
diff --git a/crates/ide/src/join_lines.rs b/crates/ide/src/join_lines.rs index 7fcae13e0..20a920ddb 100644 --- a/crates/ide/src/join_lines.rs +++ b/crates/ide/src/join_lines.rs | |||
@@ -7,7 +7,7 @@ use syntax::{ | |||
7 | SyntaxKind::{self, USE_TREE, WHITESPACE}, | 7 | SyntaxKind::{self, USE_TREE, WHITESPACE}, |
8 | SyntaxNode, SyntaxToken, TextRange, TextSize, T, | 8 | SyntaxNode, SyntaxToken, TextRange, TextSize, T, |
9 | }; | 9 | }; |
10 | use test_utils::mark; | 10 | |
11 | use text_edit::{TextEdit, TextEditBuilder}; | 11 | use text_edit::{TextEdit, TextEditBuilder}; |
12 | 12 | ||
13 | // Feature: Join Lines | 13 | // Feature: Join Lines |
@@ -60,7 +60,7 @@ fn remove_newline(edit: &mut TextEditBuilder, token: &SyntaxToken, offset: TextS | |||
60 | let mut string_open_quote = false; | 60 | let mut string_open_quote = false; |
61 | if let Some(string) = ast::String::cast(token.clone()) { | 61 | if let Some(string) = ast::String::cast(token.clone()) { |
62 | if let Some(range) = string.open_quote_text_range() { | 62 | if let Some(range) = string.open_quote_text_range() { |
63 | mark::hit!(join_string_literal); | 63 | cov_mark::hit!(join_string_literal); |
64 | string_open_quote = range.end() == offset; | 64 | string_open_quote = range.end() == offset; |
65 | } | 65 | } |
66 | } | 66 | } |
@@ -206,7 +206,7 @@ fn compute_ws(left: SyntaxKind, right: SyntaxKind) -> &'static str { | |||
206 | #[cfg(test)] | 206 | #[cfg(test)] |
207 | mod tests { | 207 | mod tests { |
208 | use syntax::SourceFile; | 208 | use syntax::SourceFile; |
209 | use test_utils::{add_cursor, assert_eq_text, extract_offset, extract_range, mark}; | 209 | use test_utils::{add_cursor, assert_eq_text, extract_offset, extract_range}; |
210 | 210 | ||
211 | use super::*; | 211 | use super::*; |
212 | 212 | ||
@@ -786,7 +786,7 @@ fn foo() { | |||
786 | 786 | ||
787 | #[test] | 787 | #[test] |
788 | fn join_string_literal() { | 788 | fn join_string_literal() { |
789 | mark::check!(join_string_literal); | 789 | cov_mark::check!(join_string_literal); |
790 | check_join_lines( | 790 | check_join_lines( |
791 | r#" | 791 | r#" |
792 | fn main() { | 792 | fn main() { |
diff --git a/crates/ide/src/lib.rs b/crates/ide/src/lib.rs index b600178ee..f83ed65d5 100644 --- a/crates/ide/src/lib.rs +++ b/crates/ide/src/lib.rs | |||
@@ -478,7 +478,6 @@ impl Analysis { | |||
478 | position: FilePosition, | 478 | position: FilePosition, |
479 | full_import_path: &str, | 479 | full_import_path: &str, |
480 | imported_name: String, | 480 | imported_name: String, |
481 | import_for_trait_assoc_item: bool, | ||
482 | ) -> Cancelable<Vec<TextEdit>> { | 481 | ) -> Cancelable<Vec<TextEdit>> { |
483 | Ok(self | 482 | Ok(self |
484 | .with_db(|db| { | 483 | .with_db(|db| { |
@@ -488,7 +487,6 @@ impl Analysis { | |||
488 | position, | 487 | position, |
489 | full_import_path, | 488 | full_import_path, |
490 | imported_name, | 489 | imported_name, |
491 | import_for_trait_assoc_item, | ||
492 | ) | 490 | ) |
493 | })? | 491 | })? |
494 | .unwrap_or_default()) | 492 | .unwrap_or_default()) |
diff --git a/crates/ide/src/matching_brace.rs b/crates/ide/src/matching_brace.rs index 1bfa1439d..000c412d9 100644 --- a/crates/ide/src/matching_brace.rs +++ b/crates/ide/src/matching_brace.rs | |||
@@ -2,7 +2,6 @@ use syntax::{ | |||
2 | ast::{self, AstNode}, | 2 | ast::{self, AstNode}, |
3 | SourceFile, SyntaxKind, TextSize, T, | 3 | SourceFile, SyntaxKind, TextSize, T, |
4 | }; | 4 | }; |
5 | use test_utils::mark; | ||
6 | 5 | ||
7 | // Feature: Matching Brace | 6 | // Feature: Matching Brace |
8 | // | 7 | // |
@@ -28,7 +27,7 @@ pub(crate) fn matching_brace(file: &SourceFile, offset: TextSize) -> Option<Text | |||
28 | .next()?; | 27 | .next()?; |
29 | let parent = brace_token.parent(); | 28 | let parent = brace_token.parent(); |
30 | if brace_token.kind() == T![|] && !ast::ParamList::can_cast(parent.kind()) { | 29 | if brace_token.kind() == T![|] && !ast::ParamList::can_cast(parent.kind()) { |
31 | mark::hit!(pipes_not_braces); | 30 | cov_mark::hit!(pipes_not_braces); |
32 | return None; | 31 | return None; |
33 | } | 32 | } |
34 | let matching_kind = BRACES[brace_idx ^ 1]; | 33 | let matching_kind = BRACES[brace_idx ^ 1]; |
@@ -63,7 +62,7 @@ mod tests { | |||
63 | do_check("fn main() { $0|x: i32| x * 2;}", "fn main() { |x: i32$0| x * 2;}"); | 62 | do_check("fn main() { $0|x: i32| x * 2;}", "fn main() { |x: i32$0| x * 2;}"); |
64 | 63 | ||
65 | { | 64 | { |
66 | mark::check!(pipes_not_braces); | 65 | cov_mark::check!(pipes_not_braces); |
67 | do_check( | 66 | do_check( |
68 | "fn main() { match 92 { 1 | 2 |$0 3 => 92 } }", | 67 | "fn main() { match 92 { 1 | 2 |$0 3 => 92 } }", |
69 | "fn main() { match 92 { 1 | 2 |$0 3 => 92 } }", | 68 | "fn main() { match 92 { 1 | 2 |$0 3 => 92 } }", |
diff --git a/crates/ide/src/parent_module.rs b/crates/ide/src/parent_module.rs index ddbaf22b7..03d71b380 100644 --- a/crates/ide/src/parent_module.rs +++ b/crates/ide/src/parent_module.rs | |||
@@ -5,7 +5,6 @@ use syntax::{ | |||
5 | algo::find_node_at_offset, | 5 | algo::find_node_at_offset, |
6 | ast::{self, AstNode}, | 6 | ast::{self, AstNode}, |
7 | }; | 7 | }; |
8 | use test_utils::mark; | ||
9 | 8 | ||
10 | use crate::NavigationTarget; | 9 | use crate::NavigationTarget; |
11 | 10 | ||
@@ -33,7 +32,7 @@ pub(crate) fn parent_module(db: &RootDatabase, position: FilePosition) -> Vec<Na | |||
33 | .item_list() | 32 | .item_list() |
34 | .map_or(false, |it| it.syntax().text_range().contains_inclusive(position.offset)) | 33 | .map_or(false, |it| it.syntax().text_range().contains_inclusive(position.offset)) |
35 | { | 34 | { |
36 | mark::hit!(test_resolve_parent_module_on_module_decl); | 35 | cov_mark::hit!(test_resolve_parent_module_on_module_decl); |
37 | module = m.syntax().ancestors().skip(1).find_map(ast::Module::cast); | 36 | module = m.syntax().ancestors().skip(1).find_map(ast::Module::cast); |
38 | } | 37 | } |
39 | } | 38 | } |
@@ -64,7 +63,6 @@ pub(crate) fn crate_for(db: &RootDatabase, file_id: FileId) -> Vec<CrateId> { | |||
64 | #[cfg(test)] | 63 | #[cfg(test)] |
65 | mod tests { | 64 | mod tests { |
66 | use ide_db::base_db::FileRange; | 65 | use ide_db::base_db::FileRange; |
67 | use test_utils::mark; | ||
68 | 66 | ||
69 | use crate::fixture; | 67 | use crate::fixture; |
70 | 68 | ||
@@ -92,7 +90,7 @@ $0// empty | |||
92 | 90 | ||
93 | #[test] | 91 | #[test] |
94 | fn test_resolve_parent_module_on_module_decl() { | 92 | fn test_resolve_parent_module_on_module_decl() { |
95 | mark::check!(test_resolve_parent_module_on_module_decl); | 93 | cov_mark::check!(test_resolve_parent_module_on_module_decl); |
96 | check( | 94 | check( |
97 | r#" | 95 | r#" |
98 | //- /lib.rs | 96 | //- /lib.rs |
diff --git a/crates/ide/src/references/rename.rs b/crates/ide/src/references/rename.rs index 1919639a3..05c73de88 100644 --- a/crates/ide/src/references/rename.rs +++ b/crates/ide/src/references/rename.rs | |||
@@ -14,7 +14,7 @@ use syntax::{ | |||
14 | ast::{self, NameOwner}, | 14 | ast::{self, NameOwner}, |
15 | lex_single_syntax_kind, AstNode, SyntaxKind, SyntaxNode, T, | 15 | lex_single_syntax_kind, AstNode, SyntaxKind, SyntaxNode, T, |
16 | }; | 16 | }; |
17 | use test_utils::mark; | 17 | |
18 | use text_edit::TextEdit; | 18 | use text_edit::TextEdit; |
19 | 19 | ||
20 | use crate::{display::TryToNav, FilePosition, FileSystemEdit, RangeInfo, SourceChange, TextRange}; | 20 | use crate::{display::TryToNav, FilePosition, FileSystemEdit, RangeInfo, SourceChange, TextRange}; |
@@ -226,34 +226,36 @@ fn rename_reference( | |||
226 | | (IdentifierKind::Ident, _) | 226 | | (IdentifierKind::Ident, _) |
227 | if def_is_lbl_or_lt => | 227 | if def_is_lbl_or_lt => |
228 | { | 228 | { |
229 | mark::hit!(rename_not_a_lifetime_ident_ref); | 229 | cov_mark::hit!(rename_not_a_lifetime_ident_ref); |
230 | bail!("Invalid name `{}`: not a lifetime identifier", new_name) | 230 | bail!("Invalid name `{}`: not a lifetime identifier", new_name) |
231 | } | 231 | } |
232 | (IdentifierKind::Lifetime, _) if def_is_lbl_or_lt => mark::hit!(rename_lifetime), | 232 | (IdentifierKind::Lifetime, _) if def_is_lbl_or_lt => cov_mark::hit!(rename_lifetime), |
233 | (IdentifierKind::Lifetime, _) => { | 233 | (IdentifierKind::Lifetime, _) => { |
234 | mark::hit!(rename_not_an_ident_ref); | 234 | cov_mark::hit!(rename_not_an_ident_ref); |
235 | bail!("Invalid name `{}`: not an identifier", new_name) | 235 | bail!("Invalid name `{}`: not an identifier", new_name) |
236 | } | 236 | } |
237 | (IdentifierKind::ToSelf, Definition::Local(local)) if local.is_self(sema.db) => { | 237 | (IdentifierKind::ToSelf, Definition::Local(local)) if local.is_self(sema.db) => { |
238 | // no-op | 238 | // no-op |
239 | mark::hit!(rename_self_to_self); | 239 | cov_mark::hit!(rename_self_to_self); |
240 | return Ok(SourceChange::default()); | 240 | return Ok(SourceChange::default()); |
241 | } | 241 | } |
242 | (ident_kind, Definition::Local(local)) if local.is_self(sema.db) => { | 242 | (ident_kind, Definition::Local(local)) if local.is_self(sema.db) => { |
243 | mark::hit!(rename_self_to_param); | 243 | cov_mark::hit!(rename_self_to_param); |
244 | return rename_self_to_param(sema, local, new_name, ident_kind); | 244 | return rename_self_to_param(sema, local, new_name, ident_kind); |
245 | } | 245 | } |
246 | (IdentifierKind::ToSelf, Definition::Local(local)) => { | 246 | (IdentifierKind::ToSelf, Definition::Local(local)) => { |
247 | mark::hit!(rename_to_self); | 247 | cov_mark::hit!(rename_to_self); |
248 | return rename_to_self(sema, local); | 248 | return rename_to_self(sema, local); |
249 | } | 249 | } |
250 | (IdentifierKind::ToSelf, _) => bail!("Invalid name `{}`: not an identifier", new_name), | 250 | (IdentifierKind::ToSelf, _) => bail!("Invalid name `{}`: not an identifier", new_name), |
251 | (IdentifierKind::Ident, _) | (IdentifierKind::Underscore, _) => mark::hit!(rename_ident), | 251 | (IdentifierKind::Ident, _) | (IdentifierKind::Underscore, _) => { |
252 | cov_mark::hit!(rename_ident) | ||
253 | } | ||
252 | } | 254 | } |
253 | 255 | ||
254 | let usages = def.usages(sema).all(); | 256 | let usages = def.usages(sema).all(); |
255 | if !usages.is_empty() && ident_kind == IdentifierKind::Underscore { | 257 | if !usages.is_empty() && ident_kind == IdentifierKind::Underscore { |
256 | mark::hit!(rename_underscore_multiple); | 258 | cov_mark::hit!(rename_underscore_multiple); |
257 | bail!("Cannot rename reference to `_` as it is being referenced multiple times"); | 259 | bail!("Cannot rename reference to `_` as it is being referenced multiple times"); |
258 | } | 260 | } |
259 | let mut source_change = SourceChange::default(); | 261 | let mut source_change = SourceChange::default(); |
@@ -444,7 +446,7 @@ fn source_edit_from_name_ref( | |||
444 | (Some(field_name), Some(init)) => { | 446 | (Some(field_name), Some(init)) => { |
445 | if field_name == *name_ref { | 447 | if field_name == *name_ref { |
446 | if init.text() == new_name { | 448 | if init.text() == new_name { |
447 | mark::hit!(test_rename_field_put_init_shorthand); | 449 | cov_mark::hit!(test_rename_field_put_init_shorthand); |
448 | // same names, we can use a shorthand here instead. | 450 | // same names, we can use a shorthand here instead. |
449 | // we do not want to erase attributes hence this range start | 451 | // we do not want to erase attributes hence this range start |
450 | let s = field_name.syntax().text_range().start(); | 452 | let s = field_name.syntax().text_range().start(); |
@@ -453,7 +455,7 @@ fn source_edit_from_name_ref( | |||
453 | } | 455 | } |
454 | } else if init == *name_ref { | 456 | } else if init == *name_ref { |
455 | if field_name.text() == new_name { | 457 | if field_name.text() == new_name { |
456 | mark::hit!(test_rename_local_put_init_shorthand); | 458 | cov_mark::hit!(test_rename_local_put_init_shorthand); |
457 | // same names, we can use a shorthand here instead. | 459 | // same names, we can use a shorthand here instead. |
458 | // we do not want to erase attributes hence this range start | 460 | // we do not want to erase attributes hence this range start |
459 | let s = field_name.syntax().text_range().start(); | 461 | let s = field_name.syntax().text_range().start(); |
@@ -467,12 +469,12 @@ fn source_edit_from_name_ref( | |||
467 | // FIXME: instead of splitting the shorthand, recursively trigger a rename of the | 469 | // FIXME: instead of splitting the shorthand, recursively trigger a rename of the |
468 | // other name https://github.com/rust-analyzer/rust-analyzer/issues/6547 | 470 | // other name https://github.com/rust-analyzer/rust-analyzer/issues/6547 |
469 | (None, Some(_)) if matches!(def, Definition::Field(_)) => { | 471 | (None, Some(_)) if matches!(def, Definition::Field(_)) => { |
470 | mark::hit!(test_rename_field_in_field_shorthand); | 472 | cov_mark::hit!(test_rename_field_in_field_shorthand); |
471 | let s = name_ref.syntax().text_range().start(); | 473 | let s = name_ref.syntax().text_range().start(); |
472 | Some((TextRange::empty(s), format!("{}: ", new_name))) | 474 | Some((TextRange::empty(s), format!("{}: ", new_name))) |
473 | } | 475 | } |
474 | (None, Some(_)) if matches!(def, Definition::Local(_)) => { | 476 | (None, Some(_)) if matches!(def, Definition::Local(_)) => { |
475 | mark::hit!(test_rename_local_in_field_shorthand); | 477 | cov_mark::hit!(test_rename_local_in_field_shorthand); |
476 | let s = name_ref.syntax().text_range().end(); | 478 | let s = name_ref.syntax().text_range().end(); |
477 | Some((TextRange::empty(s), format!(": {}", new_name))) | 479 | Some((TextRange::empty(s), format!(": {}", new_name))) |
478 | } | 480 | } |
@@ -486,7 +488,7 @@ fn source_edit_from_name_ref( | |||
486 | (Some(field_name), Some(ast::Pat::IdentPat(pat))) if field_name == *name_ref => { | 488 | (Some(field_name), Some(ast::Pat::IdentPat(pat))) if field_name == *name_ref => { |
487 | // field name is being renamed | 489 | // field name is being renamed |
488 | if pat.name().map_or(false, |it| it.text() == new_name) { | 490 | if pat.name().map_or(false, |it| it.text() == new_name) { |
489 | mark::hit!(test_rename_field_put_init_shorthand_pat); | 491 | cov_mark::hit!(test_rename_field_put_init_shorthand_pat); |
490 | // same names, we can use a shorthand here instead/ | 492 | // same names, we can use a shorthand here instead/ |
491 | // we do not want to erase attributes hence this range start | 493 | // we do not want to erase attributes hence this range start |
492 | let s = field_name.syntax().text_range().start(); | 494 | let s = field_name.syntax().text_range().start(); |
@@ -538,7 +540,7 @@ fn source_edit_from_def( | |||
538 | mod tests { | 540 | mod tests { |
539 | use expect_test::{expect, Expect}; | 541 | use expect_test::{expect, Expect}; |
540 | use stdx::trim_indent; | 542 | use stdx::trim_indent; |
541 | use test_utils::{assert_eq_text, mark}; | 543 | use test_utils::assert_eq_text; |
542 | use text_edit::TextEdit; | 544 | use text_edit::TextEdit; |
543 | 545 | ||
544 | use crate::{fixture, FileId}; | 546 | use crate::{fixture, FileId}; |
@@ -627,7 +629,7 @@ mod tests { | |||
627 | 629 | ||
628 | #[test] | 630 | #[test] |
629 | fn test_rename_to_invalid_identifier_lifetime() { | 631 | fn test_rename_to_invalid_identifier_lifetime() { |
630 | mark::check!(rename_not_an_ident_ref); | 632 | cov_mark::check!(rename_not_an_ident_ref); |
631 | check( | 633 | check( |
632 | "'foo", | 634 | "'foo", |
633 | r#"fn main() { let i$0 = 1; }"#, | 635 | r#"fn main() { let i$0 = 1; }"#, |
@@ -637,7 +639,7 @@ mod tests { | |||
637 | 639 | ||
638 | #[test] | 640 | #[test] |
639 | fn test_rename_to_invalid_identifier_lifetime2() { | 641 | fn test_rename_to_invalid_identifier_lifetime2() { |
640 | mark::check!(rename_not_a_lifetime_ident_ref); | 642 | cov_mark::check!(rename_not_a_lifetime_ident_ref); |
641 | check( | 643 | check( |
642 | "foo", | 644 | "foo", |
643 | r#"fn main<'a>(_: &'a$0 ()) {}"#, | 645 | r#"fn main<'a>(_: &'a$0 ()) {}"#, |
@@ -647,7 +649,7 @@ mod tests { | |||
647 | 649 | ||
648 | #[test] | 650 | #[test] |
649 | fn test_rename_to_underscore_invalid() { | 651 | fn test_rename_to_underscore_invalid() { |
650 | mark::check!(rename_underscore_multiple); | 652 | cov_mark::check!(rename_underscore_multiple); |
651 | check( | 653 | check( |
652 | "_", | 654 | "_", |
653 | r#"fn main(foo$0: ()) {foo;}"#, | 655 | r#"fn main(foo$0: ()) {foo;}"#, |
@@ -666,7 +668,7 @@ mod tests { | |||
666 | 668 | ||
667 | #[test] | 669 | #[test] |
668 | fn test_rename_for_local() { | 670 | fn test_rename_for_local() { |
669 | mark::check!(rename_ident); | 671 | cov_mark::check!(rename_ident); |
670 | check( | 672 | check( |
671 | "k", | 673 | "k", |
672 | r#" | 674 | r#" |
@@ -829,7 +831,7 @@ impl Foo { | |||
829 | 831 | ||
830 | #[test] | 832 | #[test] |
831 | fn test_rename_field_in_field_shorthand() { | 833 | fn test_rename_field_in_field_shorthand() { |
832 | mark::check!(test_rename_field_in_field_shorthand); | 834 | cov_mark::check!(test_rename_field_in_field_shorthand); |
833 | check( | 835 | check( |
834 | "j", | 836 | "j", |
835 | r#" | 837 | r#" |
@@ -855,7 +857,7 @@ impl Foo { | |||
855 | 857 | ||
856 | #[test] | 858 | #[test] |
857 | fn test_rename_local_in_field_shorthand() { | 859 | fn test_rename_local_in_field_shorthand() { |
858 | mark::check!(test_rename_local_in_field_shorthand); | 860 | cov_mark::check!(test_rename_local_in_field_shorthand); |
859 | check( | 861 | check( |
860 | "j", | 862 | "j", |
861 | r#" | 863 | r#" |
@@ -1261,7 +1263,7 @@ fn foo(f: foo::Foo) { | |||
1261 | 1263 | ||
1262 | #[test] | 1264 | #[test] |
1263 | fn test_parameter_to_self() { | 1265 | fn test_parameter_to_self() { |
1264 | mark::check!(rename_to_self); | 1266 | cov_mark::check!(rename_to_self); |
1265 | check( | 1267 | check( |
1266 | "self", | 1268 | "self", |
1267 | r#" | 1269 | r#" |
@@ -1401,7 +1403,7 @@ impl Foo { | |||
1401 | 1403 | ||
1402 | #[test] | 1404 | #[test] |
1403 | fn test_owned_self_to_parameter() { | 1405 | fn test_owned_self_to_parameter() { |
1404 | mark::check!(rename_self_to_param); | 1406 | cov_mark::check!(rename_self_to_param); |
1405 | check( | 1407 | check( |
1406 | "foo", | 1408 | "foo", |
1407 | r#" | 1409 | r#" |
@@ -1454,7 +1456,7 @@ impl Foo { | |||
1454 | 1456 | ||
1455 | #[test] | 1457 | #[test] |
1456 | fn test_rename_field_put_init_shorthand() { | 1458 | fn test_rename_field_put_init_shorthand() { |
1457 | mark::check!(test_rename_field_put_init_shorthand); | 1459 | cov_mark::check!(test_rename_field_put_init_shorthand); |
1458 | check( | 1460 | check( |
1459 | "bar", | 1461 | "bar", |
1460 | r#" | 1462 | r#" |
@@ -1476,7 +1478,7 @@ fn foo(bar: i32) -> Foo { | |||
1476 | 1478 | ||
1477 | #[test] | 1479 | #[test] |
1478 | fn test_rename_local_put_init_shorthand() { | 1480 | fn test_rename_local_put_init_shorthand() { |
1479 | mark::check!(test_rename_local_put_init_shorthand); | 1481 | cov_mark::check!(test_rename_local_put_init_shorthand); |
1480 | check( | 1482 | check( |
1481 | "i", | 1483 | "i", |
1482 | r#" | 1484 | r#" |
@@ -1498,7 +1500,7 @@ fn foo(i: i32) -> Foo { | |||
1498 | 1500 | ||
1499 | #[test] | 1501 | #[test] |
1500 | fn test_struct_field_pat_into_shorthand() { | 1502 | fn test_struct_field_pat_into_shorthand() { |
1501 | mark::check!(test_rename_field_put_init_shorthand_pat); | 1503 | cov_mark::check!(test_rename_field_put_init_shorthand_pat); |
1502 | check( | 1504 | check( |
1503 | "baz", | 1505 | "baz", |
1504 | r#" | 1506 | r#" |
@@ -1610,7 +1612,7 @@ fn foo(foo: Foo) { | |||
1610 | 1612 | ||
1611 | #[test] | 1613 | #[test] |
1612 | fn test_rename_lifetimes() { | 1614 | fn test_rename_lifetimes() { |
1613 | mark::check!(rename_lifetime); | 1615 | cov_mark::check!(rename_lifetime); |
1614 | check( | 1616 | check( |
1615 | "'yeeee", | 1617 | "'yeeee", |
1616 | r#" | 1618 | r#" |
@@ -1698,7 +1700,7 @@ fn foo<'a>() -> &'a () { | |||
1698 | 1700 | ||
1699 | #[test] | 1701 | #[test] |
1700 | fn test_self_to_self() { | 1702 | fn test_self_to_self() { |
1701 | mark::check!(rename_self_to_self); | 1703 | cov_mark::check!(rename_self_to_self); |
1702 | check( | 1704 | check( |
1703 | "self", | 1705 | "self", |
1704 | r#" | 1706 | r#" |
diff --git a/crates/ide/src/runnables.rs b/crates/ide/src/runnables.rs index 1e7baed20..280565563 100644 --- a/crates/ide/src/runnables.rs +++ b/crates/ide/src/runnables.rs | |||
@@ -9,7 +9,6 @@ use syntax::{ | |||
9 | ast::{self, AstNode, AttrsOwner}, | 9 | ast::{self, AstNode, AttrsOwner}, |
10 | match_ast, SyntaxNode, | 10 | match_ast, SyntaxNode, |
11 | }; | 11 | }; |
12 | use test_utils::mark; | ||
13 | 12 | ||
14 | use crate::{ | 13 | use crate::{ |
15 | display::{ToNav, TryToNav}, | 14 | display::{ToNav, TryToNav}, |
@@ -130,7 +129,9 @@ fn runnables_mod(sema: &Semantics<RootDatabase>, acc: &mut Vec<Runnable>, module | |||
130 | if let hir::ModuleDef::Module(submodule) = def { | 129 | if let hir::ModuleDef::Module(submodule) = def { |
131 | match submodule.definition_source(sema.db).value { | 130 | match submodule.definition_source(sema.db).value { |
132 | hir::ModuleSource::Module(_) => runnables_mod(sema, acc, submodule), | 131 | hir::ModuleSource::Module(_) => runnables_mod(sema, acc, submodule), |
133 | hir::ModuleSource::SourceFile(_) => mark::hit!(dont_recurse_in_outline_submodules), | 132 | hir::ModuleSource::SourceFile(_) => { |
133 | cov_mark::hit!(dont_recurse_in_outline_submodules) | ||
134 | } | ||
134 | hir::ModuleSource::BlockExpr(_) => {} // inner items aren't runnable | 135 | hir::ModuleSource::BlockExpr(_) => {} // inner items aren't runnable |
135 | } | 136 | } |
136 | } | 137 | } |
@@ -189,7 +190,7 @@ pub(crate) fn doc_owner_to_def( | |||
189 | ) -> Option<Definition> { | 190 | ) -> Option<Definition> { |
190 | let res: hir::ModuleDef = match_ast! { | 191 | let res: hir::ModuleDef = match_ast! { |
191 | match item { | 192 | match item { |
192 | ast::SourceFile(it) => sema.scope(&item).module()?.into(), | 193 | ast::SourceFile(_it) => sema.scope(&item).module()?.into(), |
193 | ast::Fn(it) => sema.to_def(&it)?.into(), | 194 | ast::Fn(it) => sema.to_def(&it)?.into(), |
194 | ast::Struct(it) => sema.to_def(&it)?.into(), | 195 | ast::Struct(it) => sema.to_def(&it)?.into(), |
195 | ast::Enum(it) => sema.to_def(&it)?.into(), | 196 | ast::Enum(it) => sema.to_def(&it)?.into(), |
@@ -328,7 +329,6 @@ fn has_test_function_or_multiple_test_submodules( | |||
328 | #[cfg(test)] | 329 | #[cfg(test)] |
329 | mod tests { | 330 | mod tests { |
330 | use expect_test::{expect, Expect}; | 331 | use expect_test::{expect, Expect}; |
331 | use test_utils::mark; | ||
332 | 332 | ||
333 | use crate::fixture; | 333 | use crate::fixture; |
334 | 334 | ||
@@ -1056,7 +1056,7 @@ mod tests { | |||
1056 | 1056 | ||
1057 | #[test] | 1057 | #[test] |
1058 | fn dont_recurse_in_outline_submodules() { | 1058 | fn dont_recurse_in_outline_submodules() { |
1059 | mark::check!(dont_recurse_in_outline_submodules); | 1059 | cov_mark::check!(dont_recurse_in_outline_submodules); |
1060 | check( | 1060 | check( |
1061 | r#" | 1061 | r#" |
1062 | //- /lib.rs | 1062 | //- /lib.rs |
diff --git a/crates/ide/src/syntax_highlighting/highlight.rs b/crates/ide/src/syntax_highlighting/highlight.rs index 24fcbb584..b0cfdd8b7 100644 --- a/crates/ide/src/syntax_highlighting/highlight.rs +++ b/crates/ide/src/syntax_highlighting/highlight.rs | |||
@@ -330,10 +330,11 @@ fn highlight_def(db: &RootDatabase, def: Definition) -> Highlight { | |||
330 | HlTag::Symbol(SymbolKind::Local) | 330 | HlTag::Symbol(SymbolKind::Local) |
331 | }; | 331 | }; |
332 | let mut h = Highlight::new(tag); | 332 | let mut h = Highlight::new(tag); |
333 | if local.is_mut(db) || local.ty(db).is_mutable_reference() { | 333 | let ty = local.ty(db); |
334 | if local.is_mut(db) || ty.is_mutable_reference() { | ||
334 | h |= HlMod::Mutable; | 335 | h |= HlMod::Mutable; |
335 | } | 336 | } |
336 | if local.ty(db).as_callable(db).is_some() || local.ty(db).impls_fnonce(db) { | 337 | if ty.as_callable(db).is_some() || ty.impls_fnonce(db) { |
337 | h |= HlMod::Callable; | 338 | h |= HlMod::Callable; |
338 | } | 339 | } |
339 | return h; | 340 | return h; |
diff --git a/crates/ide/src/typing/on_enter.rs b/crates/ide/src/typing/on_enter.rs index 63cd51b69..978c479de 100644 --- a/crates/ide/src/typing/on_enter.rs +++ b/crates/ide/src/typing/on_enter.rs | |||
@@ -9,7 +9,7 @@ use syntax::{ | |||
9 | SyntaxKind::*, | 9 | SyntaxKind::*, |
10 | SyntaxToken, TextRange, TextSize, TokenAtOffset, | 10 | SyntaxToken, TextRange, TextSize, TokenAtOffset, |
11 | }; | 11 | }; |
12 | use test_utils::mark; | 12 | |
13 | use text_edit::TextEdit; | 13 | use text_edit::TextEdit; |
14 | 14 | ||
15 | // Feature: On Enter | 15 | // Feature: On Enter |
@@ -55,7 +55,7 @@ pub(crate) fn on_enter(db: &RootDatabase, position: FilePosition) -> Option<Text | |||
55 | // Continuing single-line non-doc comments (like this one :) ) is annoying | 55 | // Continuing single-line non-doc comments (like this one :) ) is annoying |
56 | if prefix == "//" && comment_range.end() == position.offset { | 56 | if prefix == "//" && comment_range.end() == position.offset { |
57 | if comment.text().ends_with(' ') { | 57 | if comment.text().ends_with(' ') { |
58 | mark::hit!(continues_end_of_line_comment_with_space); | 58 | cov_mark::hit!(continues_end_of_line_comment_with_space); |
59 | remove_trailing_whitespace = true; | 59 | remove_trailing_whitespace = true; |
60 | } else if !followed_by_comment(&comment) { | 60 | } else if !followed_by_comment(&comment) { |
61 | return None; | 61 | return None; |
@@ -109,7 +109,7 @@ fn node_indent(file: &SourceFile, token: &SyntaxToken) -> Option<SmolStr> { | |||
109 | #[cfg(test)] | 109 | #[cfg(test)] |
110 | mod tests { | 110 | mod tests { |
111 | use stdx::trim_indent; | 111 | use stdx::trim_indent; |
112 | use test_utils::{assert_eq_text, mark}; | 112 | use test_utils::assert_eq_text; |
113 | 113 | ||
114 | use crate::fixture; | 114 | use crate::fixture; |
115 | 115 | ||
@@ -238,7 +238,7 @@ fn main() { | |||
238 | 238 | ||
239 | #[test] | 239 | #[test] |
240 | fn continues_end_of_line_comment_with_space() { | 240 | fn continues_end_of_line_comment_with_space() { |
241 | mark::check!(continues_end_of_line_comment_with_space); | 241 | cov_mark::check!(continues_end_of_line_comment_with_space); |
242 | do_check( | 242 | do_check( |
243 | r#" | 243 | r#" |
244 | fn main() { | 244 | fn main() { |