Skip to content

Commit e5b17b6

Browse files
bors[bot]bnjjj
andauthored
Merge #5752
5752: display correctly 'impl Trait<T> + Trait<T>' #4814 r=flodiebold a=bnjjj close #4814 Co-authored-by: Benjamin Coenen <[email protected]>
2 parents 3d6fd62 + 947a27b commit e5b17b6

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

crates/hir_ty/src/display.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -511,6 +511,7 @@ fn write_bounds_like_dyn_trait(
511511
GenericPredicate::Implemented(trait_ref) => {
512512
if angle_open {
513513
write!(f, ">")?;
514+
angle_open = false;
514515
}
515516
if !first {
516517
write!(f, " + ")?;

crates/ide/src/hover.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,25 @@ fn main() {
766766
)
767767
}
768768

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+
769788
#[test]
770789
fn test_hover_infer_associated_method_result() {
771790
check(

0 commit comments

Comments
 (0)