aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Merge #4773bors[bot]2020-06-085-68/+302
|\ | | | | | | | | | | | | | | | | | | 4773: Run|Debug hover actions. r=matklad a=vsrs ![hover_actions_run](https://user-images.githubusercontent.com/62505555/83335644-dfc1f780-a2b6-11ea-820b-ccaa82290e7d.gif) This hover actions work exactly like corresponding lenses. Co-authored-by: vsrs <[email protected]>
| * Apply suggestions from code reviewvsrs2020-06-083-21/+21
| |
| * Add lib target filtering.vsrs2020-06-061-11/+18
| |
| * Disable runnables lookup in macro-generated code.vsrs2020-06-061-1/+10
| |
| * Add Run|Debug hover actionsvsrs2020-06-065-24/+174
| |
| * Preliminary runnables refactoringvsrs2020-06-063-54/+122
| |
* | Merge #4781bors[bot]2020-06-081-32/+27
|\ \ | | | | | | | | | | | | | | | | | | | | | 4781: Remove redundancy in syntax highlighting tests r=matklad a=ltentrup Follow up from #4683. Improves syntax highlighting testing by introducing a function that contains the boilerplate comparison code. Keeps the `ra_fixture` argument in the first position, thus, the editor syntax highlighting injection still works. Co-authored-by: Leander Tentrup <[email protected]>
| * | Remove redundancy in syntax highlighting testsLeander Tentrup2020-06-071-32/+27
| |/
* | Merge #4770bors[bot]2020-06-086-104/+33
|\ \ | | | | | | | | | | | | | | | | | | | | | 4770: Clean up handling of int/float literal types r=matklad a=flodiebold 'Unknown' int/float types actually never exist as such, they get replaced by type variables immediately. So the whole `Uncertain<IntTy>` thing was unnecessary and just led to a bunch of match branches that were never hit. Co-authored-by: Florian Diebold <[email protected]>
| * | Clean up handling of int/float literal typesFlorian Diebold2020-06-066-104/+33
| |/ | | | | | | | | | | 'Unknown' int/float types actually never exist as such, they get replaced by type variables immediately. So the whole `Uncertain<IntTy>` thing was unnecessary and just led to a bunch of match branches that were never hit.
* / Fix bug in lexer for format specifier where the `type` and `width` were not ↵Leander Tentrup2020-06-072-15/+24
|/ | | | correctly distinguished
* Fix type parameter defaultsFlorian Diebold2020-06-0510-115/+192
| | | | | They should not be applied in expression or pattern contexts, unless there are other explicitly given type args.
* Merge #4761bors[bot]2020-06-052-2/+7
|\ | | | | | | | | | | | | | | 4761: Upgrade Chalk to published version r=matklad a=flodiebold CC @pksunkara Co-authored-by: Florian Diebold <[email protected]>
| * Upgrade Chalk to published versionFlorian Diebold2020-06-052-2/+7
| |
* | Merge #4689bors[bot]2020-06-0512-81/+442
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4689: Implement return position impl trait / opaque type support r=matklad a=flodiebold This is working, but I'm not that happy with how the lowering works. We might need an additional representation between `TypeRef` and `Ty` where names are resolved and `impl Trait` bounds are separated out, but things like inference variables don't exist and `impl Trait` is always represented the same way. Also note that this doesn't implement correct handling of RPIT *inside* the function (which involves turning the `impl Trait`s into variables and creating obligations for them). That intermediate representation might help there as well. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * | Review fixesFlorian Diebold2020-06-055-25/+68
| | |
| * | Implement return position impl trait / opaque type supportFlorian Diebold2020-06-0510-77/+395
| |/ | | | | | | | | | | | | | | | | | | | | | | | | This is working, but I'm not that happy with how the lowering works. We might need an additional representation between `TypeRef` and `Ty` where names are resolved and `impl Trait` bounds are separated out, but things like inference variables don't exist and `impl Trait` is always represented the same way. Also note that this doesn't implement correct handling of RPIT *inside* the function (which involves turning the `impl Trait`s into variables and creating obligations for them). That intermediate representation might help there as well.
* | Merge #4760bors[bot]2020-06-056-79/+35
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4760: Minimize FileLoader interface r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Minimize FileLoader interfaceAleksey Kladov2020-06-056-79/+35
| |/
| |
| \
*-. \ Merge #4729 #4748bors[bot]2020-06-0517-162/+795
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4729: Hover actions r=matklad a=vsrs This PR adds a `hoverActions` LSP extension and a `Go to Implementations` action as an example: ![hover_actions_impl](https://user-images.githubusercontent.com/62505555/83335732-6d9de280-a2b7-11ea-8cc3-75253d062fe0.gif) 4748: Add an `ImportMap` and use it to resolve item paths in `find_path` r=matklad a=jonas-schievink Removes the "go faster" queries I added in https://github.com/rust-analyzer/rust-analyzer/pull/4501 and https://github.com/rust-analyzer/rust-analyzer/pull/4506. I've checked this PR on the rustc code base and the assists are still fast. This should fix https://github.com/rust-analyzer/rust-analyzer/issues/4515. Note that this does introduce a change in behavior: We now always refer to items defined in external crates using paths through the external crate. Previously we could also use a local path (if for example the extern crate was reexported locally), as seen in the changed test. If that is undesired I can fix that, but the test didn't say why the previous behavior would be preferable. Co-authored-by: vsrs <[email protected]> Co-authored-by: Jonas Schievink <[email protected]> Co-authored-by: Jonas Schievink <[email protected]>
| | * Clarify when we visit modules multiple timesJonas Schievink2020-06-051-1/+3
| | |
| | * impl Debug for ImportMapJonas Schievink2020-06-051-19/+23
| | |
| | * Reorder importsJonas Schievink2020-06-053-5/+7
| | |
| | * Make `find_path_inner` private againJonas Schievink2020-06-051-1/+1
| | |
| | * Measure memory usage of ImportMapJonas Schievink2020-06-052-5/+6
| | |
| | * defining_crate -> krateJonas Schievink2020-06-052-2/+3
| | |
| | * Fix wrong commentJonas Schievink2020-06-051-1/+1
| | |
| | * Use `ImportMap` in `find_path`, remove old queriesJonas Schievink2020-06-043-97/+140
| | |
| | * Add an ImportMapJonas Schievink2020-06-047-14/+360
| | |
| * | Remove hover actions heavy tests.vsrs2020-06-051-180/+0
| | |
| * | Remove hover contents marking as trusted.vsrs2020-06-051-1/+1
| | | | | | | | | | | | | | | Hover contents might be extracted from raw doc comments and need some validation.
| * | Add capabilities tests.vsrs2020-06-053-7/+184
| | |
| * | Apply suggestions from @kjeremy reviewvsrs2020-06-052-19/+18
| | |
| * | Add enum hover action test.vsrs2020-06-051-0/+15
| | |
| * | Rebase on the latest master.vsrs2020-06-052-13/+13
| | |
| * | Code formattingvsrs2020-06-053-6/+6
| | |
| * | Add hover actions as LSP extensionvsrs2020-06-057-49/+272
| | |
* | | Actually test include!(concant!(env!()));Aleksey Kladov2020-06-051-22/+23
| | | | | | | | | | | | It triggered index-based goto definition before :-(
* | | Cleanup testAleksey Kladov2020-06-051-50/+12
| | |
* | | More direct signature for resolve_pathAleksey Kladov2020-06-057-19/+24
| | |
* | | Rename resolve_relative_path -> resolve_pathAleksey Kladov2020-06-057-33/+12
| | | | | | | | | | | | For things like `concant!(env!("OUT_DIR"))`, we need to support abs paths
* | | Inlay Hints: more directly account for self paramAleksey Kladov2020-06-051-2/+1
|/ /
* | Merge #4750bors[bot]2020-06-051-2/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 4750: introduce_named_lifetime assist wasn't applicable when type parameter r=matklad a=jbalint followed anonymous lifetime token (fixes #4684) Co-authored-by: Jess Balint <[email protected]>
| * | introduce_named_lifetime assist wasn't applicable when type parameterJess Balint2020-06-041-2/+17
| | | | | | | | | | | | | | | | | | followed anonymous lifetime token (fixes #4684)
* | | Merge #4737bors[bot]2020-06-048-15/+143
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 4737: Parse default unsafe & default const r=matklad a=Avi-D-coder Closes: #4718 #4264 Co-authored-by: Avi Dessauer <[email protected]>
| * | Move default const test out of lineAvi Dessauer2020-06-045-10/+0
| | |
| * | Address reviewAvi Dessauer2020-06-041-5/+4
| | |
| * | Update testsAvi Dessauer2020-06-046-0/+109
| | |
| * | Parse default unsafe & default constAvi Dessauer2020-06-042-15/+45
| |/
* | Merge #4740bors[bot]2020-06-041-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4740: Remove unneeded "./" prefix affecting error messages r=kjeremy a=dtolnay I noticed this in the error in the commit message of https://github.com/rust-analyzer/rust-analyzer/pull/4739. Before: ```console error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/./src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` ``` After: ```console error[E0599]: no method named `initialize_finish` found for struct `lsp_server::Connection` in the current scope --> crates/rust-analyzer/src/bin/main.rs:99:16 | 99 | connection.initialize_finish(initialize_id, initialize_result)?; | ^^^^^^^^^^^^^^^^^ method not found in `lsp_server::Connection` ``` ```diff - --> crates/rust-analyzer/./src/bin/main.rs:99:16 + --> crates/rust-analyzer/src/bin/main.rs:99:16 ``` Co-authored-by: David Tolnay <[email protected]>