aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--crates/hir_ty/src/display.rs1
-rw-r--r--crates/ide/src/hover.rs19
2 files changed, 20 insertions, 0 deletions
diff --git a/crates/hir_ty/src/display.rs b/crates/hir_ty/src/display.rs
index 19770e609..64b68014d 100644
--- a/crates/hir_ty/src/display.rs
+++ b/crates/hir_ty/src/display.rs
@@ -511,6 +511,7 @@ fn write_bounds_like_dyn_trait(
511 GenericPredicate::Implemented(trait_ref) => { 511 GenericPredicate::Implemented(trait_ref) => {
512 if angle_open { 512 if angle_open {
513 write!(f, ">")?; 513 write!(f, ">")?;
514 angle_open = false;
514 } 515 }
515 if !first { 516 if !first {
516 write!(f, " + ")?; 517 write!(f, " + ")?;
diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs
index 331aa4db0..300c00edc 100644
--- a/crates/ide/src/hover.rs
+++ b/crates/ide/src/hover.rs
@@ -767,6 +767,25 @@ fn main() {
767 } 767 }
768 768
769 #[test] 769 #[test]
770 fn hover_for_param_with_multiple_traits() {
771 check(
772 r#"trait Deref {
773 type Target: ?Sized;
774 }
775 trait DerefMut {
776 type Target: ?Sized;
777 }
778 fn f(_x<|>: impl Deref<Target=u8> + DerefMut<Target=u8>) {}"#,
779 expect![[r#"
780 *_x*
781 ```rust
782 impl Deref<Target = u8> + DerefMut<Target = u8>
783 ```
784 "#]],
785 )
786 }
787
788 #[test]
770 fn test_hover_infer_associated_method_result() { 789 fn test_hover_infer_associated_method_result() {
771 check( 790 check(
772 r#" 791 r#"