aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| | | | |
| \ \ \ \
*-. \ \ \ \ Merge #7873 #7933bors[bot]2021-03-0918-380/+847
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7873: Consider unresolved qualifiers during flyimport r=matklad a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/7679 Takes unresolved qualifiers into account, providing better completions (or none, if the path is resolved or do not match). Does not handle cases when both path qualifier and some trait has to be imported: there are many extra issues with those (such as overlapping imports, for instance) that will require large diffs to address. Also does not do a fuzzy search on qualifier, that requires some adjustments in `import_map` for better queries and changes to the default replace range which also seems relatively big to include here. ![qualifier_completion](https://user-images.githubusercontent.com/2690773/110040808-0af8dc00-7d4c-11eb-83db-65af94e843bb.gif) 7933: Improve compilation speed r=matklad a=matklad bors r+ 🤖 Co-authored-by: Kirill Bulatov <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| | * | | | | Improve compilation speedAleksey Kladov2021-03-091-1/+1
| | | | | | |
| * | | | | | Better strip turbofishesKirill Bulatov2021-03-085-8/+52
| | | | | | |
| * | | | | | Add rustdocs and use better namesKirill Bulatov2021-03-083-40/+64
| | | | | | |
| * | | | | | Less lifetines: derive SemanticsScope in placeKirill Bulatov2021-03-087-50/+49
| | | | | | |
| * | | | | | Rebase leftoversKirill Bulatov2021-03-081-5/+2
| | | | | | |
| * | | | | | CleanupKirill Bulatov2021-03-081-6/+0
| | | | | | |
| * | | | | | Restrict fuzzy qualifiers for nowKirill Bulatov2021-03-083-47/+26
| | | | | | |
| * | | | | | Test for fuzzy unresolved path maatchKirill Bulatov2021-03-081-0/+22
| | | | | | |
| * | | | | | Enforce the located imports' orderKirill Bulatov2021-03-083-8/+7
| | | | | | |
| * | | | | | Fix the completion labels and testsKirill Bulatov2021-03-084-65/+116
| | | | | | |
| * | | | | | Work towards better import labelsKirill Bulatov2021-03-0813-239/+243
| | | | | | |
| * | | | | | Profile import_assets betterKirill Bulatov2021-03-081-0/+5
| | | | | | |
| * | | | | | Update the docsKirill Bulatov2021-03-081-0/+39
| | | | | | |
| * | | | | | SimplifyKirill Bulatov2021-03-082-38/+23
| | | | | | |
| * | | | | | Refactor the import locationKirill Bulatov2021-03-083-162/+126
| | | | | | |
| * | | | | | Do not propose already imported importsKirill Bulatov2021-03-084-27/+45
| | | | | | |
| * | | | | | Properly handle turbofishes in qualifiersKirill Bulatov2021-03-085-8/+14
| | | | | | |
| * | | | | | Fix some testsKirill Bulatov2021-03-084-49/+143
| | | | | | |
| * | | | | | Return more data about located importsKirill Bulatov2021-03-089-125/+172
| | | | | | |
| * | | | | | Draft the qualifier import resolutionKirill Bulatov2021-03-084-43/+224
| | | | | | |
| * | | | | | Filter out path items by the qualifierKirill Bulatov2021-03-081-24/+15
| | | | | | |
| * | | | | | SimplifyKirill Bulatov2021-03-081-64/+37
| | | | | | |
| * | | | | | Find the code to changeKirill Bulatov2021-03-081-55/+130
| | | | | | |
| * | | | | | Test and initial refactoringKirill Bulatov2021-03-084-125/+101
| | | | | | |
* | | | | | | Merge #7932bors[bot]2021-03-093-98/+310
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7932: Make code less surprising r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Make code less surprisingAleksey Kladov2021-03-093-98/+310
|/ / / / / / | | | | | | | | | | | | | | | | | | Theres no reason to have literal `\n\n` in the source code
* | | | | | Merge #7931bors[bot]2021-03-091-26/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7931: Use `Type::new_with_resolver_inner` more r=jonas-schievink a=jonas-schievink bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | | | | Use `Type::new_with_resolver_inner` moreJonas Schievink2021-03-091-26/+14
| | | | | | |
* | | | | | | Merge #7927bors[bot]2021-03-093-5/+9
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7927: Add more documentation for rustc_private r=matklad a=jyn514 Co-authored-by: Joshua Nelson <[email protected]>
| * | | | | | Add more documentation for rustc_privateJoshua Nelson2021-03-083-5/+9
| |/ / / / /
* | | | | | Merge #7928bors[bot]2021-03-091-0/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7928: Add completion to turn x.err into Err(x) r=matklad a=duongdominhchau PR for issue #7925 Co-authored-by: Duong Do Minh Chau <[email protected]>
| * | | | | | Fix formatDuong Do Minh Chau2021-03-091-9/+2
| | | | | | |
| * | | | | | Add trailing commasDuong Do Minh Chau2021-03-091-2/+2
| | | | | | |
| * | | | | | Update the test to match the changeDuong Do Minh Chau2021-03-091-0/+4
| | | | | | |
| * | | | | | Add completion to turn x.err into Err(x)Duong Do Minh Chau2021-03-091-2/+19
| | | | | | |
* | | | | | | Merge #7930bors[bot]2021-03-091-10/+10
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7930: Clarify that all caps are experimental r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Clarify that all caps are experimentalAleksey Kladov2021-03-091-10/+10
|/ / / / / /
* | | | | | Merge #7898bors[bot]2021-03-081-6/+67
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7898: generate_function assist: infer return type r=JoshMcguigan a=JoshMcguigan This PR makes two changes to the generate function assist: 1. Attempt to infer an appropriate return type for the generated function 2. If a return type is inferred, and that return type is not unit, don't render the snippet ```rust fn main() { let x: u32 = foo$0(); // ^^^ trigger the assist to generate this function } // BEFORE fn foo() ${0:-> ()} { todo!() } // AFTER (only change 1) fn foo() ${0:-> u32} { todo!() } // AFTER (change 1 and 2, note the lack of snippet around the return type) fn foo() -> u32 { todo!() } ``` These changes are made as two commits, in case we want to omit change 2. I personally feel like it is a nice change, but I could understand there being some opposition. #### Pros of change 2 If we are able to infer a return type, and especially if that return type is not the unit type, the return type is almost as likely to be correct as the argument names/types. I think this becomes even more true as people learn how this feature works. #### Cons of change 2 We could never be as confident about the return type as we are about the function argument types, so it is more likely a user will want to change that. Plus it is a confusing UX to sometimes have the cursor highlight the return type after triggering this assist and sometimes not have that happen. #### Why omit unit type? The assumption is that if we infer the return type as unit, it is likely just because of the current structure of the code rather than that actually being the desired return type. However, this is obviously just a heuristic and will sometimes be wrong. But being wrong here just means falling back to the exact behavior that existed before this PR. Co-authored-by: Josh Mcguigan <[email protected]>
| * | | | | generate_function assist don't render snippet if ret type inferredJosh Mcguigan2021-03-081-26/+47
| | | | | |
| * | | | | generate_function assist infer return typeJosh Mcguigan2021-03-061-3/+43
| | | | | |
* | | | | | Merge #7924bors[bot]2021-03-08101-514/+354
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7924: Use upstream cov-mark r=matklad a=lnicola Closes #7922 But doesn't remove any dependency, unfortunately. Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | | | | Use upstream cov-markLaurențiu Nicola2021-03-08101-514/+354
|/ / / / / /
* | | | | | Merge #7923bors[bot]2021-03-088-2138/+2131
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7923: Remove useless code_model indirection r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | Hygiene is an internal implementation detail of the compilerAleksey Kladov2021-03-084-7/+12
| | | | | | |
| * | | | | | Remove useless code_model indirectionAleksey Kladov2021-03-085-2132/+2120
| | | | | | |
* | | | | | | Merge #7918bors[bot]2021-03-0816-144/+158
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7918: Generalize file ensuring infrastructure r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | | MinorAleksey Kladov2021-03-081-1/+1
| | | | | | |
| * | | | | | Cleanup the error messageAleksey Kladov2021-03-082-2/+2
| | | | | | |
| * | | | | | Remove now dead codeAleksey Kladov2021-03-089-90/+76
| | | | | | |