aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_def')
-rw-r--r--crates/ra_hir_def/src/adt.rs5
-rw-r--r--crates/ra_hir_def/src/lib.rs1
2 files changed, 6 insertions, 0 deletions
diff --git a/crates/ra_hir_def/src/adt.rs b/crates/ra_hir_def/src/adt.rs
index 71014826e..0091bfbc3 100644
--- a/crates/ra_hir_def/src/adt.rs
+++ b/crates/ra_hir_def/src/adt.rs
@@ -150,6 +150,11 @@ impl HasChildSource for VariantId {
150 src.map(|map| map[it.local_id].kind()) 150 src.map(|map| map[it.local_id].kind())
151 } 151 }
152 VariantId::StructId(it) => it.source(db).map(|it| it.kind()), 152 VariantId::StructId(it) => it.source(db).map(|it| it.kind()),
153 VariantId::UnionId(it) => it.source(db).map(|it| {
154 it.record_field_def_list()
155 .map(ast::StructKind::Record)
156 .unwrap_or(ast::StructKind::Unit)
157 }),
153 }; 158 };
154 let mut trace = Trace::new_for_map(); 159 let mut trace = Trace::new_for_map();
155 lower_struct(&mut trace, &src.value); 160 lower_struct(&mut trace, &src.value);
diff --git a/crates/ra_hir_def/src/lib.rs b/crates/ra_hir_def/src/lib.rs
index 5f11be114..a88a78b38 100644
--- a/crates/ra_hir_def/src/lib.rs
+++ b/crates/ra_hir_def/src/lib.rs
@@ -431,6 +431,7 @@ impl_froms!(
431pub enum VariantId { 431pub enum VariantId {
432 EnumVariantId(EnumVariantId), 432 EnumVariantId(EnumVariantId),
433 StructId(StructId), 433 StructId(StructId),
434 UnionId(UnionId),
434} 435}
435impl_froms!(VariantId: EnumVariantId, StructId); 436impl_froms!(VariantId: EnumVariantId, StructId);
436 437