Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide/src/goto_definition.rs')
-rw-r--r--crates/ide/src/goto_definition.rs32
1 files changed, 30 insertions, 2 deletions
diff --git a/crates/ide/src/goto_definition.rs b/crates/ide/src/goto_definition.rs
index 073e003618..4fed1f9158 100644
--- a/crates/ide/src/goto_definition.rs
+++ b/crates/ide/src/goto_definition.rs
@@ -241,9 +241,8 @@ mod tests {
fn goto_def_in_included_file() {
check(
r#"
+//- minicore:include
//- /main.rs
-#[rustc_builtin_macro]
-macro_rules! include {}
include!("a.rs");
@@ -264,6 +263,35 @@ fn foo() {
}
#[test]
+ fn goto_def_in_included_file_nested() {
+ check(
+ r#"
+//- minicore:include
+//- /main.rs
+
+macro_rules! passthrough {
+ ($($tt:tt)*) => { $($tt)* }
+}
+
+passthrough!(include!("a.rs"));
+
+fn main() {
+ foo();
+}
+
+//- /a.rs
+fn func_in_include() {
+ //^^^^^^^^^^^^^^^
+}
+
+fn foo() {
+ func_in_include$0();
+}
+"#,
+ );
+ }
+
+ #[test]
fn goto_def_if_items_same_name() {
check(
r#"