aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* replace AST visitors with macroEkaterina Babshukova2019-10-0510-297/+334
|
* [#1807] Refactor file structureLúcás Meier2019-10-041-33/+33
| | | | | Use the more conventional way of importing the ast types, and put the assist at the top of the file.
* Fix formattingLúcás Meier2019-10-041-22/+9
|
* Create an assist for applying De Morgan's lawLúcás Meier2019-10-031-0/+115
| | | | | | | | | | | | | | | Fixes #1807 This assist can transform expressions of the form `!x || !y` into `!(x && y)`. This also works with `&&`. This assist will only trigger if the cursor is on the central logical operator. The main limitation of this current implementation is that both operands need to be an explicit negation, either of the form `!x`, or `x != y`. More operands could be accepted, but this would complicate the implementation quite a bit.
* WIP: Add demorgan application with naive negationLúcás Meier2019-10-031-0/+2
|
* Fix parsing of block expressions in "forbid_structs" contexts.Geoffry Song2019-10-0311-54/+242
| | | | | | Forbidding block expressions entirely is too strict; instead, we should only forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a range expression).
* Merge #1945bors[bot]2019-10-022-3/+72
|\ | | | | | | | | | | | | | | | | | | 1945: Handle divergence in type inference for blocks r=flodiebold a=lnicola Fixes #1944. The `infer_basics` test is failing, not sure what to do about it. Co-authored-by: Laurențiu Nicola <[email protected]>
| * Handle divergence in type inference for blocksLaurențiu Nicola2019-10-022-3/+72
| |
* | Update pico-argskjeremy2019-10-023-6/+6
|/
* Change user message.Alexander Andreev2019-09-301-1/+1
|
* Drop debug strings.Alexander Andreev2019-09-301-5/+1
|
* Merge branch 'master' into feature/issue/1856Alexander Andreev2019-09-3051-953/+1160
|\ | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs
| * FixesuHOOCCOOHu2019-09-302-19/+8
| |
| * Fix API of AttruHOOCCOOHu2019-09-309-54/+32
| |
| * Parse correct AttrInputuHOOCCOOHu2019-09-3033-601/+844
| |
| * cleanup editorAleksey Kladov2019-09-302-5/+11
| |
| * remove ast_editor.rsAleksey Kladov2019-09-304-59/+16
| |
| * move remove bounds to ast/edit.rsAleksey Kladov2019-09-303-18/+16
| |
| * move field list to ast/edit.rsAleksey Kladov2019-09-305-108/+106
| |
| * migrate add impl items to the new editing APIAleksey Kladov2019-09-284-80/+109
| |
| * simplify strip attrsAleksey Kladov2019-09-285-29/+35
| |
| * correctly reset chalk state after a panicAleksey Kladov2019-09-281-6/+9
| |
| * replace horrible hack with a slightly less horrible oneAleksey Kladov2019-09-272-3/+5
| |
* | Added test for check doc strings in crates.Alexander Andreev2019-09-30171-29/+419
|/ | | | #1856
* 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
| |
* | Add SubstsBuilderFlorian Diebold2019-09-2611-126/+212
| | | | | | | | + further refactoring.
* | Start simplifying editing APIAleksey Kladov2019-09-2612-82/+107
|/
* move diff to ra_syntaxAleksey Kladov2019-09-262-24/+45
|
* 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...
* | 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 #1912bors[bot]2019-09-256-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 onceAleksey Kladov2019-09-256-31/+119
| |
* | Resolve trait associated itemsFlorian Diebold2019-09-255-19/+78
| | | | | | | | E.g. `Default::default` or `<Foo as Default>::default`.
* | 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
| |
* | 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
| |