aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Intern `GenericArgs`Jonas Schievink2021-05-244-11/+10
| | | | | | | | | | | | | | | | This shaves off another ~4 mb or so
* | | | internal: intern `TypeBound`sJonas Schievink2021-05-2412-27/+49
|/ / / | | | | | | | | | | | | Doesn't save much memory (~2 mb), but interning things is generally a good pattern to follow
* | | Merge #8955bors[bot]2021-05-248-20/+141
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8955: feature: Support standalone Rust files r=matklad a=SomeoneToIgnore ![standalone](https://user-images.githubusercontent.com/2690773/119277037-0b579380-bc26-11eb-8d77-20d46ab4916a.gif) Closes https://github.com/rust-analyzer/rust-analyzer/issues/6388 Caveats: * I've decided to support multiple detached files in the code (anticipating the scratch files), but I found no way to open multiple files in VSCode at once: running `code *.rs` makes the plugin to register in the `vscode.workspace.textDocuments` only the first file, while code actually displays all files later. Apparently what happens is the same as when you have VSCode open at some workplace already and then run `code some_other_file.rs`: it gets opened in the same workspace of the same VSCode with no server to support it. If there's a way to override it, I'd appreciate the pointer. * No way to toggle inlay hints, since the setting is updated for the workspace (which does not exist for a single file opened) > [2021-05-24 00:22:49.100] [exthost] [error] Error: Unable to write to Workspace Settings because no workspace is opened. Please open a workspace first and try again. * No runners/lens to run or check the code are implemented for this mode. In theory, we can detect `rustc`, run it on a file and run the resulting binary, but not sure if worth doing it at this stage. Otherwise imports, hints, completion and other features work. Co-authored-by: Kirill Bulatov <[email protected]>
| * | | Add a FIXMEKirill Bulatov2021-05-241-0/+9
| | | |
| * | | Small file error display fixKirill Bulatov2021-05-241-1/+1
| | | | | | | | | | | | Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Don't discover workspaces when detached files are givenKirill Bulatov2021-05-231-3/+2
| | | |
| * | | Deal with todosKirill Bulatov2021-05-231-4/+14
| | | |
| * | | Do not add cargo target for detached files only projectKirill Bulatov2021-05-231-13/+22
| | | |
| * | | Drag detached files towards loadingKirill Bulatov2021-05-236-11/+83
| | | |
| * | | Draft detached files retrievalKirill Bulatov2021-05-236-3/+25
| | |/ | |/|
* | | Merge #8945bors[bot]2021-05-2314-69/+175
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8945: fix: Make expected type work in more situations r=flodiebold a=flodiebold Also makes call info show the correct types for generic methods. ![2021-05-23-182952_1134x616_scrot](https://user-images.githubusercontent.com/906069/119269023-dd5a5b00-bbf5-11eb-993a-b6e122c3b9a6.png) ![2021-05-23-183117_922x696_scrot](https://user-images.githubusercontent.com/906069/119269025-dfbcb500-bbf5-11eb-983c-fc415b8428e0.png) Co-authored-by: Florian Diebold <[email protected]>
| * | | Get rid of field_type againFlorian Diebold2021-05-236-24/+16
| | | |
| * | | Infer correct expected type in closureFlorian Diebold2021-05-231-1/+8
| | | | | | | | | | | | | | | | Sadly currently only works if the closure body isn't completely missing.
| * | | Infer correct expected type for generic struct fieldsFlorian Diebold2021-05-234-19/+46
| | | |
| * | | Record method call substs and use them in call infoFlorian Diebold2021-05-239-45/+125
| | | |
* | | | Merge #8953bors[bot]2021-05-232-9/+108
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8953: feat: generate getter avoids generating types like `&Vec<T>` r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | feat: generate getter avoids generating types like `&Vec<T>`Aleksey Kladov2021-05-232-9/+108
| | | | |
* | | | | internal: document ItemTree designJonas Schievink2021-05-231-2/+32
|/ / / /
* | | | Merge #8948bors[bot]2021-05-235-252/+141
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8948: feat: generate getter assist places the cursor at the generated function r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | feat: generate getter assist places the cursor at the generated functionAleksey Kladov2021-05-232-9/+14
| | | | |
| * | | | minimize testsAleksey Kladov2021-05-231-44/+54
| | | | |
| * | | | remove duplicate testsAleksey Kladov2021-05-231-103/+26
| | | | |
| * | | | reduce duplicationAleksey Kladov2021-05-234-211/+162
| | |/ / | |/| |
* / | | minor: align import style with styleguideAleksey Kladov2021-05-231-3/+3
|/ / /
* | | Correctly resolve crate name in use paths when import shadows itselfLukas Tobias Wirth2021-05-233-3/+31
| | |
* | | Minor: fix comment styleAleksey Kladov2021-05-231-1/+3
|/ / | | | | | | See https://github.com/rust-analyzer/rust-analyzer/blob/master/docs/dev/style.md#documentation
* / Explain why nested `TypeRef` aren't internedJonas Schievink2021-05-231-0/+4
|/
* Give ‘unsafe’ semantic token modifier to unsafe traitsAramis Razzaghipour2021-05-235-3/+20
|
* Merge #8938bors[bot]2021-05-234-15/+118
|\ | | | | | | | | | | | | | | 8938: internal: Fix #8931 r=flodiebold a=flodiebold - and add some better checking for similar bugs Co-authored-by: Florian Diebold <[email protected]>
| * Paper over #8931 a bit moreFlorian Diebold2021-05-232-2/+4
| | | | | | | | | | | | | | | | | | The problem was the skipping of binders in `resolve_method_call_as_callable`; this still doesn't use the _correct_ substitution, but at least it doesn't return a type with free variables in it. Fixes #8931.
| * Add test for #8931 and better checkingFlorian Diebold2021-05-233-13/+114
| |
* | Render where clauses and more generic paramsJonas Schievink2021-05-232-34/+155
| |
* | Pretty-print generic parametersJonas Schievink2021-05-232-22/+99
| |
* | ItemTree: pretty-print all pathsJonas Schievink2021-05-222-9/+119
|/
* Add last remaining module docstringFlorian Diebold2021-05-221-1/+3
|
* Merge #8923bors[bot]2021-05-2221-34/+11
|\ | | | | | | | | | | | | | | | | 8923: Add even more docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add even more docsAleksey Kladov2021-05-2221-34/+11
| |
* | Merge #8922bors[bot]2021-05-2219-28/+71
|\| | | | | | | | | | | | | | | | | 8922: Add more docs r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * Add more docsAleksey Kladov2021-05-2219-28/+71
| |
* | Merge #8868bors[bot]2021-05-228-282/+192
|\| | | | | | | | | | | | | | | 8868: internal: replace AstTransformer with mutable syntax trees r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * use more precise nameAleksey Kladov2021-05-223-12/+7
| |
| * internal: replace AstTransformer with mutable syntax treesAleksey Kladov2021-05-226-208/+123
| |
* | Merge #8921bors[bot]2021-05-221-1/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8921: Resolve any lifetime variables to 'static after inference r=flodiebold a=flodiebold Chalk's unification can sometimes create lifetime variables, which we currently don't really deal with, but at least we don't want to leak them outside of inference. Should fix #8919. Co-authored-by: Florian Diebold <[email protected]>
| * | Resolve any lifetime variables to 'static after inferenceFlorian Diebold2021-05-221-1/+13
| |/ | | | | | | | | | | | | | | Chalk's unification can sometimes create lifetime variables, which we currently don't really deal with, but at least we don't want to leak them outside of inference. Should fix #8919.
* | Merge #8901bors[bot]2021-05-222-27/+75
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 8901: fix: `fill_match_arms` hangs on a tuple of large enums r=matklad a=iDawer + Lazy computation of missing arms. + Convenience function to test lazy computation: `ide_assists::tests::check_assist_unresolved`. Fixes #8835 Co-authored-by: Dawer <[email protected]>
| * Test `fill_match_arms` for lazy computation.Dawer2021-05-212-3/+38
| | | | | | | | This also adds `ide_assists::tests::check_assist_unresolved` function.
| * fix: `fill_match_arms` hangs on a tuple of large enumsDawer2021-05-201-2/+14
| |
| * Compute missing arms lazily.Dawer2021-05-201-23/+24
| |
* | Work around non-unique AttrIdsJonas Schievink2021-05-222-9/+39
| |
* | Add a "Debug ItemTree" LSP requestJonas Schievink2021-05-215-0/+46
| |