aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #4962bors[bot]2020-06-2129-1/+222
|\ | | | | | | | | | | | | | | 4962: Implement APIs for parsing expressions, types, paths, patterns and items r=davidlattimore a=davidlattimore Co-authored-by: David Lattimore <[email protected]>
| * Implement APIs for parsing expressions, types, paths, patterns and itemsDavid Lattimore2020-06-2129-1/+222
| |
* | Merge #4959bors[bot]2020-06-213-2/+19
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4959: Syntax highlighting for documentation comments on macro definitions r=matklad a=ltentrup Two minor changes with regards to syntax highlighting of comments attached to macro definitions. Before <img width="290" alt="Bildschirmfoto 2020-06-20 um 00 05 19" src="https://user-images.githubusercontent.com/201808/85182705-c561b500-b289-11ea-944e-0bdf6508a44f.png"> After <img width="288" alt="Bildschirmfoto 2020-06-20 um 00 03 36" src="https://user-images.githubusercontent.com/201808/85182727-d90d1b80-b289-11ea-9d2d-234731f19302.png"> Fixes #4949 Co-authored-by: Leander Tentrup <[email protected]>
| * | Syntax highlighting for documentation comments on macro definitionsLeander Tentrup2020-06-193-2/+19
| | |
* | | Merge #4963bors[bot]2020-06-212-11/+60
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4963: Download artifacts into tmp dir r=matklad a=Veetaha This should prevent partially downloaded files in cases when the user closes vsode before the download is complete. There is also a new more descriptive error message when the user has multiple vscode windows open and tries to download the server. Related: https://github.com/rust-analyzer/rust-analyzer/issues/4938#issuecomment-646738360 Co-authored-by: Veetaha <[email protected]>
| * | | Download artifacts into tmp dirVeetaha2020-06-202-11/+60
| | | |
* | | | Merge #4947bors[bot]2020-06-207-59/+90
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4947: Replace `impls_in_trait` query with smarter use of `CrateImplDefs` r=matklad a=jonas-schievink `impls_in_trait` was allocating a whopping ~400 MB of RAM when running analysis-stats on r-a itself. Remove it, instead adding a query that computes a summary `CrateImplDefs` map for all transitive dependencies. This can probably still be made more efficient, but this already reduces the peak memory usage by 25% without much performance impact on analysis-stats. **Before**: ``` Total: 34.962107188s, 2083mb allocated 2141mb resident 422mb ImplsForTraitQuery (deps) 250mb CrateDefMapQueryQuery 147mb MacroArgQuery 140mb TraitSolveQuery (deps) 68mb InferQueryQuery (deps) 62mb ImplDatumQuery (deps) ``` **After**: ``` Total: 35.261100358s, 1520mb allocated 1569mb resident 250mb CrateDefMapQueryQuery 147mb MacroArgQuery 144mb TraitSolveQuery (deps) 68mb InferQueryQuery (deps) 61mb ImplDatumQuery (deps) 45mb BodyQuery 45mb ImplDatumQuery ``` Co-authored-by: Jonas Schievink <[email protected]>
| * | | | Recursively compute impl setsJonas Schievink2020-06-191-13/+26
| | | | |
| * | | | Add new query to statsJonas Schievink2020-06-192-4/+5
| | | | |
| * | | | Don't include downstream crate in queryJonas Schievink2020-06-191-1/+2
| | | | |
| * | | | Replace `impls_in_trait` with `CrateImplDefs`Jonas Schievink2020-06-197-63/+79
| | |_|/ | |/| |
* | | | Merge #4964bors[bot]2020-06-207-192/+109
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4964: Move ReqQueue to lsp-server r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Move ReqQueue to lsp-serverAleksey Kladov2020-06-207-192/+109
|/ / / /
* | | | Merge #4961bors[bot]2020-06-204-170/+188
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4961: Centralize handing of in-flight requests r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Centralize handing of in-flight requestsAleksey Kladov2020-06-204-170/+188
| | |/ / | |/| |
* | | | Merge #4958bors[bot]2020-06-204-24/+312
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | 4958: Infer FnSig via Fn traits r=flodiebold a=adamrk Addresses https://github.com/rust-analyzer/rust-analyzer/issues/4481. When inferring types check if the callee implements one of the builtin `Fn` traits. Also autoderef the callee before trying to figure out it's `FnSig`. Co-authored-by: adamrk <[email protected]>
| * | | Push obligation instead of matching on solutionadamrk2020-06-202-45/+40
| | | |
| * | | Get Output assoc type by nameadamrk2020-06-201-13/+3
| | | |
| * | | Add test for dyn Fn Outputadamrk2020-06-201-0/+68
| | | |
| * | | move tests to ra_hir_tyadamrk2020-06-202-104/+155
| | | |
| * | | Fixes to callable_sig_from_fn_traitadamrk2020-06-202-67/+72
| | | |
| * | | Make get_fn_trait a method of FnTraitadamrk2020-06-203-21/+21
| | | |
| * | | Switch back callable_sig for known fn typesadamrk2020-06-202-4/+4
| | | |
| * | | Infer FnSig from Fn traitsadamrk2020-06-195-18/+197
| | | |
* | | | Merge #4952bors[bot]2020-06-192-0/+94
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4952: Shift bound variables correctly when using assoc type shorthand r=matklad a=flodiebold Fixes #4885. Fixes #4800. Co-authored-by: Florian Diebold <[email protected]>
| * | | | Shift bound variables correctly when using assoc type shorthandFlorian Diebold2020-06-192-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | Fixes #4885. Fixes #4800.
* | | | | Merge #4951bors[bot]2020-06-192-6/+31
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4951: Don't panic on crates depending on themselves r=matklad a=flodiebold Fixes #3883. Co-authored-by: Florian Diebold <[email protected]>
| * | | | Don't panic on crates depending on themselvesFlorian Diebold2020-06-192-6/+31
| | | | | | | | | | | | | | | | | | | | Fixes #3883.
* | | | | Merge #4955bors[bot]2020-06-191-3/+2
|\ \ \ \ \ | |_|/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4955: Update workaround comment r=matklad a=Veetaha Co-authored-by: Veetaha <[email protected]>
| * | | | Update workaround commentVeetaha2020-06-191-3/+2
| |/ / /
* | | | Merge #4950bors[bot]2020-06-193-17/+47
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4950: Use correct substs for super trait assoc types r=matklad a=flodiebold When referring to an associated type of a super trait, we used the substs of the subtrait. That led to the #4931 crash if the subtrait had less parameters, but it could also lead to other incorrectness if just the order was different. Fixes #4931. Co-authored-by: Florian Diebold <[email protected]>
| * | | Use correct substs for super trait assoc typesFlorian Diebold2020-06-193-17/+47
|/ / / | | | | | | | | | | | | | | | | | | | | | When referring to an associated type of a super trait, we used the substs of the subtrait. That led to the #4931 crash if the subtrait had less parameters, but it could also lead to other incorrectness if just the order was different. Fixes #4931.
* | | Merge #4957bors[bot]2020-06-192-1/+33
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | 4957: Fix substs in resolve_value_path for ImplSelf r=flodiebold a=Speedy37 Fixes #4953. This is the first fix I do in hir_ty, I hope I got it right :) Co-authored-by: Vincent Rouillé <[email protected]>
| * | Fix substs in resolve_value_path for ImplSelfVincent Rouillé2020-06-192-1/+33
|/ / | | | | | | Fixes #4953.
* | Merge #4851bors[bot]2020-06-195-5/+134
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4851: Add quickfix to add a struct field r=TimoFreiberg a=TimoFreiberg Related to #4563 I created a quickfix for record literals first because the NoSuchField diagnostic was already there. To offer that quickfix for FieldExprs with unknown fields I'd need to add a new diagnostic (or create a `NoSuchField` diagnostic for those cases) I think it'd make sense to make this a snippet completion (to select the generated type), but this would require changing the `Analysis` API and I'd like some feedback before I touch that. Co-authored-by: Timo Freiberg <[email protected]>
| * | Add quickfix to add a struct fieldTimo Freiberg2020-06-125-5/+134
| | |
* | | Merge #4937bors[bot]2020-06-191-1/+4
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4937: Allow overriding rust-analyzer display version r=matklad a=oxalica The build script invokes `git` for version information which is displayed when rust-analyzer is called with `--version`. But in build environment without `git` or when the source code is not a git repo, there's no way to manually specify the version information. This patch respects environment variable ~`REV`~ `RUST_ANALYZER_REV` in compile time for overriding. Related: https://github.com/NixOS/nixpkgs/pull/90976 Co-authored-by: oxalica <[email protected]>
| * | | Fix fmtoxalica2020-06-181-1/+2
| | | |
| * | | Allow overriding rust-analyzer display revisionoxalica2020-06-181-1/+3
| | | |
* | | | Merge #4839bors[bot]2020-06-1911-38/+1360
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4839: `Go to Type Definition` hover action. r=matklad a=vsrs ![hover_actions_goto](https://user-images.githubusercontent.com/62505555/83335671-0122e380-a2b7-11ea-9922-fbdcfb11a7f3.gif) This implementation supports things like `dyn Trait<SomeType>`, `-> impl Trait`, etc. Co-authored-by: vsrs <[email protected]>
| * | | | Apply suggestions from code reviewvsrs2020-06-183-65/+328
| | | | |
| * | | | Add Type::walk methodvsrs2020-06-183-75/+132
| | | | |
| * | | | Remove AdtOrTraitvsrs2020-06-184-50/+39
| | | | |
| * | | | Add `rust-analyzer.gotoLocation` commandvsrs2020-06-186-8/+25
| | | | |
| * | | | Add associated type test.vsrs2020-06-183-2/+65
| | | | |
| * | | | Fix type "items" order.vsrs2020-06-182-24/+36
| | | | |
| * | | | Add `Go to Type Definition` hover action.vsrs2020-06-188-35/+956
| | | | |
| * | | | Fix rust-analyzer.debug.openDebugPane optionvsrs2020-06-182-2/+2
| | | | |
| * | | | Fix empty hover action group for a runnable.vsrs2020-06-181-1/+1
| | | | |
* | | | | Merge #4948bors[bot]2020-06-194-11/+30
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4948: Speedup VFS::partition r=matklad a=matklad The task of `partition` function is to bin the flat list of paths into disjoint filesets. Ideally, it should be incremental -- each new file should be added to a specific fileset. However, preliminary measurnments show that it is actually fast enough if we just optimize this to use a binary search instead of a linear scan. bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>