aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #8598bors[bot]2021-04-201-26/+48
|\ | | | | | | | | | | | | | | | | 8598: minor: fix ugly line wrapping in the rendered manual r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * minor: fix ugly line wrapping in the rendered manualAleksey Kladov2021-04-201-26/+48
| |
* | Merge #8588bors[bot]2021-04-191-0/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | 8588: internal: Add guidelines for release notes PR descriptions r=matklad a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>
| * | internal: Add guidelines for release notes PR descriptionsLaurențiu Nicola2021-04-191-0/+11
| | |
* | | Merge #8586bors[bot]2021-04-192-23/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8586: Replace SyntaxRewriter usage with ted in eager::eager_macro_recur r=Veykril a=Veykril Co-authored-by: Lukas Wirth <[email protected]>
| * | | Replace SyntaxRewriter with ted in exppand_macro::expand_macro_recurLukas Wirth2021-04-191-14/+9
| | | |
| * | | Remove SyntaxRewriter usage in eager::eager_macro_recurLukas Wirth2021-04-191-9/+9
| | | |
* | | | Merge #8587bors[bot]2021-04-192-5/+91
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8587: Fix some find_path bugs around inner items r=jonas-schievink a=jonas-schievink Fixes https://github.com/rust-analyzer/rust-analyzer/issues/8519 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * | | Add autoimport test with inner itemsJonas Schievink2021-04-191-0/+33
| | | |
| * | | Fix some find_path bugs around inner itemsJonas Schievink2021-04-191-5/+58
|/ / /
* | | Merge #8584bors[bot]2021-04-191-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8584: internal: fix slightly broken test r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | internal: fix slightly broken testAleksey Kladov2021-04-191-1/+1
| | | |
* | | | Merge #8583bors[bot]2021-04-191-23/+14
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 8583: Simplify r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | SimplifyLukas Wirth2021-04-191-23/+14
| |/ /
* | | Merge #8582bors[bot]2021-04-194-5/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8582: Fix typo: comparision -> comparison r=kjeremy a=stanciuadrian Closes #8576 Co-authored-by: Adrian Stanciu <[email protected]>
| * | | Fix typo: comparision -> comparisonAdrian Stanciu2021-04-194-5/+5
| |/ /
* | | Merge #8580bors[bot]2021-04-191-3/+8
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8580: Remove confusion around serverStatusNotification r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Remove confusion around serverStatusNotificationAleksey Kladov2021-04-191-3/+8
|/ / /
* | | Merge #8579bors[bot]2021-04-191-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8579: Fix spec bug r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Fix spec bugAleksey Kladov2021-04-191-1/+1
|/ / /
* | | Merge #8578bors[bot]2021-04-196-182/+238
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | 8578: fix: false positive about inner attrs in docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | fix: false positive about inner attrs in docsAleksey Kladov2021-04-196-182/+238
| | | | | | | | | | | | closes #8541
* | | Merge #8577bors[bot]2021-04-191-17/+41
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8577: Support crates/module roots in external_docs r=Veykril a=Veykril Fixes #8575 bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Support crates/module roots in external_docsLukas Wirth2021-04-191-17/+41
| | |/ | |/|
* | | Merge #8502bors[bot]2021-04-191-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8502: internal: document review requesting etiquette r=matklad a=matklad * don't feel obliged to quickly review every PR assigned to you * so that other folks can notify you about interesting PRs without thinking to much about creating additional work for you Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Update docs/dev/README.mdAleksey Kladov2021-04-191-1/+1
| | | | | | | | | | | | Co-authored-by: Laurențiu Nicola <[email protected]>
| * | | internal: document review requesting etiquetteAleksey Kladov2021-04-191-0/+3
| |/ / | | | | | | | | | | | | | | | * don't feel obliged to quickly review every PR assigned to you * so that other folks can notify you about interesting PRs without thinking to much about creating additional work for you
| | |
| \ \
*-. \ \ Merge #8524 #8527bors[bot]2021-04-194-38/+298
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8524: Fix extract function with partial block selection r=matklad a=brandondong **Reproduction:** ```rust fn foo() { let n = 1; let mut v = $0n * n;$0 v += 1; } ``` 1. Select the snippet ($0) and use the "Extract into function" assist. 2. Extracted function is incorrect and does not compile: ```rust fn foo() { let n = 1; let mut v = fun_name(n); v += 1; } fn fun_name(n: i32) {} ``` 3. Omitting the ending semicolon from the selection fixes the extracted function: ```rust fn fun_name(n: i32) -> i32 { n * n } ``` **Cause:** - When `extraction_target` uses a block extraction (semicolon case) instead of an expression extraction (no semicolon case), the user selection is directly used as the TextRange. - However, the existing function extraction logic for blocks requires that the TextRange spans from start to end of complete statements to work correctly. - For example: ```rust fn foo() { let m = 2; let n = 1; let mut v = m $0* n; let mut w = 3;$0 v += 1; w += 1; } ``` produces ```rust fn foo() { let m = 2; let n = 1; let mut v = m let mut w = fun_name(n); v += 1; w += 1; } fn fun_name(n: i32) -> i32 { let mut w = 3; w } ``` - The user selected TextRange is directly replaced by the function call which is now in the middle of another statement. The extracted function body only contains statements that were fully covered by the TextRange and so the `* n` code is deleted. The logic for calculating variable usage and outlived variables for the function parameters and return type respectively search within the TextRange and so do not include `m` or `v`. **Fix:** - Only extract full statements when using block extraction. If a user selected part of a statement, extract that full statement. 8527: Switch introduce_named_lifetime assist to use mutable syntax tree r=matklad a=iDawer This extends `GenericParamsOwnerEdit` trait with `get_or_create_generic_param_list` method Co-authored-by: Brandon <[email protected]> Co-authored-by: Dawer <[email protected]>
| | * | Finish GenericParamsOwnerEdit implsDawer2021-04-151-5/+94
| | | |
| | * | Switch introduce_named_lifetime assist to use mutable syntax treeDawer2021-04-143-36/+147
| | | |
| * | | Fix extract function with partial block selectionBrandon2021-04-151-2/+62
| | | |
* | | | Merge #8462bors[bot]2021-04-1916-76/+391
|\ \ \ \ | |_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | 8462: Expand macros at type position r=jonas-schievink a=cynecx Co-authored-by: cynecx <[email protected]>
| * | | hir_ty: cleanups and extend infinitely_recursive_macro_type testcynecx2021-04-182-8/+14
| | | |
| * | | hir_ty: keep body::Expander in TyLoweringContextcynecx2021-04-184-59/+94
| | | |
| * | | hir_def: various cleanupscynecx2021-04-183-11/+9
| | | |
| * | | hir_def: refactor expand_macro_type and cleanupscynecx2021-04-173-123/+33
| | | |
| * | | hir_def: ignore ast::Type in file_item_tree querycynecx2021-04-172-10/+11
| | | |
| * | | hir_ty: deal with TypeRef::Macro in HirFormattercynecx2021-04-172-5/+17
| | | |
| * | | hir_ty: Expand macros at type positioncynecx2021-04-1717-81/+434
| | | |
* | | | Merge #8574bors[bot]2021-04-195-41/+40
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8574: Check for rust doc code attributes like rustdoc does r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | | Check for rust doc code attributes like rustdoc doesLukas Wirth2021-04-195-45/+40
| | | | |
| * | | | Don't require all doc fences to be valid for identifying rust codeLukas Wirth2021-04-192-2/+6
| | | | |
* | | | | Merge #8565bors[bot]2021-04-191-28/+100
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8565: Fill match arms assist: add remaining arms for tuple of enums r=iDawer a=iDawer Fix for #8493 However, the assist is still flaky and does not use `hir_ty::diagnostics::match_check` Co-authored-by: Dawer <[email protected]>
| * | | | Unindent test according to the style guide.Dawer2021-04-191-23/+23
| | | | |
| * | | | Return to the status quo in #8129Dawer2021-04-181-0/+2
| | | | |
| * | | | Prevent adding useless match armsDawer2021-04-181-11/+27
| | | | |
| * | | | Test fill-match-arms assist: partial with wildcardsDawer2021-04-171-0/+34
| | | | |
| * | | | Fill partial match arms for a tuple of enumsDawer2021-04-161-17/+37
| | | | |
* | | | | Merge #8540bors[bot]2021-04-1911-30/+103
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8540: Prevent being able to rename items that are not part of the workspace r=Veykril a=Veykril This change causes renames that happen on items coming from crates outside the workspace to fail. I believe this should be the right approach, but usage of cargo's workspace might not be entirely correct for preventing these kinds of refactoring from touching things they shouldn't. I'm not entirely sure? cc #6623, this is one of the bigger footguns when it comes to refactoring, especially in combination with import aliases people tend to rename items coming from a crates dependency which this prevents. Co-authored-by: Lukas Wirth <[email protected]>
| * | | | | Better visualise control flow for change_annotation_support"Lukas Wirth2021-04-181-51/+46
| | | | | |