diff options
author | Jonas Schievink <[email protected]> | 2020-08-24 21:02:55 +0100 |
---|---|---|
committer | Jonas Schievink <[email protected]> | 2020-08-24 21:02:55 +0100 |
commit | f3ac19e8cd8be78f1eb96893482edac038739bb1 (patch) | |
tree | 8a2cdf4db86466eca026b32a52822092248e95ba /crates/hir_def | |
parent | ed09bd3cc6a37d7d22038adf7ff815f0188a9949 (diff) |
Support extern types
Diffstat (limited to 'crates/hir_def')
-rw-r--r-- | crates/hir_def/src/item_tree/lower.rs | 4 | ||||
-rw-r--r-- | crates/hir_def/src/nameres/tests.rs | 2 |
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 } | |||
46 | enum E { V } | 46 | enum E { V } |
47 | 47 | ||
48 | extern { | 48 | extern { |
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 | "#]], |