File tree 2 files changed +38
-3
lines changed
2 files changed +38
-3
lines changed Original file line number Diff line number Diff line change @@ -413,6 +413,13 @@ pub(super) fn definition(
413
413
Definition :: Adt ( adt) => {
414
414
adt. display_limited ( db, config. max_adt_fields_or_variants_count ) . to_string ( )
415
415
}
416
+ Definition :: SelfType ( impl_def) => {
417
+ let self_ty = & impl_def. self_ty ( db) ;
418
+ match self_ty. as_adt ( ) {
419
+ Some ( adt) => adt. display_limited ( db, config. max_adt_fields_or_variants_count ) . to_string ( ) ,
420
+ None => self_ty. display ( db) . to_string ( ) ,
421
+ }
422
+ } ,
416
423
_ => def. label ( db) ,
417
424
} ;
418
425
let docs = def. docs ( db, famous_defs) ;
Original file line number Diff line number Diff line change @@ -1623,6 +1623,28 @@ impl Thing {
1623
1623
test
1624
1624
```
1625
1625
1626
+ ```rust
1627
+ struct Thing {
1628
+ x: u32,
1629
+ }
1630
+ ```
1631
+ "# ] ] ,
1632
+ ) ;
1633
+ check_hover_adt_fields_or_variants_limit (
1634
+ None ,
1635
+ r#"
1636
+ struct Thing { x: u32 }
1637
+ impl Thing {
1638
+ fn new() -> Self { Self$0 { x: 0 } }
1639
+ }
1640
+ "# ,
1641
+ expect ! [ [ r#"
1642
+ *Self*
1643
+
1644
+ ```rust
1645
+ test
1646
+ ```
1647
+
1626
1648
```rust
1627
1649
struct Thing
1628
1650
```
@@ -1643,7 +1665,9 @@ impl Thing {
1643
1665
```
1644
1666
1645
1667
```rust
1646
- struct Thing
1668
+ struct Thing {
1669
+ x: u32,
1670
+ }
1647
1671
```
1648
1672
"# ] ] ,
1649
1673
) ;
@@ -1662,7 +1686,9 @@ impl Thing {
1662
1686
```
1663
1687
1664
1688
```rust
1665
- enum Thing
1689
+ enum Thing {
1690
+ A,
1691
+ }
1666
1692
```
1667
1693
"# ] ] ,
1668
1694
) ;
@@ -1681,7 +1707,9 @@ impl Thing {
1681
1707
```
1682
1708
1683
1709
```rust
1684
- enum Thing
1710
+ enum Thing {
1711
+ A,
1712
+ }
1685
1713
```
1686
1714
"# ] ] ,
1687
1715
) ;
You can’t perform that action at this time.
0 commit comments