aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/ty.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/ty.rs')
-rw-r--r--crates/ra_hir/src/ty.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/crates/ra_hir/src/ty.rs b/crates/ra_hir/src/ty.rs
index 9b7182485..c602450e1 100644
--- a/crates/ra_hir/src/ty.rs
+++ b/crates/ra_hir/src/ty.rs
@@ -688,9 +688,13 @@ pub(super) fn type_for_field(db: &impl HirDatabase, def_id: DefId, field: Name)
688 Def::Struct(s) => (s.variant_data(db), s.generic_params(db)), 688 Def::Struct(s) => (s.variant_data(db), s.generic_params(db)),
689 Def::EnumVariant(ev) => (ev.variant_data(db), ev.parent_enum(db).generic_params(db)), 689 Def::EnumVariant(ev) => (ev.variant_data(db), ev.parent_enum(db).generic_params(db)),
690 // TODO: unions 690 // TODO: unions
691 Def::Enum(_) => {
692 // this can happen in (invalid) code, but enums don't have fields themselves
693 return None;
694 }
691 _ => panic!( 695 _ => panic!(
692 "trying to get type for field in non-struct/variant {:?}", 696 "trying to get type for field {:?} in non-struct/variant {:?}",
693 def_id 697 field, def_id
694 ), 698 ),
695 }; 699 };
696 let module = def_id.module(db); 700 let module = def_id.module(db);