Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | migrate add impl items to the new editing API | Aleksey Kladov | 2019-09-28 | 4 | -80/+109 |
| | |||||
* | simplify strip attrs | Aleksey Kladov | 2019-09-28 | 5 | -29/+35 |
| | |||||
* | correctly reset chalk state after a panic | Aleksey Kladov | 2019-09-28 | 1 | -6/+9 |
| | |||||
* | replace horrible hack with a slightly less horrible one | Aleksey Kladov | 2019-09-27 | 2 | -3/+5 |
| | |||||
* | Merge #1815 | bors[bot] | 2019-09-27 | 20 | -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]> | ||||
| * | Fix | uHOOCCOOHu | 2019-09-27 | 2 | -2/+2 |
| | | |||||
| * | Support `$crate` in item and expr place. | uHOOCCOOHu | 2019-09-26 | 14 | -37/+268 |
| | | |||||
| * | Store crate info in `MacroDefId` | uHOOCCOOHu | 2019-09-26 | 3 | -5/+11 |
| | | |||||
| * | Refactor `Name` ready for hygienic macro | uHOOCCOOHu | 2019-09-26 | 4 | -84/+94 |
| | | |||||
* | | Add SubstsBuilder | Florian Diebold | 2019-09-26 | 11 | -126/+212 |
| | | | | | | | | + further refactoring. | ||||
* | | Start simplifying editing API | Aleksey Kladov | 2019-09-26 | 12 | -82/+107 |
|/ | |||||
* | move diff to ra_syntax | Aleksey Kladov | 2019-09-26 | 2 | -24/+45 |
| | |||||
* | keep ast creation API simple | Aleksey Kladov | 2019-09-26 | 9 | -250/+213 |
| | |||||
* | Merge #1917 | bors[bot] | 2019-09-26 | 2 | -8/+2 |
|\ | | | | | | | | | | | | | | | 1917: disable periodic GC r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | disable periodic GC | Aleksey Kladov | 2019-09-26 | 2 | -8/+2 |
| | | | | | | | | | | There's hypothesis that it doesn't do anything useful now that we have LRU... | ||||
* | | Support all coercion places | uHOOCCOOHu | 2019-09-25 | 3 | -96/+216 |
| | | |||||
* | | Support custom `CoerceUnsized` | uHOOCCOOHu | 2019-09-25 | 4 | -247/+476 |
| | | | | | | | | Split out tests about coercion | ||||
* | | Better handle never type and branch merging | uHOOCCOOHu | 2019-09-25 | 5 | -181/+392 |
| | | | | | | | | Split out tests for never type to another file | ||||
* | | Support basic implicit type coerce | uHOOCCOOHu | 2019-09-25 | 2 | -142/+383 |
| | | |||||
* | | Support auto-deref in argument position | uHOOCCOOHu | 2019-09-25 | 2 | -1/+161 |
|/ | |||||
* | Merge #1912 | bors[bot] | 2019-09-25 | 6 | -31/+119 |
|\ | | | | | | | | | | | | | | | 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 once | Aleksey Kladov | 2019-09-25 | 6 | -31/+119 |
| | | |||||
* | | Resolve trait associated items | Florian Diebold | 2019-09-25 | 5 | -19/+78 |
| | | | | | | | | E.g. `Default::default` or `<Foo as Default>::default`. | ||||
* | | Fix retrieval of the Fn traits | Florian Diebold | 2019-09-25 | 4 | -8/+7 |
|/ | | | | | I used the wrong query, so it only used the lang items from the respective crate... | ||||
* | Merge #1911 | bors[bot] | 2019-09-25 | 2 | -6/+6 |
|\ | | | | | | | | | | | | | | | 1911: fewer monomorphisations r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | fewer monomorphisations | Aleksey Kladov | 2019-09-25 | 2 | -6/+6 |
| | | |||||
* | | clean up naming | Aleksey Kladov | 2019-09-25 | 2 | -2/+2 |
| | | |||||
* | | cleanup diagnostics | Aleksey Kladov | 2019-09-25 | 1 | -4/+6 |
| | | |||||
* | | shorten AstBuilder names | Aleksey Kladov | 2019-09-25 | 5 | -54/+42 |
| | | |||||
* | | minor builder cleanups | Aleksey Kladov | 2019-09-25 | 3 | -55/+55 |
| | | |||||
* | | cleaned up record field builder | Aleksey Kladov | 2019-09-25 | 2 | -7/+4 |
| | | |||||
* | | move ast builder to a separate file | Aleksey Kladov | 2019-09-25 | 7 | -235/+237 |
| | | |||||
* | | move assists to subdir | Aleksey Kladov | 2019-09-25 | 20 | -49/+55 |
|/ | |||||
* | Merge #1906 | bors[bot] | 2019-09-25 | 1 | -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 Yamada | 2019-09-25 | 1 | -2/+5 |
| | | |||||
* | | Remove redundant clone() | Shotaro Yamada | 2019-09-25 | 14 | -29/+21 |
| | | |||||
* | | Avoid intermediate allocation | Shotaro Yamada | 2019-09-25 | 1 | -1/+1 |
|/ | |||||
* | Implement the call argument checking order hack for closures | Florian Diebold | 2019-09-24 | 3 | -12/+108 |
| | |||||
* | Make the closure_1 test work | Florian Diebold | 2019-09-24 | 3 | -27/+40 |
| | |||||
* | Make closures impl closure traits | Florian Diebold | 2019-09-24 | 4 | -41/+188 |
| | |||||
* | Give closures types | Florian Diebold | 2019-09-24 | 5 | -21/+78 |
| | |||||
* | Upgrade Chalk again | Florian Diebold | 2019-09-24 | 1 | -3/+6 |
| | |||||
* | simplify | Aleksey Kladov | 2019-09-24 | 4 | -39/+25 |
| | |||||
* | Merge #1898 | bors[bot] | 2019-09-23 | 3 | -3/+3 |
|\ | | | | | | | | | | | | | | | | | 1898: Drive by lints r=kjeremy a=kjeremy Co-authored-by: kjeremy <[email protected]> Co-authored-by: Jeremy Kolb <[email protected]> | ||||
| * | Revert Self | Jeremy Kolb | 2019-09-23 | 1 | -1/+1 |
| | | |||||
| * | Drive by lints | kjeremy | 2019-09-23 | 4 | -4/+4 |
| | | |||||
* | | Upgrade Chalk | Florian Diebold | 2019-09-23 | 1 | -4/+6 |
|/ | |||||
* | Split off path expression inference code into submodule | Florian Diebold | 2019-09-23 | 2 | -172/+199 |
| | |||||
* | Merge #1895 | bors[bot] | 2019-09-22 | 7 | -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 Chalk | Florian Diebold | 2019-09-22 | 1 | -1/+5 |
| | |