Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/ide-db/src/defs.rs')
-rw-r--r--crates/ide-db/src/defs.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/ide-db/src/defs.rs b/crates/ide-db/src/defs.rs
index 783fbd93f1..bf4f541ff5 100644
--- a/crates/ide-db/src/defs.rs
+++ b/crates/ide-db/src/defs.rs
@@ -839,6 +839,14 @@ impl NameRefClass {
ast::AsmRegSpec(_) => {
Some(NameRefClass::Definition(Definition::InlineAsmRegOrRegClass(()), None))
},
+ ast::OffsetOfExpr(_) => {
+ let (def, subst) = sema.resolve_offset_of_field(name_ref)?;
+ let def = match def {
+ Either::Left(variant) => Definition::Variant(variant),
+ Either::Right(field) => Definition::Field(field),
+ };
+ Some(NameRefClass::Definition(def, Some(subst)))
+ },
_ => None
}
}