Skip to content

Commit

Permalink
Auto merge of #14948 - alibektas:14386, r=Veykril
Browse files Browse the repository at this point in the history
feature : assist delegate impl

This PR ( fixes #14386 ) introduces a new IDE assist that generates a trait impl for a struct that delegates a field. This is a draft because the current `ide_db::path_transform::PathTransform` produces some unwanted results when it deals with extern crates, an example of which I attach as a GIF.

GIFs :
1. A general case
![14386-functional](https://github.com/rust-lang/rust-analyzer/assets/20956650/22114959-caa6-45ec-a154-b4b2f458f6b1)

2. A case where `ide_db::path_transform::PathTransform` fails to correctly resolve a property ( take `Allocator` as an example ) to its full path, thus causing an error to occur. ( Not to even mention that resolving this causes another error `use of unstable library feature 'allocator_api'` to occur
![14386-erroneous](https://github.com/rust-lang/rust-analyzer/assets/20956650/922ca715-594e-4168-a579-7c5c006f93aa)
  • Loading branch information
bors committed Jun 22, 2023
2 parents 00221c5 + 4ed1197 commit f0e00ed
Show file tree
Hide file tree
Showing 3 changed files with 1,114 additions and 0 deletions.

0 comments on commit f0e00ed

Please sign in to comment.