about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
AgeCommit message (Collapse)AuthorLines
2025-04-22Adapt for new cycle handling changing in SalsaChayim Refael Friedman-339/+133
2025-04-22Adjust for `salsa::Id::from_u32()` being unsafeChayim Refael Friedman-183/+80
This impacts our manual `salsa::Id` wrappers. I refactored them a bit to improve safety.
2025-04-22Adjust for new Salsa not implementing `Debug` by defaultChayim Refael Friedman-6/+6
2025-04-22Depend on Salsa v0.20.0Chayim Refael Friedman-10/+11
2025-04-22Merge pull request #19479 from ChayimFriedman2/generic-mismatchLukas Wirth-405/+1243
feat: Add two new diagnostics: one for mismatch in generic arguments count, and another for mismatch in their kind
2025-04-22The new diagnostic has found a bug lurking in minicoreChayim Refael Friedman-1/+1
It's cute, isn't it?
2025-04-22Add two new diagnostics: one for mismatch in generic arguments count, and ↵Chayim Refael Friedman-404/+1242
another for mismatch in their kind Also known as E0747 and E0107. And by the way, rewrite how we lower generic arguments and deduplicate it between paths and method calls. The new version is taken almost straight from rustc. This commit also changes the binders of `generic_defaults()`, to only include the binders of the arguments up to (and not including) the current argument. This make it easier to handle it in the rewritten lowering of generic args. It's also how rustc does it.
2025-04-22Merge pull request #19622 from A4-Tacks/raw-string-suffixLukas Wirth-13/+293
Fix ide-assists raw_string suffix fail
2025-04-22Merge pull request #19662 from Veykril/push-lqqvmnonlwrxLukas Wirth-1/+1
minor: Fix outdated comment in hir-ty/generics.rs
2025-04-22minor: Fix outdated comment in hir-ty/generics.rsLukas Wirth-1/+1
2025-04-22Merge pull request #19624 from jackh726/chalk-updateLukas Wirth-173/+166
Update chalk
2025-04-22Resolve `offset_of!()` in IDEChayim Refael Friedman-3/+169
2025-04-21refactor: Fold hygiene map into bindings themselvesLukas Wirth-34/+38
`HygieneId` fits into `Binding`'s padding.
2025-04-21Merge pull request #19644 from ChayimFriedman2/const-symsLukas Wirth-479/+438
internal: Make predefined symbols `const` instead of `static`
2025-04-21Merge pull request #19604 from WtzLAS/fix-issue-19601Lukas Wirth-1/+1
Add semicolon to use
2025-04-21Merge pull request #19629 from jyn514/unset-envLukas Wirth-91/+114
allow using `null` to unset an environment variable
2025-04-21Merge pull request #19643 from ChayimFriedman2/generic-const-itemsLukas Wirth-3/+305
feat: Parse generic consts
2025-04-21Merge pull request #19653 from Veykril/push-lmrprywtztztLukas Wirth-4/+30
feat: parse `super let`
2025-04-21Merge pull request #19651 from roife/enhance-notable-trait-renderLukas Wirth-36/+16
minor: simplify and enhance notable traits rendering
2025-04-21Merge pull request #19634 from Veykril/push-mnpmxxrprymoLukas Wirth-20/+38
feat: Allow unsetting env vars in `server.extraEnv` config
2025-04-21feat: parse `super let`Lukas Wirth-4/+30
2025-04-21minor: simplify and enhance notable traits renderingroifewu-36/+16
2025-04-21feat: Allow unsetting env vars in `server.extraEnv` configLukas Wirth-20/+38
2025-04-21fix: Support unstable `UnsafePinned` struct in type layout calcLukas Wirth-14/+16
2025-04-21fix: Fix completion_snippets_custom config always erroringLukas Wirth-10/+12
2025-04-21Back out "When changing the config, do not emit an error if a field is missing"Lukas Wirth-5/+4
This backs out commit 8497fc321cad420b923e15f600106f8e22324930.
2025-04-21Allow wrapping `builtin#offset_of` fields argument in parenthesesChayim Refael Friedman-0/+61
This is necessary to correctly handle nested fields (`foo.bar`), see the comments in the code for explanation.
2025-04-21Remove unnecessary predefined symbol clonesChayim Refael Friedman-367/+318
Now that they're const it's no longer needed. Nothing manual was performed: only a regexp search of `sym::([\w][\w\d]*)\.clone\(\)` and replace by `sym::$1`.
2025-04-21Get rid of static predefined symbolsChayim Refael Friedman-112/+120
Make them all `const`.
2025-04-21Parse generic constsChayim Refael Friedman-3/+305
A lang team experiment, https://github.com/rust-lang/rust/issues/113521.
2025-04-20When changing the config, do not emit an error if a field is missingChayim Refael Friedman-4/+5
2025-04-20Remove unused macro armChayim Refael Friedman-10/+3
2025-04-20doc: Fix dead manual linksbbb651-26/+26
2025-04-20doc: Rework generated configuration to have anchorsbbb651-358/+690
Also first line of default code blocks being used as the language instead of json and fixes a missing `json` language in a doc comment code block.
2025-04-20Update chalkjackh726-173/+166
2025-04-19Merge pull request #19617 from ChayimFriedman2/more-actualChayim Refael Friedman-1523/+1471
internal: Make `HirFileId`, `EditionedFileId` and macro files Salsa struct
2025-04-19Make `HirFileId`, `EditionedFileId` and macro files Salsa structChayim Refael Friedman-1523/+1471
And make more queries non-interned. Also flip the default for queries, now the default is to not intern and to intern a query you need to say `invoke_interned`.
2025-04-19allow using `null` to unset an environment variablejyn-91/+114
this makes three changes: - all callsites of `toolchain::command` are changed to use `command(path, extra_env)`, instead of manually adding the env after the fact. - all `map<str, str>` are changed to `map<str, option<str>>`. - `command` checks for None and calls `env_remove` if so. this caught several places where environment variables weren't being propagated: - when running `rustc --print=target-libdir` - when running `cargo rustc -- --print=target-spec-json` - when running the custom DiscoverLinkedProjects config. I *think* this is for use with non-cargo build systems, so I didn't change it.
2025-04-19don't ignore config values that fail to parsejyn-14/+17
previously, these would just silently be ignored. now they give a warning such as: ``` invalid config values: /completion/snippets/custom: invalid type: null, expected a map; /cargo/extraEnv: invalid type: null, expected a string; ```
2025-04-19Fix replace_string_with_char escaped char quoteA4-Tacks-5/+145
2025-04-18Merge pull request #19613 from ChayimFriedman2/substLukas Wirth-8/+46
fix: Fix a panic when a trait method in an impl declares a lifetime parameter not in the trait declaration
2025-04-18Support ide-assists raw_string suffixA4-Tacks-8/+148
2025-04-18Merge pull request #19618 from lnicola/pgo-revisionLaurențiu Nicola-12/+20
internal: Support specific revisions for PGO
2025-04-18Support specific revisions for pgoLaurențiu Nicola-12/+20
2025-04-18Sort notable traits in hoverChayim Refael Friedman-0/+1
Previously it was ordered by what accidentally happened to be the crate graph order, which isn't sensible, plus it caused changes when any change was done to salsa IDs.
2025-04-18Merge pull request #19616 from ChayimFriedman2/transparent-diagsLukas Wirth-0/+6
internal: Make hir-ty non-diagnostic queries transparent
2025-04-18Make hir-ty non-diagnostic queries transparentChayim Refael Friedman-0/+6
That is, all queries that have a `with_diagnostic` variant. Them being tracked was (maybe) needed before #19462, because back then diagnostics could refer `AstId`s (for macro types), but now they are no longer needed.
2025-04-18Fix a panic when a trait method in an impl declares a lifetime parameter not ↵Chayim Refael Friedman-8/+46
in the trait declaration Shuffle the code a bit.
2025-04-17Rollup merge of #139969 - psumbera:libc-rust-analyzer, r=lnicolaMatthias Krüger-2/+2
update libc This is needed for https://github.com/rust-lang/rust/pull/138699#discussion_r2048603474
2025-04-17update libcpetr sumbera - Sun Microsystems - Prague Czech Republic-2/+2