fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> {
write_visibility(self.parent.module(f.db).id, self.visibility(f.db), f)?;
write!(f, "{}: ", self.name(f.db))?;
- self.signature_ty(f.db).hir_fmt(f)
+ self.ty(f.db).hir_fmt(f)
}
}
/// placeholder types for type parameters). This is good for showing
/// signature help, but not so good to actually get the type of the field
/// when you actually have a variable of the struct.
- pub fn signature_ty(&self, db: &dyn HirDatabase) -> Type {
+ pub fn ty(&self, db: &dyn HirDatabase) -> Type {
let var_id = self.parent.into();
let generic_def_id: GenericDefId = match self.parent {
VariantDef::Struct(it) => it.id.into(),
let enum_type = enum_.ty(sema.db);
- let wrapped_type = variant.fields(sema.db).get(0)?.signature_ty(sema.db);
+ let wrapped_type = variant.fields(sema.db).get(0)?.ty(sema.db);
if enum_type.impls_trait(sema.db, from_trait, &[wrapped_type]) {
Some(())
.and_then(|node| ast::RecordExprField::cast(node))
.and_then(|rf| self.sema.resolve_record_field(&rf).zip(Some(rf)))
.map(|(f, rf)|(
- Some(f.0.signature_ty(self.db)),
+ Some(f.0.ty(self.db)),
rf.field_name().map(NameOrNameRef::NameRef),
))
.unwrap_or((None, None))
self.sema
.resolve_record_field(&it)
.map(|f|(
- Some(f.0.signature_ty(self.db)),
+ Some(f.0.ty(self.db)),
it.field_name().map(NameOrNameRef::NameRef),
))
.unwrap_or((None, None))
.variant
.fields(self.ctx.db())
.into_iter()
- .map(|field| (field.name(self.ctx.db()), field.signature_ty(self.ctx.db())));
+ .map(|field| (field.name(self.ctx.db()), field.ty(self.ctx.db())));
match self.variant_kind {
StructKind::Tuple | StructKind::Unit => format!(