aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* 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
* | 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
| |
* | Merge #1493bors[bot]2019-07-0511-30/+30
|\ \ | |/ |/| | | | | | | | | | | 1493: Clippy trivially_copy_pass_by_ref r=matklad a=kjeremy Clippy says that this is more efficient. Co-authored-by: Jeremy Kolb <[email protected]>
| * 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]>
| * readabilityJeremy Kolb2019-07-051-1/+4
| |
| * &self -> selfJeremy Kolb2019-07-051-13/+13
| | | | | | | | https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref
| * Clippy changesJeremy Kolb2019-07-056-27/+22
| |
* | Merge #1492bors[bot]2019-07-054-6/+5
|\ \ | |/ |/| | | | | | | | | | | 1492: Fix clippy::redundant_clone r=matklad a=sinkuu Co-authored-by: Shotaro Yamada <[email protected]>