about summary refs log tree commit diff
path: root/src/tools/rust-analyzer/crates
AgeCommit message (Collapse)AuthorLines
2024-10-29rust-analyzer: `rustc_abi::Abi` => `BackendRepr`Jubilee Young-11/+11
2024-10-29Style hover messages a bit differentlyLukas Wirth-116/+362
2024-10-29Publish test-fixture => ra_ap_test_fixtureSam McCall-1/+0
2024-10-29Do not render meta info when hovering usagesLukas Wirth-83/+124
2024-10-29Merge pull request #18432 from Veykril/lw-yptzmuxyvxxtLukas Wirth-4/+7
fix: Fix the server not honoring diagnostic refresh support
2024-10-29fix: Fix the server not honoring diagnostic refresh supportLukas Wirth-4/+7
2024-10-29Merge pull request #18427 from ChayimFriedman2/cleanup-tyLukas Wirth-170/+151
Cleanup TypeRef lowering
2024-10-29Merge from rust-lang/rustLaurențiu Nicola-2/+2
2024-10-28Cleanup TypeRef loweringChayim Refael Friedman-170/+151
By removing interior mutability from it.
2024-10-28Merge pull request #18420 from ChayimFriedman2/cfg-true-falseLukas Wirth-6/+86
feat: Support `cfg(true)` and `cfg(false)`
2024-10-28Merge pull request #18421 from Veykril/push-uxxwvwnqvomrLukas Wirth-691/+684
Move text-edit into ide-db
2024-10-28Merge pull request #18413 from ShoyuVanilla/extern-crate-reexportLukas Wirth-3/+79
fix: Allow public re-export of `extern crate` import
2024-10-28Merge pull request #18422 from ChayimFriedman2/cursed-name-resLukas Wirth-52/+180
fix: Properly resolve prelude paths inside modules inside blocks
2024-10-28Merge pull request #18312 from LastExceed/symbolkind-variableLukas Wirth-0/+94
Report document symbols of kind `variable` for let statements
2024-10-28ReformatLukas Wirth-21/+21
2024-10-28Move text-edit into ide-dbLukas Wirth-691/+684
2024-10-28Merge pull request #18074 from ChayimFriedman2/typeref-source-mapLukas Wirth-927/+2509
internal: Build source map for `hir_def::TypeRef`s
2024-10-28Merge pull request #18256 from MoskalykA/use-is_none_orLaurențiu Nicola-20/+3
Start using `Option::is_none_or`
2024-10-27rust-analyzer: Rename LayoutS to LayoutDataJubilee Young-2/+2
2024-10-27add testLastExceed-0/+76
2024-10-27add LetStmt armLastExceed-0/+18
2024-10-27Properly resolve prelude paths inside modules inside blocksChayim Refael Friedman-52/+180
I.e. the following situation: ``` fn foo() { mod bar { fn qux() { // Prelude path here (e.g. macro use prelude or extern prelude). } } } ``` Those were previously unresolved, because, in order to support `self` and `super` properly, since #15148 we do not ascend block paths when there is a module in between, but only crate def maps register preludes, not block def maps, and we can't change this because block def map prelude can always be overridden by another block. E.g. ``` fn foo() { struct WithTheSameNameAsPreludeItem; { WithTheSameNameAsPreludeItem } } ``` Here `WithTheSameNameAsPreludeItem` refer to the item from the top block, but if we would register prelude items in each block the child block would overwrite it incorrectly.
2024-10-27fix: Allow public re-export of `extern crate` importShoyu Vanilla-3/+79
2024-10-27Merge pull request #18419 from ChayimFriedman2/leading-orLukas Wirth-31/+87
fix: Put leading `|` in patterns under `OrPat`
2024-10-27Put leading `|` in patterns under `OrPat`Chayim Refael Friedman-31/+87
Previously it was one level above, and that caused problems with macros that expand to it, because macros expect to get only one top-level node.
2024-10-27Merge pull request #18410 from Veykril/veykril/push-lvwxpnowqrxkLukas Wirth-49/+59
internal: Invert token iteration order in macro mapping
2024-10-27Invert token iteration order in macro mappingLukas Wirth-15/+23
2024-10-27Merge pull request #18418 from ChayimFriedman2/explicitly-disableLukas Wirth-34/+77
feat: Split `macro-error` diagnostic so users can ignore only parts of it
2024-10-27Merge pull request #18417 from ChayimFriedman2/hash-stringLukas Wirth-7/+30
fix: Correctly handle `#""` in edition <2024
2024-10-27Support `cfg(true)` and `cfg(false)`Chayim Refael Friedman-6/+86
As per RFC 3695.
2024-10-27Split `macro-error` diagnostic so users can ignore only parts of itChayim Refael Friedman-34/+77
Split it into `macro-error`, `proc-macros-disabled` and `proc-macro-disabled`.
2024-10-27Correctly handle `#""` in edition <2024Chayim Refael Friedman-7/+30
2024-10-26Use method syntaxMoskalykA-2/+2
2024-10-26Start using `Option::is_none_or`MoskalykA-20/+3
2024-10-26Turn Remove dbg into a quick fix for better prioritizationLaurențiu Nicola-4/+3
2024-10-25Factor out token rankingLukas Wirth-36/+38
2024-10-25Only construct a resolver in macro descension when neededLukas Wirth-14/+20
2024-10-25Merge pull request #18408 from Veykril/veykril/push-ulxyznwzokutLukas Wirth-22/+59
fix: Don't compute diagnostics for non local files
2024-10-25Add server cancellation support to pull diagnostic handlerLukas Wirth-14/+45
2024-10-25Don't compute diagnostics for non local filesLukas Wirth-10/+16
2024-10-25Shrink `TypeRef` from 16 from 32 bytesChayim Refael Friedman-149/+178
Only references and arrays need to be boxed, and they comprise only 9.4% of the types (according to counting on r-a's code). This saves 17mb.
2024-10-25Shrink `Path` to 16 bytesChayim Refael Friedman-106/+595
Thanks to the observation (supported by counting) that the vast majority paths have neither generics no type anchors, and thanks to a new datastructure `ThinVecWithHeader` that is essentially `(T, Box<[U]>)` but with the size of a single pointer, we are able to reach this feat. This (together with `ThinVecWithHeader`) makes the possibility to shrink `TypeRef`, because most types are paths.
2024-10-25Do not allocate attributes entry if there are no attributesChayim Refael Friedman-6/+13
This saves 8mb.
2024-10-25Shrink `ItemTreeSourceMaps`Chayim Refael Friedman-73/+155
This saves 16mb on `analysis-stats .`.
2024-10-25Reuse empty `GenericParams`Chayim Refael Friedman-6/+19
This saves back 15mb that went for typeref source maps.
2024-10-25Fix memory usage calculation's queries listChayim Refael Friedman-21/+49
2024-10-25Build source map for `hir_def::TypeRef`sChayim Refael Friedman-778/+1712
So that given a `TypeRef` we will be able to trace it back to source code. This is necessary to be able to provide diagnostics for lowering to chalk tys, since the input to that is `TypeRef`. This means that `TypeRef`s now have an identity, which means storing them in arena and not interning them, which is an unfortunate (but necessary) loss but also a pretty massive change. Luckily, because of the separation layer we have for IDE and HIR, this change never crosses the IDE boundary.
2024-10-24Rework `generate_fn_type_alias`Giga Bowser-55/+43
2024-10-24Add `ty_fn_ptr` function to create function pointer typeGiga Bowser-1/+41
2024-10-24Merge pull request #18404 from Veykril/veykril/push-swpmkoqqxrvuLukas Wirth-18/+150
feat: Implement diagnostics pull model