aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Support basic implicit type coerceuHOOCCOOHu2019-09-252-142/+383
|
* Support auto-deref in argument positionuHOOCCOOHu2019-09-252-1/+161
|
* Merge #1912bors[bot]2019-09-257-31/+121
|\ | | | | | | | | | | | | | | 1912: add new editing API, suitable for modifying several nodes at once r=viorina a=matklad r? @viorina Co-authored-by: Aleksey Kladov <[email protected]>
| * add new editing API, suitable for modifying several nodes at onceAleksey Kladov2019-09-257-31/+121
| |
* | Merge #1914bors[bot]2019-09-255-19/+78
|\ \ | | | | | | | | | | | | | | | | | | | | | 1914: Resolve trait associated items r=matklad a=flodiebold E.g. `Default::default` or `<Foo as Default>::default`. Co-authored-by: Florian Diebold <[email protected]>
| * | Resolve trait associated itemsFlorian Diebold2019-09-255-19/+78
|/ / | | | | | | E.g. `Default::default` or `<Foo as Default>::default`.
* | Merge #1913bors[bot]2019-09-254-8/+7
|\ \ | |/ |/| | | | | | | | | | | | | 1913: Fix retrieval of the Fn traits r=flodiebold a=flodiebold I used the wrong query, so it only used the lang items from the respective crate... Co-authored-by: Florian Diebold <[email protected]>
| * Fix retrieval of the Fn traitsFlorian Diebold2019-09-254-8/+7
|/ | | | | I used the wrong query, so it only used the lang items from the respective crate...
* Merge #1911bors[bot]2019-09-252-6/+6
|\ | | | | | | | | | | | | | | 1911: fewer monomorphisations r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * fewer monomorphisationsAleksey Kladov2019-09-252-6/+6
| |
* | Merge #1910bors[bot]2019-09-255-97/+84
|\ \ | | | | | | | | | | | | | | | | | | | | | 1910: Assists r=matklad a=matklad bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * | clean up namingAleksey Kladov2019-09-252-2/+2
| | |
| * | cleanup diagnosticsAleksey Kladov2019-09-251-4/+6
| | |
| * | shorten AstBuilder namesAleksey Kladov2019-09-255-54/+42
| | |
| * | minor builder cleanupsAleksey Kladov2019-09-253-55/+55
| | |
| * | cleaned up record field builderAleksey Kladov2019-09-252-7/+4
| | |
* | | Merge #1909bors[bot]2019-09-2523-284/+292
|\| | | |/ |/| | | | | | | | | | | 1909: move ast builder to a separate file r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * move ast builder to a separate fileAleksey Kladov2019-09-257-235/+237
| |
| * move assists to subdirAleksey Kladov2019-09-2520-49/+55
|/
*-. Merge #1900 #1907bors[bot]2019-09-256-23/+216
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1900: Add rollup bundler for vscode extension r=matklad a=JasperDeSutter This is an alternative approach to #1451 - bundling should improve extension startup times as explained [here](https://code.visualstudio.com/api/working-with-extensions/bundling-extension). I'm using [rollup.js](https://rollupjs.org/guide/en/) which is a small and light bundler as opposed to webpack. Bundling is only done for creating the final vsix package, reducing 196 files down to 7 (of which 1 javascript file). 1907: update documentation according to new settings r=matklad a=lesurp 1. `command` has been added to change the default cargo-watch command 2. `check-arguments` has been renamed to `arguments` as a consequence Thoses changes were merged in #1434 Co-authored-by: JasperDeSutter <[email protected]> Co-authored-by: Paul Lesur <[email protected]>
| | * update documentation according to new settingsPaul Lesur2019-09-251-1/+2
| | | | | | | | | | | | | | | | | | | | | 1. `command` has been added to change the default cargo-watch command 2. `check-arguments` has been renamed to `arguments` as a consequence Thoses changes were merged in #1434
| * | add rollup bundler for vscode extensionJasperDeSutter2019-09-235-22/+214
| | |
* | | Merge #1906bors[bot]2019-09-251-2/+5
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 1906: Add missing lang-items to `def_crates` r=matklad a=sinkuu Co-authored-by: Shotaro Yamada <[email protected]>
| * | Add missing lang-items to `def_crates`Shotaro Yamada2019-09-251-2/+5
| | |
* | | Merge #1904bors[bot]2019-09-2515-30/+22
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 1904: Remove redundant `clone()` r=matklad a=sinkuu Co-authored-by: Shotaro Yamada <[email protected]>
| * | Remove redundant clone()Shotaro Yamada2019-09-2514-29/+21
| | |
| * | Avoid intermediate allocationShotaro Yamada2019-09-251-1/+1
|/ /
* | Merge #1845bors[bot]2019-09-247-72/+385
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 1845: Closure types r=flodiebold a=flodiebold This adds types for closures and makes them implement the `Fn` traits (we don't currently care or try to infer `Fn` vs. `FnMut` vs. `FnOnce`; this would require move analysis, I think). This requires some changes in Chalk; one is that we need to know the self type when asked for impls, so we can synthesize `Fn` trait impls for closures; but also there's a problem that prevents us from normalizing the closure output type correctly that I _think_ will be fixed on the Chalk side (basically, we ask too early and try to solve `Normalize(<?1 as FnOnce<(u32,)>>::Output => ?0)` -- note the variable in the self type -- and instead of an ambiguous answer, we get back that it can't be solved, so we don't try again. Niko mentioned he's making all goals where the self type is unconstrained flounder, which I think would mean this would be ambiguous). Co-authored-by: Florian Diebold <[email protected]>
| * | Implement the call argument checking order hack for closuresFlorian Diebold2019-09-243-12/+108
| | |
| * | Make the closure_1 test workFlorian Diebold2019-09-243-27/+40
| | |
| * | Make closures impl closure traitsFlorian Diebold2019-09-244-41/+188
| | |
| * | Give closures typesFlorian Diebold2019-09-245-21/+78
|/ /
* | Merge #1903bors[bot]2019-09-242-8/+11
|\ \ | | | | | | | | | | | | | | | | | | | | | 1903: Upgrade Chalk again r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | Upgrade Chalk againFlorian Diebold2019-09-242-8/+11
|/ /
* | Merge #1902bors[bot]2019-09-244-39/+25
|\ \ | |/ |/| | | | | | | | | | | 1902: simplify r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * simplifyAleksey Kladov2019-09-244-39/+25
|/
* Merge #1898bors[bot]2019-09-233-3/+3
|\ | | | | | | | | | | | | | | | | 1898: Drive by lints r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]> Co-authored-by: Jeremy Kolb <[email protected]>
| * Revert SelfJeremy Kolb2019-09-231-1/+1
| |
| * Drive by lintskjeremy2019-09-234-4/+4
| |
* | Merge #1899bors[bot]2019-09-232-9/+11
|\ \ | |/ |/| | | | | | | | | | | 1899: Upgrade Chalk r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * Upgrade ChalkFlorian Diebold2019-09-232-9/+11
|/
* Merge #1897bors[bot]2019-09-232-172/+199
|\ | | | | | | | | | | | | | | 1897: Split off path expression inference code into submodule r=matklad a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * Split off path expression inference code into submoduleFlorian Diebold2019-09-232-172/+199
|/
* Merge #1895bors[bot]2019-09-227-23/+173
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1895: Handle associated type shorthand (`T::Item`) (Second attempt) r=flodiebold a=flodiebold This is only allowed for generic parameters (including `Self` in traits), and special care needs to be taken to not run into cycles while resolving it, because we use the where clauses of the generic parameter to find candidates for the trait containing the associated type, but the where clauses may themselves contain instances of short-hand associated types. In some cases this is even fine, e.g. we might have `T: Trait<U::Item>, U: Iterator`. If there is a cycle, we'll currently panic, which isn't great, but better than overflowing the stack... Co-authored-by: Florian Diebold <[email protected]>
| * Handle projection types from ChalkFlorian Diebold2019-09-221-1/+5
| |
| * Handle associated type shorthand (`T::Item`)Florian Diebold2019-09-227-392/+538
| | | | | | | | | | | | | | | | | | | | | | | | This is only allowed for generic parameters (including `Self` in traits), and special care needs to be taken to not run into cycles while resolving it, because we use the where clauses of the generic parameter to find candidates for the trait containing the associated type, but the where clauses may themselves contain instances of short-hand associated types. In some cases this is even fine, e.g. we might have `T: Trait<U::Item>, U: Iterator`. If there is a cycle, we'll currently panic, which isn't great, but better than overflowing the stack...
* | Merge #1896bors[bot]2019-09-223-3/+9
|\ \ | | | | | | | | | | | | | | | | | | | | | 1896: remove obsolete TOOD r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | remove obsolete TOODAleksey Kladov2019-09-221-1/+0
| | | | | | | | | | | | I have no idea what I've meant to fix here :-(
| * | test for TOODs as wellAleksey Kladov2019-09-222-371/+371
| | |
| * | minor cleanupAleksey Kladov2019-09-221-1/+8
| |/