aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src
Commit message (Collapse)AuthorAgeFilesLines
...
* | | Merge #2623bors[bot]2019-12-203-48/+94
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-203-48/+94
| |/ /
* | / SimplifyAleksey Kladov2019-12-201-1/+1
| |/ |/|
* | Handle closure return typesFlorian Diebold2019-12-202-1/+3
|/ | | | Fixes #2547.
* Merge #2592bors[bot]2019-12-201-0/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| * Add std::ops::Index support for inferingEdwin Cheng2019-12-191-0/+1
| |
* | Remove code that never was alive?Aleksey Kladov2019-12-201-9/+2
| |
* | Fix resolve for field init shorthandAleksey Kladov2019-12-201-0/+5
| |
* | Reduce copy-paste some moreAleksey Kladov2019-12-202-87/+9
| |
* | Use generic ItemLoc for implsAleksey Kladov2019-12-202-24/+6
| |
* | Remove more copy-pasteAleksey Kladov2019-12-201-121/+29
| |
* | Remove more copy-pasteAleksey Kladov2019-12-201-57/+30
| |
* | Support for nested traitsAleksey Kladov2019-12-203-6/+13
| |
* | Support for nested statics, consts and type aliasesAleksey Kladov2019-12-203-5/+18
| |
* | Support for nested ADTAleksey Kladov2019-12-203-14/+27
| |
* | Introduce `ContainerId`Aleksey Kladov2019-12-204-15/+38
| |
* | Rename ContainerId -> AssocContainerIdAleksey Kladov2019-12-205-29/+29
| |
* | Add local functions to bodiesAleksey Kladov2019-12-202-18/+49
| |
* | Implement ChildBySource for DefWithBodyAleksey Kladov2019-12-191-42/+55
| |
* | Add body as a possible container for itemsAleksey Kladov2019-12-192-12/+13
| |
* | Allow storing defs in bodiesAleksey Kladov2019-12-192-1/+3
| |
* | Handle start imports in import groupsAleksey Kladov2019-12-193-3/+31
| |
* | Remove dead codeAleksey Kladov2019-12-181-5/+0
| |
* | Touch up docsAleksey Kladov2019-12-181-1/+2
| |
* | Forbid <T>::foo syntax in mod pathsAleksey Kladov2019-12-184-14/+21
| |
* | Move PathKindUpAleksey Kladov2019-12-181-14/+14
| |
* | Touch up docsAleksey Kladov2019-12-181-3/+4
|/
* Drop dead codeAleksey Kladov2019-12-171-11/+0
|
* Refactor PathKindAleksey Kladov2019-12-175-15/+26
|
* Use different types for path with and without genericsAleksey Kladov2019-12-1410-267/+385
|
* Use path macroFlorian Diebold2019-12-131-63/+32
|
* Rename N! to name!Florian Diebold2019-12-137-42/+42
|
* Add macros for known names and pathsFlorian Diebold2019-12-137-63/+58
|
* Correctly infer - and ! using std::ops::{Neg,Not}Emil Lauridsen2019-12-131-0/+8
|
* Correct obsolete commentAleksey Kladov2019-12-121-2/+1
|
* Move use tree lowering to a separate moduleAleksey Kladov2019-12-122-104/+118
|
* Dedupe from_source implsAleksey Kladov2019-12-121-1/+1
|
* Remove old location infraAleksey Kladov2019-12-122-63/+6
|
* Move enum&union to new locAleksey Kladov2019-12-1210-48/+100
|
* Move structs to new locAleksey Kladov2019-12-1210-24/+58
|
* Move traits to the new locAleksey Kladov2019-12-1211-26/+58
|
* Switch to the new location for implsAleksey Kladov2019-12-1210-23/+54
|
*-. Merge #2500 #2505 #2506bors[bot]2019-12-081-3/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2500: Fix format_args expansion & go to definition r=matklad a=flodiebold The expansion of format_args wasn't yet correct enough to type-check. Also make macros in statement position expand to expressions for now, since it's not handled correctly in HIR lowering yet. This finally fixes go to definition within print macros, I think :slightly_smiling_face: 2505: Remove more dead code r=matklad a=matklad 2506: Remove one more Ty r=matklad a=matklad Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Aleksey Kladov <[email protected]>
| * | Expand macros in blocks to expressions for nowFlorian Diebold2019-12-081-3/+4
| |/ | | | | | | Expanding to statements isn't handled properly yet and breaks things.
| |
| \
*-. \ Merge #2501 #2502 #2503bors[bot]2019-12-081-149/+57
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2501: Fix coercion from &Foo to an inference variable in a reference r=matklad a=flodiebold We didn't try to unify within the reference, but we should. 2502: Delay legacy macro expansion r=matklad a=edwin0cheng This PR make the following changes: * Delay legacy macro expansion such that we concentrated all item collecting macro expansion in one place. * Add `MacroDirective` to replace 3-tuples * After this refactoring, no macro is expanded recursively, hence we can remove the `MacroStackMonitor` and we handle the expansion limit by the fix-point loop count. 2503: Code: check whether the LSP binary is in PATH r=matklad a=lnicola I'm not really sure about the TS changes. I just made a couple of functions async and it seems to work. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Edwin Cheng <[email protected]> Co-authored-by: LaurenČ›iu Nicola <[email protected]>
| * | Delay legacy macro expansionEdwin Cheng2019-12-081-149/+57
| |/
* | Merge #2498bors[bot]2019-12-081-16/+26
|\ \ | |/ |/| | | | | | | | | | | 2498: Drop some unused methods r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Cleanup Field tyAleksey Kladov2019-12-081-16/+26
| |
* | Merge #2466bors[bot]2019-12-083-44/+165
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 2466: Handle partial resolve cases r=matklad a=edwin0cheng Another try to fix #2443 : We resolve all imports every time in `DefCollector::collect` loop even it is resolved previously. This is because other unresolved imports and macros will bring in another `PerNs`, so we can only assume that it has been partially resolved. Co-authored-by: Edwin Cheng <[email protected]>
| * Refactor resolve_imports logicEdwin Cheng2019-12-072-40/+129
| |