about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
AgeCommit message (Collapse)AuthorLines
2025-03-15Merge pull request #19367 from Veykril/push-ryowkxkntnpoLukas Wirth-10115/+9
chore: Drop legacy salsa
2025-03-15chore: Remove legacy `SyntaxContextId` re-exportLukas Wirth-228/+164
2025-03-15chore: Drop legacy salsaLukas Wirth-10115/+9
2025-03-15Merge pull request #19364 from Veykril/push-uonyorwwzpzxLukas Wirth-3/+8
fix: Fix missing `with_durability` calls
2025-03-15fix: Fix missing `with_durability` callsLukas Wirth-3/+8
2025-03-14Require Rust 1.85David Richey-1/+1
2025-03-14Merge pull request #19271 from vishruth-thimmaiah/for_loop_to_while_letLukas Wirth-2/+467
feat: for loop to while let assist
2025-03-14Merge pull request #19356 from flodiebold/push-snpyvwuulkmwLukas Wirth-19/+20
fix: Avoid recursively debug printing crates
2025-03-14Avoid recursively debug printing cratesFlorian Diebold-19/+20
2025-03-14feat: for loop to while let assistVishruth-Thimmaiah-2/+467
2025-03-14Split `variant_data` into its own queryLukas Wirth-211/+189
2025-03-14Split enum variants out of `enum_data` queryLukas Wirth-52/+74
2025-03-14Move attribute parsing out of data moduleLukas Wirth-124/+128
2025-03-14Split assoc items out of `trait_data`/`impl_data` queriesLukas Wirth-397/+446
2025-03-13internal: don't panic when the crate graph isn't ready #19351David Barsky-30/+50
2025-03-13remove fixmejnyfah-1/+0
2025-03-13insert braces for closurejnyfah-5/+32
2025-03-12Emit an error when RTN is used in an incorrect placeChayim Refael Friedman-2/+80
We miss one place: associated type bindings aka. `impl Trait<Type(..): Send>`, but we also miss it for Fn-style parenthesizes error so I left it out for now.
2025-03-12Lower Return Type Notation (`Type::method(..): Send`)Chayim Refael Friedman-80/+125
We do it the way rustc does it, by only marking segments with it, and not the whole path. This will allow extending where it is allowed in the future.
2025-03-12Merge pull request #19337 from ChayimFriedman2/salsify-crate-graph-finalChayim Refael Friedman-2511/+3629
Salsify the crate graph
2025-03-12Salsify the crate graphChayim Refael Friedman-2511/+3629
I.e. make it not one giant input but multiple, for incrementality and decreased memory usage for Salsa 3 reasons.
2025-03-11Make GenericParamsCollector::type_or_consts not unnecessarily pub(crate)¨Florian-10/+15
2025-03-11Auto merge of #136932 - m-ou-se:fmt-width-precision-u16, r=scottmcmbors-1/+1
Reduce formatting `width` and `precision` to 16 bits This is part of https://github.com/rust-lang/rust/issues/99012 This is reduces the `width` and `precision` fields in format strings to 16 bits. They are currently full `usize`s, but it's a bit nonsensical that we need to support the case where someone wants to pad their value to eighteen quintillion spaces and/or have eighteen quintillion digits of precision. By reducing these fields to 16 bit, we can reduce `FormattingOptions` to 64 bits (see https://github.com/rust-lang/rust/pull/136974) and improve the in memory representation of `format_args!()`. (See additional context below.) This also fixes a bug where the width or precision is silently truncated when cross-compiling to a target with a smaller `usize`. By reducing the width and precision fields to the minimum guaranteed size of `usize`, 16 bits, this bug is eliminated. This is a breaking change, but affects almost no existing code. --- Details of this change: There are three ways to set a width or precision today: 1. Directly a formatting string, e.g. `println!("{a:1234}")` 2. Indirectly in a formatting string, e.g. `println!("{a:width$}", width=1234)` 3. Through the unstable `FormattingOptions::width` method. This PR: - Adds a compiler error for 1. (`println!("{a:9999999}")` no longer compiles and gives a clear error.) - Adds a runtime check for 2. (`println!("{a:width$}, width=9999999)` will panic.) - Changes the signatures of the (unstable) `FormattingOptions::[get_]width` methods to use a `u16` instead. --- Additional context for improving `FormattingOptions` and `fmt::Arguments`: All the formatting flags and options are currently: - The `+` flag (1 bit) - The `-` flag (1 bit) - The `#` flag (1 bit) - The `0` flag (1 bit) - The `x?` flag (1 bit) - The `X?` flag (1 bit) - The alignment (2 bits) - The fill character (21 bits) - Whether a width is specified (1 bit) - Whether a precision is specified (1 bit) - If used, the width (a full usize) - If used, the precision (a full usize) Everything except the last two can simply fit in a `u32` (those add up to 31 bits in total). If we can accept a max width and precision of u16::MAX, we can make a `FormattingOptions` that is exactly 64 bits in size; the same size as a thin reference on most platforms. If, additionally, we also limit the number of formatting arguments, we can also reduce the size of `fmt::Arguments` (that is, of a `format_args!()` expression).
2025-03-10internal: port rust-analyzer to new SalsaDavid Barsky-2298/+3042
2025-03-10internal(config): use `FxIndexMap` for default completion snippetsDavid Barsky-25/+30
2025-03-10Merge pull request #19305 from davidbarsky/davidbarsky/vendor-query-group-macroLukas Wirth-21/+1988
internal: vendor `query-group-macro` in rust-analyzer
2025-03-10internal: vendor `query-group-macro`David Barsky-21/+1988
2025-03-10doc: add doc to proc-macro-apibit-aloo-1/+71
2025-03-10Merge pull request #19334 from Veykril/push-oynrurllmwtkLukas Wirth-5346/+1
internal: Remove generated md book files
2025-03-10Remove generated md book filesLukas Wirth-5346/+1
2025-03-10Merge pull request #19326 from Veykril/push-vovuxzkzrowpLukas Wirth-10/+11
Add missing name-ref parents to syntactic highlighting
2025-03-10Merge pull request #19294 from alibektas/better_build_script_err_msgsLukas Wirth-0/+1
minor: Show build scripts errors in server status
2025-03-10Add missing name-ref parents to syntactic highlightingLukas Wirth-10/+11
2025-03-10Merge pull request #19332 from Veykril/push-trvznlqsvtyqLukas Wirth-84/+53
Make change annotations per text-edit
2025-03-10Fix rust-analyzer for 16-bit fmt width and precision.Mara Bos-1/+1
2025-03-10Make change annotations per text-editLukas Wirth-84/+53
2025-03-10Fix diagnostics being cleared right after being receivedAlex Kirszenberg-1/+3
2025-03-10Merge pull request #19331 from lnicola/sync-from-rustLaurențiu Nicola-246/+106
minor: Sync from downstream
2025-03-10Format codeLaurențiu Nicola-35/+43
2025-03-10Merge pull request #19328 from Veykril/push-umwykvoskvypLukas Wirth-25/+45
internal: Run proc-macro server tests as separate CI job
2025-03-10Fix simd layout testLaurențiu Nicola-1/+1
2025-03-10Bump rustc cratesLaurențiu Nicola-25/+20
2025-03-10Run proc-macro server tests are separate CI jobLukas Wirth-25/+45
Touch tt
2025-03-10Merge pull request #19330 from ChayimFriedman2/normalize-projectionLukas Wirth-503/+869
fix: Normalize projections in evaluated const display and layout calculation
2025-03-10Merge pull request #19079 from ChayimFriedman2/rename-conflictLukas Wirth-59/+509
feat: Warn the user when a rename will change the meaning of the program
2025-03-10Merge pull request #19327 from Veykril/push-qyyvkulltzpzLukas Wirth-2/+6
Fix `path` macro hygiene
2025-03-10Merge from rust-lang/rustLaurențiu Nicola-195/+52
2025-03-10Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2025-03-10Fix `path` macro hygieneLukas Wirth-2/+6
2025-03-10Merge pull request #19311 from aibaars/log-build-script-errorLukas Wirth-0/+8
Log build script error output in `load_cargo::load_workspace_at`