aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* remove Cancelable from funciton bodyAleksey Kladov2019-01-159-21/+16
|
* Merge #552bors[bot]2019-01-1513-115/+82
|\ | | | | | | | | | | | | | | 552: remove Cancelable from navigation target r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * remove Cancelable from navigation targetAleksey Kladov2019-01-1511-42/+29
| |
| * remove Cancelable from static&const APIAleksey Kladov2019-01-152-15/+12
| |
| * remove Cancelable from adt APIAleksey Kladov2019-01-158-58/+41
|/
* Merge #551bors[bot]2019-01-1512-65/+56
|\ | | | | | | | | | | | | | | 551: remove Cancelable from Module API, part 2 r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * remove Cancelable from Crate APIAleksey Kladov2019-01-154-10/+10
| |
| * remove Cancelable from Module API, part 2Aleksey Kladov2019-01-157-33/+28
| |
| * remove Cancelable from Module APIAleksey Kladov2019-01-156-22/+18
|/
* Merge #550bors[bot]2019-01-1518-104/+80
|\ | | | | | | | | | | | | | | 550: remove Cancelable from source binders r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * remove cancelable from symbolsAleksey Kladov2019-01-155-14/+12
| |
| * remove Cancelable from source bindersAleksey Kladov2019-01-1516-90/+68
|/
* Merge #549bors[bot]2019-01-156-31/+28
|\ | | | | | | | | | | | | | | 549: remove Cancelable from module_tree_query r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * remove Cancelable from module_tree_queryAleksey Kladov2019-01-156-31/+28
|/
* Merge #548bors[bot]2019-01-155-7/+19
|\ | | | | | | | | | | | | | | 548: check_canceled does not return Result r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * check_canceled does not return ResultAleksey Kladov2019-01-155-7/+19
| |
* | Merge #547bors[bot]2019-01-157-44/+44
|\| | | | | | | | | | | | | | | 547: update salsa r=matklad a=matklad Notably, this includes unwinding-based cancelation. Co-authored-by: Aleksey Kladov <[email protected]>
| * update salsaAleksey Kladov2019-01-157-44/+44
| |
* | Merge #545bors[bot]2019-01-151-0/+1
|\ \ | |/ |/| | | | | | | | | | | 545: Reveal the newly added source change in the editor. r=matklad a=kjeremy Fixes #543 Co-authored-by: Jeremy A. Kolb <[email protected]>
| * Reveal the newly added source change in the editor.Jeremy A. Kolb2019-01-141-0/+1
| |
* | Merge #546bors[bot]2019-01-1520-195/+495
|\ \ | |/ |/| | | | | | | | | | | 546: replace `assert_dbg_eq` with Insta r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * switch to insta for testingAleksey Kladov2019-01-1520-195/+495
| |
* | Merge #485bors[bot]2019-01-1419-130/+625
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 485: Add type inference for a bunch of primitives r=flodiebold a=marcusklaas This PR adds inference for `&str`, `&[u8]`, `char`, `bool`, floats and integers. For floats and integers it uses type variables to infer the exact type, i.e. `u32`, from context when it's not annotated explicitly. I'm not quite happy with the implementation yet, but I think it mostly works now. Co-authored-by: Marcus Klaas de Vries <[email protected]>
| * | Address issues found in reviewMarcus Klaas de Vries2019-01-143-56/+54
| | |
| * | Fix type inference for raw (byte) stringsMarcus Klaas de Vries2019-01-147-66/+120
| | |
| * | Give literal expression default values for nowMarcus Klaas de Vries2019-01-141-23/+9
| | |
| * | Fixup testsMarcus Klaas de Vries2019-01-1412-211/+283
| | |
| * | Start moving literal interpretation to the AST (WIP)Marcus Klaas de Vries2019-01-144-10/+131
| | |
| * | don't try to treat arrays and tuples as literalsMarcus Klaas de Vries2019-01-145-57/+27
| | |
| * | Use type variables to determine exact type for ambiguous numeric literalsMarcus Klaas de Vries2019-01-146-14/+64
| | |
| * | Try implementing integer type inference (WIP)Marcus Klaas de Vries2019-01-148-46/+129
| | |
| * | Implement type inference for literals (WIP)Marcus Klaas de Vries2019-01-148-5/+166
| |/
* | Merge #538bors[bot]2019-01-144-8/+10
|\ \ | |/ |/| | | | | | | | | | | 538: update cargo_metadata r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * update cargo_metadataAleksey Kladov2019-01-144-8/+10
|/
* Merge #537bors[bot]2019-01-1413-47/+47
|\ | | | | | | | | | | | | | | 537: switch to lsp-types r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * switch to lsp-typesAleksey Kladov2019-01-1413-47/+47
|/
* Merge #534bors[bot]2019-01-141-42/+23
|\ | | | | | | | | | | | | | | 534: Add visibility to hover r=matklad a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * Remove duplicationJeremy Kolb2019-01-141-74/+23
| |
| * Add visibility to hoverJeremy Kolb2019-01-141-9/+41
|/
* Merge #533bors[bot]2019-01-131-5/+10
|\ | | | | | | | | | | | | | | 533: target_selection_range is not nullable in the implementation r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * target_selection_range is not nullable in the implementationAleksey Kladov2019-01-131-5/+10
|/
* Merge #532bors[bot]2019-01-132-2/+21
|\ | | | | | | | | | | | | | | 532: fix go to parent module r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * fix go to parent moduleAleksey Kladov2019-01-132-2/+21
| |
* | Merge #530bors[bot]2019-01-133-10/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 530: Fix some random typos r=matklad a=killercup Co-authored-by: Pascal Hertleif <[email protected]>
| * | Fix some random typosPascal Hertleif2019-01-133-10/+10
|/ /
* | Merge #529bors[bot]2019-01-132-69/+69
|\ \ | |/ |/| | | | | | | | | | | 529: :arrow_up: npm r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * :arrow_up: npmAleksey Kladov2019-01-132-69/+69
|/
* Merge #527bors[bot]2019-01-132-5/+71
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 527: goto defenition works for type-inferred methods r=flodiebold a=matklad This uses type inference results for `goto method` functionality. This is achieved by adding another map to `InferenceResult`. I wonder how we should handle this long-term... The pattern seems to be "we are doing some analysis, and we produce some stuff as a by-product, and IDE would like to use the stuff". Ideally, adding an additional bit of info shouldn't require threading it through all data structures. I kinda like how Kotlin deals with this problem. They have this [`BindingContext`](https://github.com/JetBrains/kotlin/blob/72e351a0e3610051fe4222dca4e1eeedf7ae45da/compiler/frontend/src/org/jetbrains/kotlin/resolve/BindingContext.java#L122) thing, which is basically an [`AnyMap`](https://github.com/JetBrains/kotlin/blob/72e351a0e3610051fe4222dca4e1eeedf7ae45da/compiler/frontend/src/org/jetbrains/kotlin/resolve/BindingContext.java#L122) of HashMaps. Deep in the compiler guts, they [record the info](https://github.com/JetBrains/kotlin/blob/ba6da7c40a6cc502508faf6e04fa105b96bc7777/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/tasks/TracingStrategyForInvoke.java#L70-L75) into the map, using a type key, a value key and a value. Then the IDE [reads this map](https://github.com/JetBrains/kotlin/blob/ba6da7c40a6cc502508faf6e04fa105b96bc7777/idea/src/org/jetbrains/kotlin/idea/inspections/RedundantNotNullExtensionReceiverOfInlineInspection.kt#L64) (via a [helper](https://github.com/JetBrains/kotlin/blob/ba6da7c40a6cc502508faf6e04fa105b96bc7777/compiler/frontend/src/org/jetbrains/kotlin/resolve/calls/util/callUtil.kt#L178-L180)). The stuff in between does not know that this type-key exists, unless it inspects it. Co-authored-by: Aleksey Kladov <[email protected]>
| * goto defenition works for type-inferred methodsAleksey Kladov2019-01-132-5/+71
| |
* | Merge #526bors[bot]2019-01-133-11/+51
|\| | | | | | | | | | | | | | | 526: fix indent caclulation r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>