aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #1815bors[bot]2019-09-2720-126/+373
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu This PR makes normal use cases of `$crate` from macros work as expected. It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more. Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro. Screenshot: ![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png) Co-authored-by: uHOOCCOOHu <[email protected]>
| * FixuHOOCCOOHu2019-09-272-2/+2
| |
| * Support `$crate` in item and expr place.uHOOCCOOHu2019-09-2614-37/+268
| |
| * Store crate info in `MacroDefId`uHOOCCOOHu2019-09-263-5/+11
| |
| * Refactor `Name` ready for hygienic macrouHOOCCOOHu2019-09-264-84/+94
| |
* | Merge #1923bors[bot]2019-09-2611-126/+212
|\ \ | | | | | | | | | | | | | | | | | | | | | 1923: Add SubstsBuilder r=flodiebold a=flodiebold + further refactoring. Co-authored-by: Florian Diebold <[email protected]>
| * | Add SubstsBuilderFlorian Diebold2019-09-2611-126/+212
|/ / | | | | | | + further refactoring.
* | Merge #1921bors[bot]2019-09-2613-87/+114
|\ \ | |/ |/| | | | | | | | | | | 1921: WIP: start simplifying editing API r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Start simplifying editing APIAleksey Kladov2019-09-2613-87/+114
| |
* | Merge #1919bors[bot]2019-09-262-24/+45
|\| | | | | | | | | | | | | | | 1919: move diff to ra_syntax r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * move diff to ra_syntaxAleksey Kladov2019-09-262-24/+45
|/
* Merge #1918bors[bot]2019-09-269-250/+213
|\ | | | | | | | | | | | | | | 1918: keep ast creation API simple r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * keep ast creation API simpleAleksey Kladov2019-09-269-250/+213
|/
* Merge #1917bors[bot]2019-09-262-8/+2
|\ | | | | | | | | | | | | | | 1917: disable periodic GC r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * disable periodic GCAleksey Kladov2019-09-262-8/+2
| | | | | | | | | | There's hypothesis that it doesn't do anything useful now that we have LRU...
* | Merge #1823bors[bot]2019-09-266-257/+1218
|\ \ | |/ |/| | | | | | | | | | | 1823: Support type coercion r=flodiebold a=uHOOCCOOHu Co-authored-by: uHOOCCOOHu <[email protected]>
| * Support all coercion placesuHOOCCOOHu2019-09-253-96/+216
| |
| * Support custom `CoerceUnsized`uHOOCCOOHu2019-09-254-247/+476
| | | | | | | | Split out tests about coercion
| * Better handle never type and branch merginguHOOCCOOHu2019-09-255-181/+392
| | | | | | | | Split out tests for never type to another file
| * Support basic implicit type coerceuHOOCCOOHu2019-09-252-142/+383
| |
| * Support auto-deref in argument positionuHOOCCOOHu2019-09-252-1/+161
| |
* | Merge #1916bors[bot]2019-09-261-1/+1
|\ \ | |/ |/| | | | | | | | | | | 1916: Missing word r=matklad a=nicrd Co-authored-by: nicrd <[email protected]>
| * Missing wordnicrd2019-09-261-1/+1
|/
* 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
| | |