Suggest importable type that differs slightly#156239
Open
GTimothy wants to merge 5 commits into
Open
Conversation
36cee45 to
a23f444
Compare
Contributor
Author
|
I see from the 247 failed tests that 1-edit difference is too big for small names. 'net' should probably NOT be suggested to replace 'new'... Edit: i have now switched to case insensitive match only. |
This comment has been minimized.
This comment has been minimized.
7719f50 to
158417a
Compare
Co-authored-by: Chris Simpkins <git.simpkins@gmail.com>
adds a is_exact_match field to ImportSuggestion use is_exact_match field to customize help message suggest imports with different casing -only suggest modules if the following segment matches too
158417a to
fdc8fcc
Compare
When a pattern has `..` and a matching binding, suggest replacing `..` with `binding, ..`
fdc8fcc to
2893b67
Compare
Collaborator
|
r? @TaKO8Ki rustbot has assigned @TaKO8Ki. Use Why was this reviewer chosen?The reviewer was selected based on:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR proposes case insensitive import suggestions.
Previous discussion of this topic here: #72641 and in this PR: #72988
If that is still of interest, a discussion may be needed to limit or expand the included list.
I initially followed the suggestions in #72988.
The tests are based on the tests by @chrissimpkins in #72988.
I added a
is_exact_matchfield toImportSuggestionto eventually modify the suggestion text accordingly.Only when no other suggestion is made, do I check for case insensitive import suggestion.
for a more complex case:
SystemTimeexists in the stdlib, but I only suggest case insensitive import when nothing else is suggestedDuring this PR, I ended up adding two other things which could arguably be two separate PRs:
filtering out typos suggestions that do not have parameters when the typo has some
motivation: It suggested Clone (no parameter) for the std
cloned<(),()>test when I expectedCloned<(),()>to be suggested.when suggesting that a missing binding is available in a pattern but not used because behind a
.., suggest a MaybeIncorrect fix.motivation: this way, I can avoid looking for imports if there is a suggestion.
custom import message for case insensitive suggestion.
only suggest case insensitive when no other suggestion is made
check for enum variant match before suggesting an enum
check for enum variant parameter requirement before suggesting an enum
check with reviewers where to place the test, and whether to rename them
squash and split commits for a clean PR