diff options
author | Florian Diebold <[email protected]> | 2021-05-25 14:23:52 +0100 |
---|---|---|
committer | Florian Diebold <[email protected]> | 2021-05-25 14:23:52 +0100 |
commit | 7c6f764ad6d7c6fc964be9fd2e96da717e2b2cc1 (patch) | |
tree | 606ef3018bea9b0d891467bdad24e55e79ae56c7 /crates/hir_ty | |
parent | 35c948ff4a36b9c031bda96f79b8bf9e0d5bda26 (diff) |
Hide `-> ()` in Fn traits
Diffstat (limited to 'crates/hir_ty')
-rw-r--r-- | crates/hir_ty/src/display.rs | 6 | ||||
-rw-r--r-- | crates/hir_ty/src/tests/traits.rs | 6 |
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 | } |