aboutsummaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | 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
| | | |
* | | | 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
| |/ / /
* | | | minor: remove dead codeAleksey Kladov2021-05-081-11/+1
| | | |
* | | | 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
|/ / /
* | | dead codeAleksey Kladov2021-05-081-121/+1
| | |
* | | internal: remove one more usage of SyntaxRewriterAleksey Kladov2021-05-081-56/+46
|/ /
* | internal: remove one more syntax rewriterAleksey Kladov2021-05-083-65/+38
| |
* | internal: add rust-analyzer version to panic contextAleksey Kladov2021-05-081-4/+17
| |
* | internal: expose cfg attrs from hir::CrateAleksey Kladov2021-05-073-1/+7
| |
* | Use package renaming so source doesn't say tikvJohn Renner2021-05-072-4/+4
| |
* | Switch from jemalloc to tikv-jemallocJohn Renner2021-05-072-4/+4
| |
* | Merge #8751bors[bot]2021-05-071-6/+13
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8751: minor: standard snippet r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | minor: standard snippetAleksey Kladov2021-05-071-6/+13
| | |
* | | fix: use raw idents in `make::name{_ref}` with keywordsJonas Schievink2021-05-072-2/+32
|/ /
* | Merge #8745bors[bot]2021-05-062-0/+24
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 8745: Support goto_type_definition for types r=matklad a=Veykril I'm unsure if the approach of lowering an `ast::Type` to a `hir::Type` is a good idea, it seems fine to me at least. Fixes #2882 Co-authored-by: Lukas Tobias Wirth <[email protected]>
| * | Support goto_type_definition for typesLukas Tobias Wirth2021-05-062-0/+24
| | |
* | | Merge #8280bors[bot]2021-05-066-30/+53
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8280: Borrow text of immutable syntax node r=iDawer a=iDawer In https://github.com/rust-analyzer/rowan/pull/101 `rowan::SyntaxNode::green` returns `Cow<'_, GreenNodeData>`. It returns borrow of green node of immutable syntax tree node. Using this we can return borrowed text from `ast::Name::text`. ~~However now it allocates in case of mutable syntax trees.~~ (see next comment) The idea comes from https://github.com/rust-analyzer/rowan/pull/100#issuecomment-809330325 Co-authored-by: Dawer <[email protected]>
| * | | Fix buildDawer2021-05-061-1/+1
| | | |
| * | | Hide implementation details of TokenTextDawer2021-05-062-8/+20
| | | |
| * | | Clean upDawer2021-05-061-15/+2
| | | |
| * | | Borrow text from nodes of immutable syntax treesDawer2021-05-062-25/+49
| | | |
| * | | Adapt to a new rowan borrowing node API.Dawer2021-05-062-2/+2
| | | |
| * | | Update to rowan 0.13.0-pre.5Dawer2021-05-061-1/+1
| | | |
* | | | Reuse database in LowerCtxJonas Schievink2021-05-067-20/+15
| | | |
* | | | Update crates/hir_def/src/nameres/tests/incremental.rsAleksey Kladov2021-05-061-1/+1
| | | | | | | | | | | | Co-authored-by: Jonas Schievink <[email protected]>
* | | | internal: add failing incremental testAleksey Kladov2021-05-061-0/+52
| | | |
* | | | Don't store call-site text offsets in hygiene infoJonas Schievink2021-05-0618-93/+143
| | | |
* | | | Small macro fixKirill Bulatov2021-05-061-1/+1
| | | |
* | | | internal: use API stabilized in 1.52Aleksey Kladov2021-05-066-89/+15
| | | |
* | | | SimplifyEdwin Cheng2021-05-061-6/+2
| | | |
* | | | Fix: Do not overwrite comments and attrs in trait impl completionJesse Bakker2021-05-061-8/+65
|/ / /
* | | Merge #8674bors[bot]2021-05-052-0/+46
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8674: fix for #8664: Emit folding ranges for multi-line where clauses r=matklad a=m5tfi #8664 I added a test that assert folding multi-line where clauses while leaving single lined one. Please, let me know if the code needs further improvements. Co-authored-by: m5tfi <[email protected]>
| * | | remove unneeded `visited_where_clauses`m5tfi2021-05-051-11/+3
| | | |
| * | | add folding for where clausesm5tfi2021-04-302-0/+54
| | | |
* | | | simplifyLukas Tobias Wirth2021-05-056-41/+40
| | | |