aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* Have InferenceContext contain an InferenceResult instead of duplicating all ↵Florian Diebold2019-07-141-36/+19
| | | | fields
* Some renamings for clarityFlorian Diebold2019-07-149-25/+28
|
* Fixed request commentsAlexander Andreev2019-07-142-66/+72
|
* Fixed commentsAlexander Andreev2019-07-131-2/+2
|
* More resolution modules with attribute pathAlexander Andreev2019-07-132-4/+521
| | | | #1211
* complete fields in enum variantsEkaterina Babshukova2019-07-125-16/+116
|
* make Parse fields privateAleksey Kladov2019-07-1231-99/+109
| | | | this is in preparation for the new rowan API
* Merge #1523bors[bot]2019-07-122-0/+11
|\ | | | | | | | | | | | | | | 1523: account for dependencies when showing memory usage r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * account for dependencies when showing memory usageAleksey Kladov2019-07-122-0/+11
| |
* | Merge #1520bors[bot]2019-07-113-10/+15
|\ \ | |/ |/| | | | | | | | | | | | | | | 1520: Ignore workspace/didChangeConfiguration notifications. r=matklad a=bolinfest If the client happens to send a `workspace/didChangeConfiguration` notification, it is nicer if rust-analyzer can just ignore it rather than crash with an "unhandled notification" error. Co-authored-by: Michael Bolin <[email protected]>
| * Remove executeCommandProvider: apply_code_action.Michael Bolin2019-07-112-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This appears to have been introduced ages ago in https://github.com/rust-analyzer/rust-analyzer/commit/be742a587704f27f4e503c50f549aa9ec1527fcc but has since been removed. As it stands, it is problematic if multiple instances of the rust-analyzer LSP are launched during the same VS Code session because VS Code complains about multiple LSP servers trying to register the same command. Most LSP servers workaround this by parameterizing the command by the process id. For example, this is where `rls` does this: https://github.com/rust-lang/rls/blob/ff0b9057c8f62bc4f8113d741e96c9587ef1a817/rls/src/server/mod.rs#L413-L421 Though `apply_code_action` does not seems to be used, so it seems better to delete it than to parameterize it.
| * Ignore workspace/didChangeConfiguration notifications.Michael Bolin2019-07-112-4/+11
| |
* | move whitespace manipulation inside AstEditorEkaterina Babshukova2019-07-102-19/+17
| |
* | Make clippy a bit happierPascal Hertleif2019-07-101-0/+4
| | | | | | | | | | Random drive-by fix. I honestly blame rust-analyzer itself on this, because I set its watch mode to use `cargo clippy` :shrug:
* | Resolve a FIXMEPascal Hertleif2019-07-101-3/+1
|/ | | | Now that we are using a newer smol_str release this can be simplified :)
* fix profile nameAleksey Kladov2019-07-091-1/+1
|
* Merge #1515bors[bot]2019-07-0911-119/+286
|\ | | | | | | | | | | | | | | | | | | | | | | 1515: Trait environment r=matklad a=flodiebold This adds the environment, i.e. the set of `where` clauses in scope, when solving trait goals. That means that e.g. in ```rust fn foo<T: SomeTrait>(t: T) {} ``` , we are able to complete methods of `SomeTrait` on the `t`. This affects the trait APIs quite a bit (since every method that needs to be able to solve for some trait needs to get this environment somehow), so I thought I'd do it rather sooner than later ;) Co-authored-by: Florian Diebold <[email protected]>
| * Unify `normalize` and `implements` to simplify codeFlorian Diebold2019-07-089-107/+67
| |
| * Use environment for associated type normalization as wellFlorian Diebold2019-07-087-20/+52
| |
| * Start handling environment in trait resolutionFlorian Diebold2019-07-086-14/+103
| | | | | | | | | | I.e. if we are inside a function with some where clauses, we assume these where clauses hold.
| * Refactor a bit & introduce Environment structFlorian Diebold2019-07-087-21/+107
| |
* | Merge #1512bors[bot]2019-07-093-17/+106
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 1512: Infer ? operator r=unrealhoang a=unrealhoang Logical continuation of https://github.com/rust-analyzer/rust-analyzer/pull/1501 cc https://github.com/rust-analyzer/rust-analyzer/issues/1426 Co-authored-by: Unreal Hoang <[email protected]>
| * | beautify testsUnreal Hoang2019-07-091-20/+36
| | |
| * | use namespaced consts for KnownNameUnreal Hoang2019-07-081-12/+10
| | |
| * | projection over std::ops::Try::Ok to infer try/?Unreal Hoang2019-07-083-2/+77
| | |
* | | Look for the fXX_runtime lang items during method resolution.Marco Groppo2019-07-081-4/+6
| |/ |/|
* | Remove unused dependenciesShotaro Yamada2019-07-088-19/+0
|/
* don't send LocationLink unless the client opts-inAleksey Kladov2019-07-085-12/+62
| | | | closes #1474
* simplifyAleksey Kladov2019-07-082-23/+20
|
* add try_conv_with_to_vecAleksey Kladov2019-07-082-40/+54
|
* Merge #1504bors[bot]2019-07-084-38/+30
|\ | | | | | | | | | | | | | | 1504: Simplify LSP handlers r=matklad a=kjeremy Takes advantage of protocol inheritance via composition and simplifies some responses via the `From`/`Into` traits. Co-authored-by: Jeremy Kolb <[email protected]>
| * Simplify responses by using into()Jeremy Kolb2019-07-073-13/+14
| |
| * use flatten branch of lsp-typesJeremy Kolb2019-07-074-27/+18
| |
* | cargo formatMuhammad Mominul Huque2019-07-076-14/+14
| |
* | Constify KnownName'sMuhammad Mominul Huque2019-07-0710-155/+73
|/
* Merge #1501bors[bot]2019-07-075-35/+170
|\ | | | | | | | | | | | | | | 1501: Infer for loop variable r=flodiebold a=unrealhoang My take on https://github.com/rust-analyzer/rust-analyzer/issues/1425 Co-authored-by: Unreal Hoang <[email protected]>
| * add projection to infer for loop variableUnreal Hoang2019-07-075-35/+170
| |
* | Merge #1499bors[bot]2019-07-077-109/+241
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1499: processing attribute #[path] of module r=matklad a=andreevlex support two cases - simple name file `foo.rs` - declaration in mod.rs #1211 Co-authored-by: Alexander Andreev <[email protected]>
| * | Moved module resolution test in mods.rsAlexander Andreev2019-07-074-193/+195
| | |
| * | Added support attribute path in resolusion module fnAlexander Andreev2019-07-062-5/+119
| | |
| * | Added extract path attribute for current moduleAlexander Andreev2019-07-064-7/+23
| | | | | | | | | | | | #1211
* | | inline snapshot in complete_postfixfunkill22019-07-072-75/+71
| |/ |/|
* | Make EnumVariant a GenericDef and simplify some codeFlorian Diebold2019-07-064-14/+21
| |
* | Add trait obligations for where clauses when calling functions/methodsFlorian Diebold2019-07-067-34/+156
|/ | | | | E.g. if we call `foo<T: Into<u32>>(x)`, that adds an obligation that `x: Into<u32>`, etc.
* Merge #1495bors[bot]2019-07-052-9/+22
|\ | | | | | | | | | | | | | | 1495: use correct file for diagnostics r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * use correct file for diagnosticsAleksey Kladov2019-07-052-9/+22
| | | | | | | | closes #1475
* | Merge #1494bors[bot]2019-07-051-1/+6
|\| | | | | | | | | | | | | | | 1494: properly restrict diagnostics to a single file r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * properly restrict diagnostics to a single fileAleksey Kladov2019-07-051-1/+6
| |
* | Clippy trivially_copy_pass_by_refJeremy Kolb2019-07-0511-30/+30
|/
* Merge #1491bors[bot]2019-07-055-36/+34
|\ | | | | | | | | | | | | | | | | | | 1491: More clippy r=matklad a=kjeremy A few more clippy changes. I'm a little unsure of the second commit. It's the trivially_copy_pass_by_ref lint and there are a number of places in the code we could use it if it makes sense. Co-authored-by: Jeremy Kolb <[email protected]>