mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-09-27 12:29:21 +00:00
Don't use HirDisplayWrapper when displaying SourceCode
This commit is contained in:
parent
002e72a28d
commit
ffdb2da49d
1 changed files with 12 additions and 31 deletions
|
@ -256,13 +256,9 @@ impl HirDisplay for ProjectionTy {
|
||||||
}
|
}
|
||||||
|
|
||||||
let trait_ = f.db.trait_data(self.trait_(f.db));
|
let trait_ = f.db.trait_data(self.trait_(f.db));
|
||||||
let first_parameter = self.self_type_parameter(&Interner).into_displayable(
|
write!(f, "<")?;
|
||||||
f.db,
|
self.self_type_parameter(&Interner).hir_fmt(f)?;
|
||||||
f.max_size,
|
write!(f, " as {}", trait_.name)?;
|
||||||
f.omit_verbose_types,
|
|
||||||
f.display_target,
|
|
||||||
);
|
|
||||||
write!(f, "<{} as {}", first_parameter, trait_.name)?;
|
|
||||||
if self.substitution.len(&Interner) > 1 {
|
if self.substitution.len(&Interner) > 1 {
|
||||||
write!(f, "<")?;
|
write!(f, "<")?;
|
||||||
f.write_joined(&self.substitution.interned()[1..], ", ")?;
|
f.write_joined(&self.substitution.interned()[1..], ", ")?;
|
||||||
|
@ -341,9 +337,6 @@ impl HirDisplay for Ty {
|
||||||
write!(f, "]")?;
|
write!(f, "]")?;
|
||||||
}
|
}
|
||||||
TyKind::Raw(m, t) | TyKind::Ref(m, _, t) => {
|
TyKind::Raw(m, t) | TyKind::Ref(m, _, t) => {
|
||||||
let ty_display =
|
|
||||||
t.into_displayable(f.db, f.max_size, f.omit_verbose_types, f.display_target);
|
|
||||||
|
|
||||||
if matches!(self.kind(&Interner), TyKind::Raw(..)) {
|
if matches!(self.kind(&Interner), TyKind::Raw(..)) {
|
||||||
write!(
|
write!(
|
||||||
f,
|
f,
|
||||||
|
@ -398,16 +391,16 @@ impl HirDisplay for Ty {
|
||||||
if fn_traits(f.db.upcast(), trait_).any(|it| it == trait_)
|
if fn_traits(f.db.upcast(), trait_).any(|it| it == trait_)
|
||||||
&& predicates.len() <= 2
|
&& predicates.len() <= 2
|
||||||
{
|
{
|
||||||
return write!(f, "{}", ty_display);
|
return t.hir_fmt(f);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if predicates.len() > 1 {
|
if predicates.len() > 1 {
|
||||||
write!(f, "(")?;
|
write!(f, "(")?;
|
||||||
write!(f, "{}", ty_display)?;
|
t.hir_fmt(f)?;
|
||||||
write!(f, ")")?;
|
write!(f, ")")?;
|
||||||
} else {
|
} else {
|
||||||
write!(f, "{}", ty_display)?;
|
t.hir_fmt(f)?;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TyKind::Tuple(_, substs) => {
|
TyKind::Tuple(_, substs) => {
|
||||||
|
@ -454,14 +447,8 @@ impl HirDisplay for Ty {
|
||||||
write!(f, ")")?;
|
write!(f, ")")?;
|
||||||
let ret = sig.ret();
|
let ret = sig.ret();
|
||||||
if !ret.is_unit() {
|
if !ret.is_unit() {
|
||||||
let ret_display = ret.into_displayable(
|
write!(f, " -> ")?;
|
||||||
f.db,
|
ret.hir_fmt(f)?;
|
||||||
f.max_size,
|
|
||||||
f.omit_verbose_types,
|
|
||||||
f.display_target,
|
|
||||||
);
|
|
||||||
|
|
||||||
write!(f, " -> {}", ret_display)?;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
TyKind::Adt(AdtId(def_id), parameters) => {
|
TyKind::Adt(AdtId(def_id), parameters) => {
|
||||||
|
@ -603,13 +590,8 @@ impl HirDisplay for Ty {
|
||||||
write!(f, "|")?;
|
write!(f, "|")?;
|
||||||
};
|
};
|
||||||
|
|
||||||
let ret_display = sig.ret().into_displayable(
|
write!(f, " -> ")?;
|
||||||
f.db,
|
sig.ret().hir_fmt(f)?;
|
||||||
f.max_size,
|
|
||||||
f.omit_verbose_types,
|
|
||||||
f.display_target,
|
|
||||||
);
|
|
||||||
write!(f, " -> {}", ret_display)?;
|
|
||||||
} else {
|
} else {
|
||||||
write!(f, "{{closure}}")?;
|
write!(f, "{{closure}}")?;
|
||||||
}
|
}
|
||||||
|
@ -697,9 +679,8 @@ impl HirDisplay for CallableSig {
|
||||||
write!(f, ")")?;
|
write!(f, ")")?;
|
||||||
let ret = self.ret();
|
let ret = self.ret();
|
||||||
if !ret.is_unit() {
|
if !ret.is_unit() {
|
||||||
let ret_display =
|
write!(f, " -> ")?;
|
||||||
ret.into_displayable(f.db, f.max_size, f.omit_verbose_types, f.display_target);
|
ret.hir_fmt(f)?;
|
||||||
write!(f, " -> {}", ret_display)?;
|
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue