From d00bc9c2fc211650bf3d16b0e77fc7dac20f34c5 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Fri, 21 May 2021 18:27:25 +0200 Subject: Don't lower extern block in the ItemTree --- crates/hir_def/src/nameres/tests/macros.rs | 36 ++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'crates/hir_def/src/nameres/tests') diff --git a/crates/hir_def/src/nameres/tests/macros.rs b/crates/hir_def/src/nameres/tests/macros.rs index 04de107f5..133b2d818 100644 --- a/crates/hir_def/src/nameres/tests/macros.rs +++ b/crates/hir_def/src/nameres/tests/macros.rs @@ -735,6 +735,42 @@ fn unresolved_attributes_fall_back_track_per_file_moditems() { ); } +#[test] +fn unresolved_attrs_extern_block_hang() { + check( + r#" +#[unresolved] +extern "C" { + #[unresolved] + fn f(); +} + "#, + expect![[r#" + crate + f: v + "#]], + ); +} + +#[test] +fn macros_in_extern_block() { + check( + r#" +macro_rules! m { + () => { static S: u8; }; +} + +extern { + m!(); +} + "#, + expect![[r#" + crate + S: v + "#]], + ); +} + #[test] fn resolves_derive_helper() { cov_mark::check!(resolved_derive_helper); -- cgit v1.2.3