aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
*---. Merge #2500 #2505 #2506bors[bot]2019-12-0812-140/+31
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| | | * Remove one more TyAleksey Kladov2019-12-083-8/+3
| | |/
| | * Remove more dead codeAleksey Kladov2019-12-084-111/+1
| | |
| | * Cleanup module structureAleksey Kladov2019-12-083-8/+7
| | |
| * | Expand macros in blocks to expressions for nowFlorian Diebold2019-12-082-5/+6
| | | | | | | | | | | | Expanding to statements isn't handled properly yet and breaks things.
| * | Fix range in goto_through_format testFlorian Diebold2019-12-081-1/+1
| | |
| * | Fix expansion of format_argsFlorian Diebold2019-12-082-7/+13
| | |
| | |
| \ \
| \ \
| \ \
*---. \ \ Merge #2501 #2502 #2503bors[bot]2019-12-089-158/+140
|\ \ \ \ \ | |_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]>
| | | * | Code: check whether the LSP binary is in PATHLaurențiu Nicola2019-12-086-8/+41
| | | | |
| | * | | Delay legacy macro expansionEdwin Cheng2019-12-081-149/+57
| | |/ /
| * | / Fix coercion from &Foo to an inference variable in a referenceFlorian Diebold2019-12-082-1/+42
| | |/ | |/| | | | | | | We didn't try to unify within the reference, but we should.
* | | Merge #2504bors[bot]2019-12-081-2/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2504: Use rustup toolchain install instead of rustup install r=matklad a=edwin0cheng `rustup install` and `rustup uninstall` are going to be deprecated in rustup 1.21.0 See https://github.com/rust-lang/rustup/issues/2148 and https://www.reddit.com/r/rust/comments/e7rer9/we_need_your_help_before_rustup_1210_can_be/ Co-authored-by: Edwin Cheng <[email protected]>
| * | Use rustup toolchain instead of rustup installEdwin Cheng2019-12-081-2/+2
| |/
* | Merge #2499bors[bot]2019-12-089-110/+54
|\ \ | | | | | | | | | | | | | | | | | | | | | 2499: Remove ty from code_model r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Remove dead codeAleksey Kladov2019-12-081-33/+0
| | |
| * | Remove ty from code_modelAleksey Kladov2019-12-089-55/+53
| | |
| * | Remove bodies from code_modelAleksey Kladov2019-12-081-9/+0
| | |
| * | remove `infer` method from CodeModelAleksey Kladov2019-12-081-14/+2
| | |
* | | Merge #2498bors[bot]2019-12-086-107/+94
|\| | | |/ |/| | | | | | | | | | | 2498: Drop some unused methods r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * Drop some unused methodsAleksey Kladov2019-12-082-49/+5
| |
| * Cleanup Field tyAleksey Kladov2019-12-082-26/+47
| |
| * Cleanup Crate APIAleksey Kladov2019-12-085-32/+42
| |
* | Merge #2466bors[bot]2019-12-084-44/+194
|\ \ | |/ |/| | | | | | | | | | | | | | | | | 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
| |
| * Push glob_imports only if non-existsEdwin Cheng2019-12-071-4/+4
| |
| * Add testsEdwin Cheng2019-12-062-0/+61
| |
* | Merge #2497bors[bot]2019-12-087-70/+52
|\ \ | | | | | | | | | | | | | | | | | | | | | 2497: Remove MacroFileKind r=matklad a=edwin0cheng This PR move `to_macro_file_kind` to `hir_expand::db` and use it to get the `FragmentKind` directly, such that we can remove `MacroFileKind`. Co-authored-by: Edwin Cheng <[email protected]>
| * | Remove MacroFileKindEdwin Cheng2019-12-087-70/+52
|/ /
* | Merge #2495bors[bot]2019-12-071-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 2495: Discover type parameters in more cases r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Discover type parameters in more casesAleksey Kladov2019-12-071-0/+5
|/ /
* | Merge #2494bors[bot]2019-12-0719-92/+272
|\ \ | | | | | | | | | | | | | | | | | | | | | 2494: Get the right analyzer for impls r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Rename GenericParam -> TypeParamAleksey Kladov2019-12-0718-79/+77
| | | | | | | | | | | | We don't have LifetimeParam yet, but they are planned!
| * | Get the right analyzer for implsAleksey Kladov2019-12-074-2/+23
| | |
| * | Classify name works for TypeParamsAleksey Kladov2019-12-076-5/+68
| | |
| * | Gotodef for TypeParametersAleksey Kladov2019-12-071-7/+18
| | |
| * | ToNav for GenericParamAleksey Kladov2019-12-072-1/+28
| | |
| * | Track source of type parametersAleksey Kladov2019-12-072-23/+82
| | |
| * | MinorAleksey Kladov2019-12-071-3/+4
|/ /
* | Merge #2493bors[bot]2019-12-071-16/+15
|\ \ | | | | | | | | | | | | | | | | | | | | | 2493: Show type hints for & patterns r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * | Show type hints for & patternsAleksey Kladov2019-12-071-16/+15
|/ /
* | Merge pull request #2491 from matklad/skip-heavy-tests-by-defaultAleksey Kladov2019-12-073-3/+54
|\ \ | | | | | | Skip slow tests by default
| * | Skip slow tests by defaultAleksey Kladov2019-12-073-3/+54
| | |
* | | Merge #2492bors[bot]2019-12-0711-180/+213
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2492: Refactor generic parameteres lowering r=flodiebold a=matklad indices and parent params seem to be concerns, specific to `hir_ty`, so move them there. Co-authored-by: Aleksey Kladov <[email protected]>
| * | | ReformatAleksey Kladov2019-12-071-2/+2
| | | |
| * | | Refactor parameter count trackingAleksey Kladov2019-12-076-32/+30
| | | |
| * | | Remove idx and parent generics from genericsAleksey Kladov2019-12-0710-157/+181
| | | | | | | | | | | | | | | | | | | | This makes `hir_def::GenericParams` flatter. The logic for re-numbering the params is moved to hir instead.
| * | | Store GenericParams in arenaAleksey Kladov2019-12-074-14/+25
|/ / /
* | | Merge #2490bors[bot]2019-12-071-24/+21
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 2490: Get rid of unwraps in add_new r=matklad a=flodiebold Probably fixes #2464. Co-authored-by: Florian Diebold <[email protected]>
| * | Get rid of unwraps in add_newFlorian Diebold2019-12-071-24/+21
|/ / | | | | | | Probably fixes #2464.
* | Merge #2489bors[bot]2019-12-066-65/+194
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2489: Implement `format_args` r=flodiebold a=flodiebold This fixes a huge amount of type mismatches (because every format call was a type mismatch so far); I also hoped to get go to def working within `format!` etc., and the test says it should, but in practice it still doesn't seem to... Also remove the `len` parameter from `Name::new_inline_ascii`, which I'm assuming was only there because of `const fn` limitations? cc @edwin0cheng Co-authored-by: Florian Diebold <[email protected]>