Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/display.rs')
-rw-r--r--crates/hir/src/display.rs32
1 files changed, 10 insertions, 22 deletions
diff --git a/crates/hir/src/display.rs b/crates/hir/src/display.rs
index 2960ebedf3..833a9ef030 100644
--- a/crates/hir/src/display.rs
+++ b/crates/hir/src/display.rs
@@ -23,8 +23,8 @@ use itertools::Itertools;
use crate::{
Adt, AsAssocItem, AssocItem, AssocItemContainer, Const, ConstParam, Crate, Enum,
ExternCrateDecl, Field, Function, GenericParam, HasCrate, HasVisibility, Impl, LifetimeParam,
- Macro, Module, SelfParam, Static, Struct, StructKind, Trait, TraitAlias, TraitRef, TupleField,
- TyBuilder, Type, TypeAlias, TypeOrConstParam, TypeParam, Union, Variant,
+ Macro, Module, SelfParam, Static, Struct, StructKind, Trait, TraitRef, TupleField, TyBuilder,
+ Type, TypeAlias, TypeOrConstParam, TypeParam, Union, Variant,
};
impl HirDisplay for Function {
@@ -474,8 +474,8 @@ impl HirDisplay for TypeParam {
let param_data = &params[self.id.local_id()];
let substs = TyBuilder::placeholder_subst(f.db, self.id.parent());
let krate = self.id.parent().krate(f.db).id;
- let ty =
- TyKind::Placeholder(hir_ty::to_placeholder_idx(f.db, self.id.into())).intern(Interner);
+ let ty = TyKind::Placeholder(hir_ty::to_placeholder_idx_no_index(f.db, self.id.into()))
+ .intern(Interner);
let predicates = f.db.generic_predicates(self.id.parent());
let predicates = predicates
.iter()
@@ -528,8 +528,11 @@ impl HirDisplay for TypeParam {
f,
":",
Either::Left(
- &hir_ty::TyKind::Placeholder(hir_ty::to_placeholder_idx(f.db, self.id.into()))
- .intern(Interner),
+ &hir_ty::TyKind::Placeholder(hir_ty::to_placeholder_idx_no_index(
+ f.db,
+ self.id.into(),
+ ))
+ .intern(Interner),
),
&predicates,
default_sized,
@@ -751,6 +754,7 @@ impl HirDisplay for TraitRef<'_> {
impl HirDisplay for Trait {
fn hir_fmt(&self, f: &mut HirFormatter<'_>) -> Result<(), HirDisplayError> {
+ // FIXME(trait-alias) needs special handling to print the equal sign
write_trait_header(self, f)?;
let def_id = GenericDefId::TraitId(self.id);
let has_where_clause = write_where_clause(def_id, f)?;
@@ -802,22 +806,6 @@ fn write_trait_header(trait_: &Trait, f: &mut HirFormatter<'_>) -> Result<(), Hi
Ok(())
}
-impl HirDisplay for TraitAlias {
- fn hir_fmt(&self, f: &mut HirFormatter<'_>) -> Result<(), HirDisplayError> {
- write_visibility(self.module(f.db).id, self.visibility(f.db), f)?;
- let data = f.db.trait_alias_signature(self.id);
- write!(f, "trait {}", data.name.display(f.db, f.edition()))?;
- let def_id = GenericDefId::TraitAliasId(self.id);
- write_generic_params(def_id, f)?;
- f.write_str(" = ")?;
- // FIXME: Currently we lower every bounds in a trait alias as a trait bound on `Self` i.e.
- // `trait Foo = Bar` is stored and displayed as `trait Foo = where Self: Bar`, which might
- // be less readable.
- write_where_clause(def_id, f)?;
- Ok(())
- }
-}
-
impl HirDisplay for TypeAlias {
fn hir_fmt(&self, f: &mut HirFormatter<'_>) -> Result<(), HirDisplayError> {
write_visibility(self.module(f.db).id, self.visibility(f.db), f)?;