Do not show default types in closures

This commit is contained in:
Kirill Bulatov
2020-07-20 23:50:41 +03:00
parent 76c1fac9c3
commit 54cc3fee45
2 changed files with 21 additions and 3 deletions
+19 -3
View File
@@ -257,7 +257,12 @@ fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> {
write!(f, ")")?;
let ret = sig.ret();
if *ret != Ty::unit() {
write!(f, " -> {}", ret.display(f.db))?;
let ret_display = if f.omit_verbose_types() {
ret.display_truncated(f.db, f.max_size)
} else {
ret.display(f.db)
};
write!(f, " -> {}", ret_display)?;
}
}
TypeCtor::FnDef(def) => {
@@ -288,7 +293,12 @@ fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> {
write!(f, ")")?;
let ret = sig.ret();
if *ret != Ty::unit() {
write!(f, " -> {}", ret.display(f.db))?;
let ret_display = if f.omit_verbose_types() {
ret.display_truncated(f.db, f.max_size)
} else {
ret.display(f.db)
};
write!(f, " -> {}", ret_display)?;
}
}
TypeCtor::Adt(def_id) => {
@@ -397,7 +407,13 @@ fn hir_fmt(&self, f: &mut HirFormatter) -> Result<(), HirDisplayError> {
f.write_joined(sig.params(), ", ")?;
write!(f, "|")?;
};
write!(f, " -> {}", sig.ret().display(f.db))?;
let ret_display = if f.omit_verbose_types() {
sig.ret().display_truncated(f.db, f.max_size)
} else {
sig.ret().display(f.db)
};
write!(f, " -> {}", ret_display)?;
} else {
write!(f, "{{closure}}")?;
}
+2
View File
@@ -425,6 +425,8 @@ fn main() {
//^^ Test<i32>
let zz_ref = &zz;
//^^^^^^ &Test<i32>
let test = || zz;
//^^^^ || -> Test<i32>
}"#,
);
}