aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* More profilingAleksey Kladov2019-12-213-2/+11
|
* Merge #2637bors[bot]2019-12-215-3/+18
|\ | | | | | | | | | | | | | | 2637: Optimize and profile r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Optimize and profileAleksey Kladov2019-12-215-3/+18
| |
* | Move LocalImportIdAleksey Kladov2019-12-214-28/+20
| |
* | Remove import source mapAleksey Kladov2019-12-215-66/+15
| |
* | Remove import from resolutionAleksey Kladov2019-12-212-17/+12
|/
* Remove imports from hirAleksey Kladov2019-12-218-45/+22
|
* Revert "Merge #2629"Aleksey Kladov2019-12-2113-71/+166
| | | | | This reverts commit cdc9d682b066b110e0a44e5f8f1c574b38c16ba9, reversing changes made to 90ef070db3dce0a7acb9cd11d0b0d72de13c9d79.
* Add dummy implementations of env! and option_env! builtinsFlorian Diebold2019-12-213-43/+99
| | | | | | They don't do anything except return the correct type. Also refactor the builtin macro tests a bit.
* Merge #2629bors[bot]2019-12-2113-166/+71
|\ | | | | | | | | | | | | | | | | | | 2629: Remove imports from hir r=matklad a=matklad We only used them to avoid self-confirming completions (`use self::foo`), but that can be handled more locally. bors r+ Co-authored-by: Aleksey Kladov <[email protected]>
| * Privatize LocalImportIDAleksey Kladov2019-12-213-11/+8
| |
| * Remove import source mapAleksey Kladov2019-12-215-72/+15
| |
| * Don't track importsAleksey Kladov2019-12-212-48/+26
| |
| * Remove hir for importsAleksey Kladov2019-12-215-36/+23
| |
* | 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]>