aboutsummaryrefslogtreecommitdiff
path: root/crates/hir_def
diff options
context:
space:
mode:
authorJonas Schievink <[email protected]>2020-08-24 21:02:55 +0100
committerJonas Schievink <[email protected]>2020-08-24 21:02:55 +0100
commitf3ac19e8cd8be78f1eb96893482edac038739bb1 (patch)
tree8a2cdf4db86466eca026b32a52822092248e95ba /crates/hir_def
parented09bd3cc6a37d7d22038adf7ff815f0188a9949 (diff)
Support extern types
Diffstat (limited to 'crates/hir_def')
-rw-r--r--crates/hir_def/src/item_tree/lower.rs4
-rw-r--r--crates/hir_def/src/nameres/tests.rs2
2 files changed, 6 insertions, 0 deletions
diff --git a/crates/hir_def/src/item_tree/lower.rs b/crates/hir_def/src/item_tree/lower.rs
index 391ab5d39..6a503d785 100644
--- a/crates/hir_def/src/item_tree/lower.rs
+++ b/crates/hir_def/src/item_tree/lower.rs
@@ -557,6 +557,10 @@ impl Ctx {
557 let statik = self.lower_static(&ast)?; 557 let statik = self.lower_static(&ast)?;
558 statik.into() 558 statik.into()
559 } 559 }
560 ast::ExternItem::TypeAlias(ty) => {
561 let id = self.lower_type_alias(&ty)?;
562 id.into()
563 }
560 ast::ExternItem::MacroCall(_) => return None, 564 ast::ExternItem::MacroCall(_) => return None,
561 }; 565 };
562 self.add_attrs(id.into(), attrs); 566 self.add_attrs(id.into(), attrs);
diff --git a/crates/hir_def/src/nameres/tests.rs b/crates/hir_def/src/nameres/tests.rs
index 8aaf7a158..5ca30dac9 100644
--- a/crates/hir_def/src/nameres/tests.rs
+++ b/crates/hir_def/src/nameres/tests.rs
@@ -46,6 +46,7 @@ union U { to_be: bool, not_to_be: u8 }
46enum E { V } 46enum E { V }
47 47
48extern { 48extern {
49 type Ext;
49 static EXT: u8; 50 static EXT: u8;
50 fn ext(); 51 fn ext();
51} 52}
@@ -65,6 +66,7 @@ extern {
65 Baz: t v 66 Baz: t v
66 E: t 67 E: t
67 EXT: v 68 EXT: v
69 Ext: t
68 U: t 70 U: t
69 ext: v 71 ext: v
70 "#]], 72 "#]],