aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add basic support for array lengths in typesJade2021-05-1112-110/+155
| | | | | | | | | | This recognizes `let a = [1u8, 2, 3]` as having type `[u8; 3]` instead of the previous `[u8; _]`. Byte strings and `[0u8; 2]` kinds of range array declarations are unsupported as before. I don't know why a bunch of our rustc tests had single quotes inside strings un-escaped by `UPDATE_EXPECT=1 cargo t`, but I don't think it's bad? Maybe something in a nightly?
* Merge #8794bors[bot]2021-05-109-67/+77
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8794: Give MergeBehaviour variants better names r=Veykril a=Veykril I never really liked the variant names I gave this enum from the beginning and then I found out about rustfmt's `imports_granularity` config: > imports_granularity > > How imports should be grouped into use statements. Imports will be merged or split to the configured level of granularity. > > Default value: Preserve > Possible values: Preserve, Crate, Module, Item > Stable: No I personally prefer using `crate` over `full` and `module` over last, they seem more descriptive. Keeping these similar between tooling also seems like a good plus point to me. We might even wanna take over the entire enum at some point if we have a `format/cleanup imports` assists in the future which would probably want to also have the `preserve` and `item` options. Co-authored-by: Lukas Wirth <[email protected]>
| * Update docsLukas Wirth2021-05-102-3/+3
| |
| * Give MergeBehaviour variants better namesLukas Wirth2021-05-108-66/+76
| |
* | Merge #8793bors[bot]2021-05-101-1/+1
|\ \ | |/ |/| | | | | | | | | | | 8793: Corrected 2 typos on line 83 r=Veykril a=mixio Co-authored-by: mixio <[email protected]>
| * Corrected 2 typos on line 83mixio2021-05-101-1/+1
|/
* Merge #8791bors[bot]2021-05-101-0/+115
|\ | | | | | | | | | | | | | | | | | | | | 8791: feat: auto-indent use tree lists r=jonas-schievink a=jonas-schievink ![Peek 2021-05-10 15-20](https://user-images.githubusercontent.com/1786438/117665627-53e16c80-b1a3-11eb-8906-1b88b394367b.gif) bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * feat: auto-indent use tree listsJonas Schievink2021-05-101-0/+115
|/
* Merge #8790bors[bot]2021-05-101-1/+0
|\ | | | | | | | | | | | | | | | | 8790: fix: fix manual rendering r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * fix: fix manual renderingAleksey Kladov2021-05-101-1/+0
| | | | | | | | We add `// see the other repo` comments before headers (==). This one isn't a header, but a closing of the example block.
* | Merge #8789bors[bot]2021-05-102-12/+12
|\ \ | |/ |/| | | | | | | | | | | | | 8789: simplify r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * simplifyAleksey Kladov2021-05-102-12/+12
|/
* Merge #8784bors[bot]2021-05-091-19/+131
|\ | | | | | | | | | | | | | | | | | | | | | | 8784: feat: auto-insert `}` when typing `{` in use item r=jonas-schievink a=jonas-schievink ![Peek 2021-05-09 22-14](https://user-images.githubusercontent.com/1786438/117585742-45983f80-b114-11eb-80fc-d44f480fd012.gif) cc https://github.com/rust-analyzer/rust-analyzer/issues/8636 bors r+ Co-authored-by: Jonas Schievink <[email protected]>
| * feat: auto-insert `}` when typing `{` in use itemJonas Schievink2021-05-091-19/+131
|/
* Merge #8783bors[bot]2021-05-0914-117/+104
|\ | | | | | | | | | | | | | | | | 8783: internal: introduce `ast::make::ext` module with common shortcuts r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * internal: introduce `ast::make::ext` module with common shortcutsAleksey Kladov2021-05-0914-117/+104
| | | | | | | | | | | | | | | | | | | | There's a tension between keeping a well-architectured minimal orthogonal set of constructs, and providing convenience functions. Relieve this pressure by introducing an dedicated module for non-orthogonal shortcuts. This is inspired by the django.shortcuts module which serves a similar purpose architecturally.
* | Merge #8782bors[bot]2021-05-094-44/+49
|\| | | | | | | | | | | | | | | | | 8782: internal: fix make API r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * internal: fix make APIAleksey Kladov2021-05-094-44/+49
| |
* | Merge #8781bors[bot]2021-05-097-100/+100
|\| | | | | | | | | | | | | | | | | 8781: internal: rewrite **Repalce impl Trait** assist to mutable syntax trees r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * internal: rewrite **Repalce impl Trait** assist to mutable syntax treesAleksey Kladov2021-05-092-23/+20
| |
| * cleanupsAleksey Kladov2021-05-093-5/+6
| |
| * cleanupsAleksey Kladov2021-05-094-17/+25
| |
| * minor: fix test styleAleksey Kladov2021-05-092-67/+31
| |
| * fix: join lines doesn't add space before closing quoteAleksey Kladov2021-05-091-0/+30
| |
* | Merge #8776bors[bot]2021-05-0910-74/+119
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8776: fix: fix unnecessary recomputations due to macros r=jonas-schievink a=jonas-schievink This computes a macro's fragment kind eagerly (when the calling file is still available in parsed form) and stores it in the `MacroCallLoc`. This means that during expansion we no longer have to reparse the file containing the macro call, avoiding the unnecessary salsa dependencies (https://github.com/rust-analyzer/rust-analyzer/pull/8746#issuecomment-834776349). Marking as draft until I manage to find a test for this problem, since for some reason `typing_inside_a_function_should_not_invalidate_expansions` does not catch this (which might indicate that I misunderstand the problem). I've manually confirmed that this fixes the issue described in https://github.com/rust-analyzer/rust-analyzer/pull/8746#issuecomment-834776349: ``` 7ms - parse_query @ FileId(179) 12ms - SourceBinder::to_module_def 12ms - crate_def_map:wait 5ms - item_tree_query (1 calls) 7ms - ??? ``` Co-authored-by: Jonas Schievink <[email protected]>
| * Test that none of the macros are reparsedJonas Schievink2021-05-091-0/+6
| |
| * Precompute macro fragment kindJonas Schievink2021-05-099-74/+113
| |
* | Merge #8779bors[bot]2021-05-091-9/+32
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8779: fix: join lines doesn't add space before closing quote r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | fix: join lines doesn't add space before closing quoteAleksey Kladov2021-05-091-9/+32
|/ /
* | Merge #8777bors[bot]2021-05-092-4/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8777: Escape characters in builtin macros correctly r=edwin0cheng a=edwin0cheng Fixes #8749 It is the same bug in #8560 but in our `quote!` macro. Because the "\" are adding exponentially in #8749 case, so the text is eat up all the memory. bors r+ Co-authored-by: Edwin Cheng <[email protected]>
| * | Escape characters in builtin macros correctlyEdwin Cheng2021-05-092-4/+4
| |/
* | Merge #8774bors[bot]2021-05-093-37/+82
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8774: feat: Honor `.cargo/config.toml` r=matklad a=Veykril ![f1Gup1aiAn](https://user-images.githubusercontent.com/3757771/117545448-1dcaae00-b026-11eb-977a-0f35a5e3f2e0.gif) Implements `cargo/.config` build target and cfg access by using unstable cargo options: - `cargo config get` to read the target triple out of the config to pass to `cargo metadata` --filter-platform - `cargo rustc --print` to read out the `rustc_cfgs`, this causes us to honor `rustflags` and the like. If those commands fail, due to not having a nightly toolchain present for example, they will fall back to invoking rustc directly as we currently do. I personally think it should be fine to use these unstable options as they are unlikely to change(even if they did it shouldn't be a problem due to the fallback) and don't burden the user if they do not have a nightly toolchain at hand since we fall back to the previous behaviour. cc #8741 Closes #6604, Closes #5904, Closes #8430, Closes #8480 Co-authored-by: Lukas Wirth <[email protected]>
| * Use RUSTC_BOOTSTRAP=1 instead of +nightly when discovering rust_cfgs ↵Lukas Wirth2021-05-082-40/+35
| | | | | | | | throughs cargo
| * Discover rustc_cfg through unstable cargo optionsLukas Wirth2021-05-083-33/+83
| |
* | Merge #8773bors[bot]2021-05-086-78/+222
|\ \ | | | | | | | | | | | | | | | | | | | | | 8773: fix: Correctly support SelfType when searching for usages r=Veykril a=Veykril Fixes #7443 Co-authored-by: Lukas Wirth <[email protected]>
| * | Don't handle Self as a usage for TraitDefsLukas Wirth2021-05-082-23/+27
| | |
| * | Fix builtintype def_to_tyLukas Wirth2021-05-081-8/+14
| | |
| * | Correctly support SelfType when searching for usagesLukas Wirth2021-05-086-76/+210
| | |
* | | Merge #8775bors[bot]2021-05-082-2/+23
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8775: Add `=` to pattern recovery r=Veykril a=Veykril bors r+ Co-authored-by: Lukas Wirth <[email protected]>
| * | | Add `=` to pattern recoveryLukas Wirth2021-05-082-2/+23
| |/ /
* | | Merge #8772bors[bot]2021-05-081-11/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8772: minor: remove dead code r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | minor: remove dead codeAleksey Kladov2021-05-081-11/+1
| | | |
* | | | Merge #8770bors[bot]2021-05-082-74/+127
|\| | | | |/ / |/| | | | | | | | | | | | | | | | | | | | 8770: feat: add "mentoring instructions" test for pull up assist r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | feat: add "mentoring instructions" test for pull up assistAleksey Kladov2021-05-081-1/+32
| | |
| * | internal: pull_assignment_up uses mutable treesAleksey Kladov2021-05-082-69/+71
| | |
| * | minor: add missing testAleksey Kladov2021-05-081-16/+36
| | |
* | | Merge #8769bors[bot]2021-05-082-121/+8
|\| | | | | | | | | | | | | | | | | | | | | | | | | | 8769: internal: removed dead code r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | dead codeAleksey Kladov2021-05-081-121/+1
| | |
| * | Disable more incrementalAleksey Kladov2021-05-081-0/+7
| | |
* | | Merge #8768bors[bot]2021-05-081-56/+46
|\| | | |/ |/| | | | | | | | | | | | | 8768: internal: remove one more usage of SyntaxRewriter r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>