Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir_ty/src/display.rs')
-rw-r--r--crates/hir_ty/src/display.rs80
1 files changed, 39 insertions, 41 deletions
diff --git a/crates/hir_ty/src/display.rs b/crates/hir_ty/src/display.rs
index c09f8db86e..cd898a45d2 100644
--- a/crates/hir_ty/src/display.rs
+++ b/crates/hir_ty/src/display.rs
@@ -274,11 +274,11 @@ impl HirDisplay for ProjectionTy {
let trait_ = f.db.trait_data(self.trait_(f.db));
write!(f, "<")?;
- self.self_type_parameter(&Interner).hir_fmt(f)?;
+ self.self_type_parameter(Interner).hir_fmt(f)?;
write!(f, " as {}", trait_.name)?;
- if self.substitution.len(&Interner) > 1 {
+ if self.substitution.len(Interner) > 1 {
write!(f, "<")?;
- f.write_joined(&self.substitution.as_slice(&Interner)[1..], ", ")?;
+ f.write_joined(&self.substitution.as_slice(Interner)[1..], ", ")?;
write!(f, ">")?;
}
write!(f, ">::{}", f.db.type_alias_data(from_assoc_type_id(self.associated_ty_id)).name)?;
@@ -292,7 +292,7 @@ impl HirDisplay for OpaqueTy {
return write!(f, "{}", TYPE_HINT_TRUNCATION);
}
- self.substitution.at(&Interner, 0).hir_fmt(f)
+ self.substitution.at(Interner, 0).hir_fmt(f)
}
}
@@ -335,7 +335,7 @@ impl HirDisplay for Ty {
return write!(f, "{}", TYPE_HINT_TRUNCATION);
}
- match self.kind(&Interner) {
+ match self.kind(Interner) {
TyKind::Never => write!(f, "!")?,
TyKind::Str => write!(f, "str")?,
TyKind::Scalar(Scalar::Bool) => write!(f, "bool")?,
@@ -356,7 +356,7 @@ impl HirDisplay for Ty {
write!(f, "]")?;
}
TyKind::Raw(m, t) | TyKind::Ref(m, _, t) => {
- if matches!(self.kind(&Interner), TyKind::Raw(..)) {
+ if matches!(self.kind(Interner), TyKind::Raw(..)) {
write!(
f,
"*{}",
@@ -387,7 +387,7 @@ impl HirDisplay for Ty {
}
})
};
- let (preds_to_print, has_impl_fn_pred) = match t.kind(&Interner) {
+ let (preds_to_print, has_impl_fn_pred) = match t.kind(Interner) {
TyKind::Dyn(dyn_ty) if dyn_ty.bounds.skip_binders().interned().len() > 1 => {
let bounds = dyn_ty.bounds.skip_binders().interned();
(bounds.len(), contains_impl_fn(bounds))
@@ -406,7 +406,7 @@ impl HirDisplay for Ty {
let data = (*datas)
.as_ref()
.map(|rpit| rpit.impl_traits[idx as usize].bounds.clone());
- let bounds = data.substitute(&Interner, parameters);
+ let bounds = data.substitute(Interner, parameters);
let mut len = bounds.skip_binders().len();
// Don't count Sized but count when it absent
@@ -456,13 +456,13 @@ impl HirDisplay for Ty {
}
}
TyKind::Tuple(_, substs) => {
- if substs.len(&Interner) == 1 {
+ if substs.len(Interner) == 1 {
write!(f, "(")?;
- substs.at(&Interner, 0).hir_fmt(f)?;
+ substs.at(Interner, 0).hir_fmt(f)?;
write!(f, ",)")?;
} else {
write!(f, "(")?;
- f.write_joined(&*substs.as_slice(&Interner), ", ")?;
+ f.write_joined(&*substs.as_slice(Interner), ", ")?;
write!(f, ")")?;
}
}
@@ -472,7 +472,7 @@ impl HirDisplay for Ty {
}
TyKind::FnDef(def, parameters) => {
let def = from_chalk(f.db, *def);
- let sig = f.db.callable_item_signature(def).substitute(&Interner, parameters);
+ let sig = f.db.callable_item_signature(def).substitute(Interner, parameters);
match def {
CallableDefId::FunctionId(ff) => {
write!(f, "fn {}", f.db.function_data(ff).name)?
@@ -482,7 +482,7 @@ impl HirDisplay for Ty {
write!(f, "{}", f.db.enum_data(e.parent).variants[e.local_id].name)?
}
};
- if parameters.len(&Interner) > 0 {
+ if parameters.len(Interner) > 0 {
let generics = generics(f.db.upcast(), def.into());
let (parent_params, self_param, type_params, _impl_trait_params) =
generics.provenance_split();
@@ -490,7 +490,7 @@ impl HirDisplay for Ty {
// We print all params except implicit impl Trait params. Still a bit weird; should we leave out parent and self?
if total_len > 0 {
write!(f, "<")?;
- f.write_joined(&parameters.as_slice(&Interner)[..total_len], ", ")?;
+ f.write_joined(&parameters.as_slice(Interner)[..total_len], ", ")?;
write!(f, ">")?;
}
}
@@ -528,7 +528,7 @@ impl HirDisplay for Ty {
}
}
- if parameters.len(&Interner) > 0 {
+ if parameters.len(Interner) > 0 {
let parameters_to_write = if f.display_target.is_source_code()
|| f.omit_verbose_types()
{
@@ -537,35 +537,33 @@ impl HirDisplay for Ty {
.map(|generic_def_id| f.db.generic_defaults(generic_def_id))
.filter(|defaults| !defaults.is_empty())
{
- None => parameters.as_slice(&Interner),
+ None => parameters.as_slice(Interner),
Some(default_parameters) => {
let mut default_from = 0;
- for (i, parameter) in parameters.iter(&Interner).enumerate() {
+ for (i, parameter) in parameters.iter(Interner).enumerate() {
match (
- parameter.assert_ty_ref(&Interner).kind(&Interner),
+ parameter.assert_ty_ref(Interner).kind(Interner),
default_parameters.get(i),
) {
(&TyKind::Error, _) | (_, None) => {
default_from = i + 1;
}
(_, Some(default_parameter)) => {
- let actual_default =
- default_parameter.clone().substitute(
- &Interner,
- &subst_prefix(parameters, i),
- );
- if parameter.assert_ty_ref(&Interner) != &actual_default
+ let actual_default = default_parameter
+ .clone()
+ .substitute(Interner, &subst_prefix(parameters, i));
+ if parameter.assert_ty_ref(Interner) != &actual_default
{
default_from = i + 1;
}
}
}
}
- &parameters.as_slice(&Interner)[0..default_from]
+ &parameters.as_slice(Interner)[0..default_from]
}
}
} else {
- parameters.as_slice(&Interner)
+ parameters.as_slice(Interner)
};
if !parameters_to_write.is_empty() {
write!(f, "<")?;
@@ -586,9 +584,9 @@ impl HirDisplay for Ty {
// Use placeholder associated types when the target is test (https://rust-lang.github.io/chalk/book/clauses/type_equality.html#placeholder-associated-types)
if f.display_target.is_test() {
write!(f, "{}::{}", trait_.name, type_alias_data.name)?;
- if parameters.len(&Interner) > 0 {
+ if parameters.len(Interner) > 0 {
write!(f, "<")?;
- f.write_joined(&*parameters.as_slice(&Interner), ", ")?;
+ f.write_joined(&*parameters.as_slice(Interner), ", ")?;
write!(f, ">")?;
}
} else {
@@ -613,7 +611,7 @@ impl HirDisplay for Ty {
let data = (*datas)
.as_ref()
.map(|rpit| rpit.impl_traits[idx as usize].bounds.clone());
- let bounds = data.substitute(&Interner, &parameters);
+ let bounds = data.substitute(Interner, &parameters);
let krate = func.lookup(f.db.upcast()).module(f.db.upcast()).krate();
write_bounds_like_dyn_trait_with_prefix(
"impl",
@@ -625,7 +623,7 @@ impl HirDisplay for Ty {
}
ImplTraitId::AsyncBlockTypeImplTrait(..) => {
write!(f, "impl Future<Output = ")?;
- parameters.at(&Interner, 0).hir_fmt(f)?;
+ parameters.at(Interner, 0).hir_fmt(f)?;
write!(f, ">")?;
}
}
@@ -636,7 +634,7 @@ impl HirDisplay for Ty {
DisplaySourceCodeError::Closure,
));
}
- let sig = substs.at(&Interner, 0).assert_ty_ref(&Interner).callable_sig(f.db);
+ let sig = substs.at(Interner, 0).assert_ty_ref(Interner).callable_sig(f.db);
if let Some(sig) = sig {
if sig.params().is_empty() {
write!(f, "||")?;
@@ -667,15 +665,15 @@ impl HirDisplay for Ty {
let bounds =
f.db.generic_predicates(id.parent)
.iter()
- .map(|pred| pred.clone().substitute(&Interner, &substs))
+ .map(|pred| pred.clone().substitute(Interner, &substs))
.filter(|wc| match &wc.skip_binders() {
WhereClause::Implemented(tr) => {
- &tr.self_type_parameter(&Interner) == self
+ &tr.self_type_parameter(Interner) == self
}
WhereClause::AliasEq(AliasEq {
alias: AliasTy::Projection(proj),
ty: _,
- }) => &proj.self_type_parameter(&Interner) == self,
+ }) => &proj.self_type_parameter(Interner) == self,
_ => false,
})
.collect::<Vec<_>>();
@@ -708,7 +706,7 @@ impl HirDisplay for Ty {
let data = (*datas)
.as_ref()
.map(|rpit| rpit.impl_traits[idx as usize].bounds.clone());
- let bounds = data.substitute(&Interner, &opaque_ty.substitution);
+ let bounds = data.substitute(Interner, &opaque_ty.substitution);
let krate = func.lookup(f.db.upcast()).module(f.db.upcast()).krate();
write_bounds_like_dyn_trait_with_prefix(
"impl",
@@ -841,13 +839,13 @@ fn write_bounds_like_dyn_trait(
// existential) here, which is the only thing that's
// possible in actual Rust, and hence don't print it
write!(f, "{}", f.db.trait_data(trait_).name)?;
- if let [_, params @ ..] = &*trait_ref.substitution.as_slice(&Interner) {
+ if let [_, params @ ..] = &*trait_ref.substitution.as_slice(Interner) {
if is_fn_trait {
if let Some(args) =
- params.first().and_then(|it| it.assert_ty_ref(&Interner).as_tuple())
+ params.first().and_then(|it| it.assert_ty_ref(Interner).as_tuple())
{
write!(f, "(")?;
- f.write_joined(args.as_slice(&Interner), ", ")?;
+ f.write_joined(args.as_slice(Interner), ", ")?;
write!(f, ")")?;
}
} else if !params.is_empty() {
@@ -906,16 +904,16 @@ fn fmt_trait_ref(tr: &TraitRef, f: &mut HirFormatter, use_as: bool) -> Result<()
return write!(f, "{}", TYPE_HINT_TRUNCATION);
}
- tr.self_type_parameter(&Interner).hir_fmt(f)?;
+ tr.self_type_parameter(Interner).hir_fmt(f)?;
if use_as {
write!(f, " as ")?;
} else {
write!(f, ": ")?;
}
write!(f, "{}", f.db.trait_data(tr.hir_trait_id()).name)?;
- if tr.substitution.len(&Interner) > 1 {
+ if tr.substitution.len(Interner) > 1 {
write!(f, "<")?;
- f.write_joined(&tr.substitution.as_slice(&Interner)[1..], ", ")?;
+ f.write_joined(&tr.substitution.as_slice(Interner)[1..], ", ")?;
write!(f, ">")?;
}
Ok(())