about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates
AgeCommit message (Collapse)AuthorLines
2025-08-24Add ReturnExpr completion suggestA4-Tacks-3/+54
2025-08-24Merge pull request #20512 from A4-Tacks/arith-op-not-on-selectedChayim Refael Friedman-1/+16
replace_arith_op not applicable on selected
2025-08-24replace_arith_op not applicable on selectedA4-Tacks-1/+16
2025-08-24Add an option to remove reborrows from adjustment inlay hintsChayim Refael Friedman-5/+67
Reborrows are consecutive deref then ref. Make it the default because reborrows are mostly useless to the programmer. Also rename `rust-analyzer.inlayHints.expressionAdjustmentHints.enable: "reborrow"` to `rust-analyzer.inlayHints.expressionAdjustmentHints.enable: "borrows"`, as it's not about reborrows but about any ref/deref and it's confusing with the new setting.
2025-08-23Merge pull request #20513 from A4-Tacks/let-in-let-chainChayim Refael Friedman-3/+17
Add let in let-chain completion support
2025-08-23Merge pull request #20518 from A4-Tacks/fix-else-in-in-letChayim Refael Friedman-3/+355
Fix `else` completion in `let _ = if x {} $0`
2025-08-23Merge pull request #20511 from A4-Tacks/fix-conv-int-lit-on-selectedChayim Refael Friedman-2/+8
convert_integer_literal not on selected
2025-08-23Fix `else` completion in `let _ = if x {} $0`A4-Tacks-3/+355
2025-08-22Add let in let-chain completion supportA4-Tacks-3/+17
Example --- ```rust fn f() { if true && $0 {} } ``` -> ```rust fn f() { if true && let $1 = $0 {} } ```
2025-08-22fix: convert_integer_literal not on selectedA4-Tacks-2/+8
`convert_integer_literal` can only convert the first literal, it is not reasonable to apply it when selected Example --- ```rust fn main() { $01+1$0; } ``` **Assist old outputs**: ``` Convert 1 to 0b1 Convert 1 to 0o1 Convert 1 to 0x1 Replace arithmetic with call to checked_* Replace arithmetic with call to saturating_* Replace arithmetic with call to wrapping_* Extract into variable Extract into constant Extract into static Extract into function ``` **Assist this PR outputs**: ``` Replace arithmetic with call to checked_* Replace arithmetic with call to saturating_* Replace arithmetic with call to wrapping_* Extract into variable Extract into constant Extract into static Extract into function ```
2025-08-22Fix panic in syntax_highlightingLukas Wirth-27/+29
2025-08-22Fix indent for move_guard_to_arm_bodyA4-Tacks-13/+57
Input: ```rust fn main() { match 92 { x $0if true && true && true => { { false } }, _ => true } } ``` Old output: ```rust fn main() { match 92 { x => if true && true && true { { { false } } }, _ => true }; } ``` This PR fixed: ```rust fn main() { match 92 { x => if true && true && true { { { false } } }, _ => true } } ```
2025-08-21Merge pull request #20504 from ShoyuVanilla/ethereum-madnessChayim Refael Friedman-1/+58
fix: Infinite recursion while lowering assoc type bounds from supertraits
2025-08-22fix: Infinite recursion while lowering assoc type bounds from supertraitsShoyu Vanilla-1/+58
2025-08-21Remove unnecessary `salsa::attach()` callsChayim Refael Friedman-13/+7
2025-08-21Attach the DB when mapping the result of `world_symbols()`Chayim Refael Friedman-6/+9
We call `try_to_nav()` there.
2025-08-21Attach the DB in symbol queriesChayim Refael Friedman-12/+16
2025-08-19user facing code should use not use `PostAnalysis`lcnr-2/+2
2025-08-18Auto-attach database in `Analysis` callsLukas Wirth-101/+137
2025-08-18Merge pull request #20442 from ChayimFriedman2/unqualifyShoyu Vanilla (Flint)-1/+122
fix: Only import the item in "Unqualify method call" if needed
2025-08-17Remove fixme commentjackh726-1/+0
2025-08-17Add FIXME in named_associated_type_shorthand_candidatesjackh726-0/+3
2025-08-17Add fixme to associated_ty_item_boundsjackh726-0/+1
2025-08-17Update fixmejackh726-1/+1
2025-08-17Add new_empty_tuplejackh726-2/+7
2025-08-17Remove a bunch of stuff from chalk_dbjackh726-513/+80
2025-08-17Use impl_trait_ns in Impl::trait_refjackh726-4/+1
2025-08-17Switch TraitRef in hir::TraitRef to next solverjackh726-41/+288
2025-08-17Replace layout_of_ty with layout_of_ty_nsjackh726-73/+75
2025-08-17Remove all_super_traits in dyn_compatibilityjackh726-7/+33
2025-08-17Switch generics_require_sized_self to next solverjackh726-25/+17
2025-08-17Convert more of dyn_compatibility to next-solverjackh726-153/+130
2025-08-17Switch associated_type_shorthand_candidates to lower_nextsolverjackh726-159/+197
2025-08-17Cleanup assoc_type_shorthand_candidatesjackh726-14/+13
2025-08-17Change direct_super_traits to use generic_predicates_for_param_nsjackh726-25/+50
2025-08-17Convert some of mir/eval to next-solver typesjackh726-132/+258
2025-08-17Deduplicate layout_of_adtjackh726-47/+19
2025-08-17impl HirDisplay for next_solver::Tyjackh726-392/+584
2025-08-17Convert more of dyn_compatibility to next-solverjackh726-130/+123
2025-08-17Convert some of dyn_compatibility to next-solver and remove ↵jackh726-53/+79
generic_predicates_without_parent_query
2025-08-17fix: Make lang items query properly filter out overwritten/excluded sysrootsShoyu Vanilla-68/+166
2025-08-15Use a more specific error message when talking about the server logsKirill Bulatov-1/+3
2025-08-15add commentjackh726-0/+7
2025-08-15Add test for webrender-2022 metricsjackh726-0/+32
2025-08-14Merge pull request #20453 from jackh726/nts-part2Lukas Wirth-0/+3
Fix webrender-2022 metrics - shift vars when mapping dyn
2025-08-14feat: hint at unterminated strings in unknown prefix errorsRalf Anton Beier-1/+49
When encountering 'unknown literal prefix' errors, check for unbalanced quotes in recent code and suggest checking for unterminated string literals.
2025-08-14Track diagnostic generations per packageLukas Wirth-24/+32
2025-08-14Merge pull request #20455 from A4-Tacks/fix-indent-conv-match-to-let-elseShoyu Vanilla (Flint)-6/+58
Fix indent for convert_match_to_let_else
2025-08-14Merge pull request #20456 from A4-Tacks/match-with-if-let-guardShoyu Vanilla (Flint)-12/+52
Add guard to let-chain for replace_match_with_if_let
2025-08-14Add guard to let-chain for replace_match_with_if_letA4-Tacks-12/+52
```rust fn main() { match$0 Some(0) { Some(n) if n % 2 == 0 && n != 6 => (), _ => code(), } } ``` -> ```rust fn main() { if let Some(n) = Some(0) && n % 2 == 0 && n != 6 { () } else { code() } }