aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/body/scope.rs
diff options
context:
space:
mode:
authorJonas Schievink <[email protected]>2020-06-23 12:46:38 +0100
committerJonas Schievink <[email protected]>2020-06-24 15:53:54 +0100
commit689e147c9dc416027fd36e94673431533df545f9 (patch)
treefe8c4d6937134388bd23416706c08a4de046cf06 /crates/ra_hir_def/src/body/scope.rs
parent5a81427304114d2c6ada9e9258ffe31e715c25bc (diff)
Collect inner items in expression macros
Diffstat (limited to 'crates/ra_hir_def/src/body/scope.rs')
-rw-r--r--crates/ra_hir_def/src/body/scope.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/crates/ra_hir_def/src/body/scope.rs b/crates/ra_hir_def/src/body/scope.rs
index 0b74199d9..81397b063 100644
--- a/crates/ra_hir_def/src/body/scope.rs
+++ b/crates/ra_hir_def/src/body/scope.rs
@@ -317,6 +317,26 @@ fn foo() {
317 ); 317 );
318 } 318 }
319 319
320 #[test]
321 fn macro_inner_item() {
322 do_check(
323 r"
324 macro_rules! mac {
325 () => {{
326 fn inner() {}
327 inner();
328 }};
329 }
330
331 fn foo() {
332 mac!();
333 <|>
334 }
335 ",
336 &[],
337 );
338 }
339
320 fn do_check_local_name(ra_fixture: &str, expected_offset: u32) { 340 fn do_check_local_name(ra_fixture: &str, expected_offset: u32) {
321 let (db, position) = TestDB::with_position(ra_fixture); 341 let (db, position) = TestDB::with_position(ra_fixture);
322 let file_id = position.file_id; 342 let file_id = position.file_id;