aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #2628bors[bot]2019-12-2110-331/+279
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2628: Add macro 2.0 support in parser r=matklad a=edwin0cheng This PR added a new syntax kind : `MACRO_DEF` and a keyword `MACRO_KW` there are two syntax for declarative macro 2.0 : 1. Normal : `macro m { ($i:ident) => {} }` , which handle similar to legacy one. 2. Call like: `macro m($i:ident) {}`, it produces a single token tree which have two child token trees : `($i:ident)` and `{}` Co-authored-by: Edwin Cheng <[email protected]>
| * | Add macro keyword to ITEM_RECOVERY_SETEdwin Cheng2019-12-211-1/+1
| | |
| * | Add macro 2.0 support in parserEdwin Cheng2019-12-2110-330/+278
| | |
* | | 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-213-30/+10
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-203-30/+10
| |/ /
* | | 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
| |/ / /
* | / / SimplifyAleksey Kladov2019-12-201-1/+1
| |/ / |/| |
* | | 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.
* | | | Coerce closures to fn pointersFlorian Diebold2019-12-203-5/+48
| | | | | | | | | | | | | | | | E.g. `let x: fn(A) -> B = |x| { y };`
* | | | Fix coercion of last expression in function bodyFlorian Diebold2019-12-203-2/+18
| | | |
* | | | Handle closure return typesFlorian Diebold2019-12-208-6/+113
| |/ / |/| | | | | | | | Fixes #2547.
* | | 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
| | | |
* | | | Remove code that never was alive?Aleksey Kladov2019-12-201-9/+2
| |/ / |/| |
* | | Fix resolve for field init shorthandAleksey Kladov2019-12-206-36/+68
| | |
* | | Fix highlighting for field init shorthandAleksey Kladov2019-12-202-5/+4
| | |
* | | Improve highlighting testAleksey Kladov2019-12-203-2/+7
| | |
* | | Reduce copy-paste some moreAleksey Kladov2019-12-202-87/+9
| | |
* | | Use generic ItemLoc for implsAleksey Kladov2019-12-205-28/+10
| | |
* | | Remove more copy-pasteAleksey Kladov2019-12-201-121/+29
| | |
* | | Remove more copy-pasteAleksey Kladov2019-12-201-57/+30
| | |
* | | Support for nested traitsAleksey Kladov2019-12-205-9/+18
| | |
* | | Support for nested statics, consts and type aliasesAleksey Kladov2019-12-203-5/+18
| | |
* | | Support for nested ADTAleksey Kladov2019-12-205-22/+35
| | |