aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
* Merge #2642bors[bot]2019-12-224-6/+11
|\ | | | | | | | | | | | | | | 2642: Use name instead of ident in parser for macro 2.0 syntax r=matklad a=edwin0cheng Co-authored-by: Edwin Cheng <[email protected]>
| * Use name instead of ident for macro 2.0 sytnaxEdwin Cheng2019-12-224-6/+11
| |
* | Merge #2641bors[bot]2019-12-226-0/+71
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2641: Parse const generics r=matklad a=roblabla Adds very primitive support for parsing const generics (`const IDENT: TY`) so that rust-analyzer stops complaining about the syntax being invalid. Fixes #1574 Fixes #2281 Co-authored-by: roblabla <[email protected]>
| * | Parse const genericsroblabla2019-12-226-0/+71
| | | | | | | | | | | | | | | Fixes #1574 Fixes #2281
* | | Add some module docsJeremy Kolb2019-12-219-9/+14
| | |
* | | 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.