aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #2626bors[bot]2019-12-212-10/+59
|\ | | | | | | | | | | | | | | 2626: Recursive collect macros in impl items r=matklad a=edwin0cheng Co-authored-by: Edwin Cheng <[email protected]>
| * Add a limit for protect against infinite recursionEdwin Cheng2019-12-201-2/+10
| |
| * Recursive collect macros in impl itemsEdwin Cheng2019-12-202-10/+51
| |
* | Merge #2627bors[bot]2019-12-214-33/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | 2627: Use SelectionRange from LSP 3.15 r=matklad a=kjeremy Co-authored-by: Jeremy Kolb <[email protected]>
| * | Use SelectionRange from LSP 3.15Jeremy Kolb2019-12-204-33/+13
| |/
* | Merge #2625bors[bot]2019-12-2116-80/+70
|\ \ | |/ |/| | | | | | | | | | | 2625: Clippy lints r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * Clippy lintskjeremy2019-12-2016-80/+70
| |
* | Merge #2624bors[bot]2019-12-2015-178/+210
|\ \ | | | | | | | | | | | | | | | | | | | | | 2624: Separate module item from module scope r=matklad a=matklad bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * | Make legacy macros privateAleksey Kladov2019-12-204-19/+24
| | |
| * | Privitize implsAleksey Kladov2019-12-204-6/+12
| | |
| * | Make items privateAleksey Kladov2019-12-202-46/+42
| | |
| * | Move some code to scopeAleksey Kladov2019-12-202-26/+37
| | |
| * | Fix typosAleksey Kladov2019-12-201-2/+2
| | |
| * | Move impls to ItemScopeAleksey Kladov2019-12-2010-13/+16
| | |
| * | Reduce visibilityAleksey Kladov2019-12-201-6/+6
| | |
| * | Rename ModuleScope -> ItemScopeAleksey Kladov2019-12-202-4/+4
| | |
| * | DocsAleksey Kladov2019-12-201-3/+6
| | |
| * | Move ModuleScope to a new moduleAleksey Kladov2019-12-205-108/+114
| | |
| * | Add item_scope moduleAleksey Kladov2019-12-202-0/+2
| | |
* | | Merge #2623bors[bot]2019-12-205-48/+114
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2623: Add support macros in impl blocks r=matklad a=edwin0cheng This PR add support for macros in impl blocks, which reuse `Expander` for macro expansion. see also: #2459 Co-authored-by: Edwin Cheng <[email protected]>
| * | | Add support macros in impl blocksEdwin Cheng2019-12-205-48/+114
| |/ /
* | | Merge #2622bors[bot]2019-12-201-1/+1
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 2622: Simplify r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | SimplifyAleksey Kladov2019-12-201-1/+1
| | |
* | | Merge #2620bors[bot]2019-12-203-35/+40
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 2620: Update packages r=matklad a=kjeremy Co-authored-by: kjeremy <[email protected]>
| * | Protect against null as revealed by `npm test`kjeremy2019-12-201-2/+7
| | |
| * | Update to latest packageskjeremy2019-12-202-33/+33
|/ /
* | Merge #2617bors[bot]2019-12-202-59/+23
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 2617: Remove index resolving from hover r=matklad a=kjeremy I have left in `HoverResult`'s support for multiple entries because we may still want that at some point. Per https://github.com/rust-analyzer/rust-analyzer/issues/2542#issuecomment-565238142 Co-authored-by: kjeremy <[email protected]>
| * | Remove unused importskjeremy2019-12-201-1/+1
| | |
| * | Remove the index resolution from hoverkjeremy2019-12-201-58/+22
| | | | | | | | | | | | We are reasonably precise now to do this.
* | | Merge #2619bors[bot]2019-12-203-5/+48
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2619: Coerce closures to fn pointers r=flodiebold a=flodiebold E.g. `let x: fn(A) -> B = |x| { y };` Co-authored-by: Florian Diebold <[email protected]>
| * | | Coerce closures to fn pointersFlorian Diebold2019-12-203-5/+48
|/ / / | | | | | | | | | E.g. `let x: fn(A) -> B = |x| { y };`
* | | Merge #2618bors[bot]2019-12-203-2/+18
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2618: Fix coercion of last expression in function body r=flodiebold a=flodiebold Co-authored-by: Florian Diebold <[email protected]>
| * | | Fix coercion of last expression in function bodyFlorian Diebold2019-12-203-2/+18
|/ / /
* | | Merge #2616bors[bot]2019-12-208-6/+113
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 2616: Handle closure return types r=flodiebold a=flodiebold Fixes #2547. Co-authored-by: Florian Diebold <[email protected]>
| * | Handle closure return typesFlorian Diebold2019-12-208-6/+113
|/ / | | | | | | Fixes #2547.
* | Merge #2615bors[bot]2019-12-203-6/+41
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2615: Fix wrong path parsing for macro call in pattern position r=edwin0cheng a=edwin0cheng The parser incorrectly insert a `PathPat` inside `MacroCall` syntax node when parsing inside a pattern position, for example : ```rust let foo!() = 0; ``` become: ``` MACRO_CALL@[60; 66) PATH_PAT@[60; 63) <------------- It should not exist PATH@[60; 63) PATH_SEGMENT@[60; 63) NAME_REF@[60; 63) IDENT@[60; 63) "foo" EXCL@[63; 64) "!" TOKEN_TREE@[64; 66) L_PAREN@[64; 65) "(" R_PAREN@[65; 66) ")" ``` This PR fix this bug and add some test to make sure goto-defintion works for macro inside pattern. Co-authored-by: Edwin Cheng <[email protected]>
| * Fix parser for macro call in pattern positionEdwin Cheng2019-12-203-6/+41
|/
* Merge #2614bors[bot]2019-12-202-3/+3
|\ | | | | | | | | | | | | | | 2614: Clippy cleanup r=matklad a=kjeremy Just a few tweaks from the latest clippy. There are a lot more but we should probably tweak our settings. Co-authored-by: kjeremy <[email protected]>
| * Use unwrap_or_defaultkjeremy2019-12-201-2/+2
| |
| * Remove useless clonekjeremy2019-12-201-1/+1
| |
* | Merge #2592bors[bot]2019-12-205-5/+61
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2592: Add std::ops::Index support for infering r=edwin0cheng a=edwin0cheng see also #2534 Seem like this can't fix #2534 for this case: ```rust fn foo3(bar: [usize; 2]) { let baz = bar[1]; // <--- baz is still unknown ? println!("{}", baz); } ``` Co-authored-by: Edwin Cheng <[email protected]>
| * | Use fill instread of for loopEdwin Cheng2019-12-191-5/+3
| | |
| * | Use build_for_defEdwin Cheng2019-12-191-1/+1
| | |
| * | Add std::ops::Index support for inferingEdwin Cheng2019-12-195-5/+63
| | |
* | | Merge #2613bors[bot]2019-12-201-9/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | 2613: Remove code that never was alive? r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Remove code that never was alive?Aleksey Kladov2019-12-201-9/+2
|/ /
* | Merge #2612bors[bot]2019-12-206-36/+68
|\ \ | | | | | | | | | | | | | | | | | | | | | 2612: Fix resolve for field init shorthand r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Fix resolve for field init shorthandAleksey Kladov2019-12-206-36/+68
|/ /
* | Merge #2611bors[bot]2019-12-203-6/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 2611: Fix highlighting for field init shorthand r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Fix highlighting for field init shorthandAleksey Kladov2019-12-202-5/+4
| | |