aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorFlorian Diebold <[email protected]>2021-05-25 14:23:52 +0100
committerFlorian Diebold <[email protected]>2021-05-25 14:23:52 +0100
commit7c6f764ad6d7c6fc964be9fd2e96da717e2b2cc1 (patch)
tree606ef3018bea9b0d891467bdad24e55e79ae56c7 /crates
parent35c948ff4a36b9c031bda96f79b8bf9e0d5bda26 (diff)
Hide `-> ()` in Fn traits
Diffstat (limited to 'crates')
-rw-r--r--crates/hir_ty/src/display.rs6
-rw-r--r--crates/hir_ty/src/tests/traits.rs6
2 files changed, 7 insertions, 5 deletions
diff --git a/crates/hir_ty/src/display.rs b/crates/hir_ty/src/display.rs
index 637bbc634..44f843bf3 100644
--- a/crates/hir_ty/src/display.rs
+++ b/crates/hir_ty/src/display.rs
@@ -778,8 +778,10 @@ fn write_bounds_like_dyn_trait(
778 } 778 }
779 WhereClause::AliasEq(alias_eq) if is_fn_trait => { 779 WhereClause::AliasEq(alias_eq) if is_fn_trait => {
780 is_fn_trait = false; 780 is_fn_trait = false;
781 write!(f, " -> ")?; 781 if !alias_eq.ty.is_unit() {
782 alias_eq.ty.hir_fmt(f)?; 782 write!(f, " -> ")?;
783 alias_eq.ty.hir_fmt(f)?;
784 }
783 } 785 }
784 WhereClause::AliasEq(AliasEq { ty, alias }) => { 786 WhereClause::AliasEq(AliasEq { ty, alias }) => {
785 // in types in actual Rust, these will always come 787 // in types in actual Rust, these will always come
diff --git a/crates/hir_ty/src/tests/traits.rs b/crates/hir_ty/src/tests/traits.rs
index 714f12937..eea98fd4f 100644
--- a/crates/hir_ty/src/tests/traits.rs
+++ b/crates/hir_ty/src/tests/traits.rs
@@ -3095,16 +3095,16 @@ fn foo() {
3095 478..576 '{ ...&s); }': () 3095 478..576 '{ ...&s); }': ()
3096 488..489 's': Option<i32> 3096 488..489 's': Option<i32>
3097 492..504 'Option::None': Option<i32> 3097 492..504 'Option::None': Option<i32>
3098 514..515 'f': Box<dyn FnOnce(&Option<i32>) -> ()> 3098 514..515 'f': Box<dyn FnOnce(&Option<i32>)>
3099 549..562 'box (|ps| {})': Box<|{unknown}| -> ()> 3099 549..562 'box (|ps| {})': Box<|{unknown}| -> ()>
3100 554..561 '|ps| {}': |{unknown}| -> () 3100 554..561 '|ps| {}': |{unknown}| -> ()
3101 555..557 'ps': {unknown} 3101 555..557 'ps': {unknown}
3102 559..561 '{}': () 3102 559..561 '{}': ()
3103 568..569 'f': Box<dyn FnOnce(&Option<i32>) -> ()> 3103 568..569 'f': Box<dyn FnOnce(&Option<i32>)>
3104 568..573 'f(&s)': () 3104 568..573 'f(&s)': ()
3105 570..572 '&s': &Option<i32> 3105 570..572 '&s': &Option<i32>
3106 571..572 's': Option<i32> 3106 571..572 's': Option<i32>
3107 549..562: expected Box<dyn FnOnce(&Option<i32>) -> ()>, got Box<|{unknown}| -> ()> 3107 549..562: expected Box<dyn FnOnce(&Option<i32>)>, got Box<|{unknown}| -> ()>
3108 "#]], 3108 "#]],
3109 ); 3109 );
3110} 3110}