aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge #1520bors[bot]2019-07-114-12/+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-113-12/+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
| |
* | Merge #1519bors[bot]2019-07-102-19/+17
|\ \ | | | | | | | | | | | | | | | | | | | | | 1519: Move whitespace manipulation inside AstEditor r=matklad a=viorina Co-authored-by: Ekaterina Babshukova <[email protected]>
| * | move whitespace manipulation inside AstEditorEkaterina Babshukova2019-07-102-19/+17
|/ /
* | Merge #1518bors[bot]2019-07-101-3/+5
|\ \ | |/ |/| | | | | | | | | | | 1518: Remove a fixme r=matklad a=killercup Just saw the new release of SmolStr and was reminded of this FIXME I added :) Co-authored-by: Pascal Hertleif <[email protected]>
| * 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
| | |
* | | Merge #1514bors[bot]2019-07-081-4/+6
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | 1514: Better completions for floating point primitive types r=flodiebold a=marcogroppo After #1499 completions for (some of) the inherent methods of `f32` and `f64` are now working. Unfortunately during method resolution we were only looking for the `f32` and `f64` language items defined in `libcore` and we were ignoring the methods defined in `libstd`. This PR fixes this issue. Co-authored-by: Marco Groppo <[email protected]>
| * | Look for the fXX_runtime lang items during method resolution.Marco Groppo2019-07-081-4/+6
|/ /
* | Merge #1513bors[bot]2019-07-089-36/+0
|\ \ | |/ |/| | | | | | | | | | | 1513: Remove unused dependencies r=matklad a=sinkuu Co-authored-by: Shotaro Yamada <[email protected]>
| * Remove unused dependenciesShotaro Yamada2019-07-089-36/+0
|/
* Merge #1511bors[bot]2019-07-086-67/+128
|\ | | | | | | | | | | | | | | 1511: Send old-style responsed to goto definition unless the client explicitelly opts in r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * 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-085-42/+34
|\ | | | | | | | | | | | | | | 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-074-18/+19
| |
| * use flatten branch of lsp-typesJeremy Kolb2019-07-075-31/+22
| |
* | Merge #1507bors[bot]2019-07-0811-167/+85
|\ \ | | | | | | | | | | | | | | | | | | | | | 1507: Constify KnownName's r=matklad a=mominul Closes #1503 Co-authored-by: Muhammad Mominul Huque <[email protected]>
| * | cargo formatMuhammad Mominul Huque2019-07-076-14/+14
| | |
| * | Constify KnownName'sMuhammad Mominul Huque2019-07-0711-160/+78
| |/
* | Merge #1506bors[bot]2019-07-071-4/+4
|\ \ | |/ |/| | | | | | | | | | | 1506: Update memchr r=kjeremy a=kjeremy New release has some performance improvements. Co-authored-by: Jeremy Kolb <[email protected]>
| * Update memchrJeremy Kolb2019-07-071-4/+4
|/
* 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
* | | Merge #1502bors[bot]2019-07-072-75/+71
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 1502: Use inline snapshots in compelte_postfix r=matklad a=funkill Relates to #1127 Co-authored-by: funkill2 <[email protected]>
| * | inline snapshot in complete_postfixfunkill22019-07-072-75/+71
|/ /
* | Merge #1497bors[bot]2019-07-061-10/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 1497: bump regex r=kjeremy a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | bump regexJeremy Kolb2019-07-061-10/+10
|/ /
* | Merge #1496bors[bot]2019-07-069-42/+171
|\ \ | |/ |/| | | | | | | | | | | 1496: Add trait obligations for where clauses when calling functions/methods r=matklad a=flodiebold E.g. if we call `foo<T: Into<u32>>(x)`, that adds an obligation that `x: Into<u32>`, etc., which sometimes allows type inference to make further progress. Co-authored-by: Florian Diebold <[email protected]>
| * 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.
* Create FUNDING.ymlAleksey Kladov2019-07-061-0/+12
|
* 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