| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2024-10-25 | Add server cancellation support to pull diagnostic handler | Lukas Wirth | -14/+45 | |
| 2024-10-25 | Don't compute diagnostics for non local files | Lukas Wirth | -10/+16 | |
| 2024-10-25 | Shrink `TypeRef` from 16 from 32 bytes | Chayim 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-25 | Shrink `Path` to 16 bytes | Chayim Refael Friedman | -107/+596 | |
| 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-24 | editors/code: Add md for walkthrough setup example | HackerVole | -4/+14 | |
| Add a separate markdown file containing the settings.json snippet from the "Useful Setup Tips". This fixes the rendering and also makes the text selectable. Also use double-backticks for `code` rendering. | ||||
| 2024-10-25 | Do not allocate attributes entry if there are no attributes | Chayim Refael Friedman | -6/+13 | |
| This saves 8mb. | ||||
| 2024-10-25 | Shrink `ItemTreeSourceMaps` | Chayim Refael Friedman | -73/+155 | |
| This saves 16mb on `analysis-stats .`. | ||||
| 2024-10-25 | Reuse empty `GenericParams` | Chayim Refael Friedman | -6/+19 | |
| This saves back 15mb that went for typeref source maps. | ||||
| 2024-10-25 | Fix memory usage calculation's queries list | Chayim Refael Friedman | -21/+49 | |
| 2024-10-25 | Build source map for `hir_def::TypeRef`s | Chayim 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-24 | Rework `generate_fn_type_alias` | Giga Bowser | -55/+43 | |
| 2024-10-24 | Add `ty_fn_ptr` function to create function pointer type | Giga Bowser | -1/+41 | |
| 2024-10-24 | Update changelog generation for merge queues | Laurențiu Nicola | -2/+3 | |
| 2024-10-24 | Merge pull request #18404 from Veykril/veykril/push-swpmkoqqxrvu | Lukas Wirth | -18/+150 | |
| feat: Implement diagnostics pull model | ||||
| 2024-10-24 | feat: Implement diagnostics pull model | Lukas Wirth | -18/+150 | |
| 2024-10-24 | Merge pull request #18402 from Veykril/veykril/push-wrvtystlszlr | Lukas Wirth | -10/+13 | |
| internal: Improve proc-macro error msg for failed build scripts | ||||
| 2024-10-24 | Merge pull request #18401 from Veykril/veykril/push-ulpowvsymyys | Lukas Wirth | -3/+2 | |
| minor: Remove intermediate allocations | ||||
| 2024-10-24 | internal: Improve proc-macro error msg for failed build scripts | Lukas Wirth | -10/+13 | |
| 2024-10-24 | minor: Remove intermediate allocations | Lukas Wirth | -3/+2 | |
| 2024-10-24 | fix: handle aliased pattern and simplify testcase | Khanh Duong Quoc | -23/+32 | |
| 2024-10-24 | refactor: separate function for getting import name | Khanh Duong Quoc | -7/+19 | |
| 2024-10-24 | Merge pull request #18399 from Veykril/veykril/push-nnsoxqrwqkmv | Lukas Wirth | -1/+3 | |
| Fix diagnostic enable config being ignored | ||||
| 2024-10-24 | Fix diagnostic enable config being ignored | Lukas Wirth | -1/+3 | |
| 2024-10-24 | Merge pull request #18390 from ShoyuVanilla/issue-18308 | Lukas Wirth | -9/+98 | |
| fix: Prevent public re-export of private item | ||||
| 2024-10-24 | Bump smol_str | Laurențiu Nicola | -3/+3 | |
| 2024-10-24 | Hide default config in Debug impl | Laurențiu Nicola | -1/+21 | |
| 2024-10-24 | Merge pull request #18395 from Wilfred/missing_cfg_for_core | Lukas Wirth | -3/+4 | |
| fix: Add missing cfg flags for `core` crate | ||||
| 2024-10-24 | Merge pull request #18394 from Wilfred/pretty_print_status | Lukas Wirth | -1/+1 | |
| internal: Pretty-print Config in status command | ||||
| 2024-10-23 | fix: Add missing cfg flags for `core` crate | Wilfred Hughes | -3/+4 | |
| Some types in `core` are conditionally compiled based on `target_has_atomic` or `target_has_atomic_load_store` without an argument, for example `AtomicU64`. This is less noticeable in Cargo projects, where rust-analyzer adds the output `RUSTC_BOOTSTRAP=1 cargo rustc --print cfg` so it gets the full set of cfg flags. This fixes go-to-definition on `std::sync::atomic::AtomicU64` in non-cargo projects. | ||||
| 2024-10-23 | internal: Pretty-print Config in status command | Wilfred Hughes | -1/+1 | |
| Config can become very big, even for relatively small rust project, and printing everything on one line makes reading the output in VS Code harder. | ||||
| 2024-10-23 | Merge pull request #18392 from Veykril/veykril/push-wktpkuklnzot | Lukas Wirth | -2/+1 | |
| Swap query call order in `file_item_tree_query` | ||||
| 2024-10-23 | Swap query call order in file_item_tree_query | Lukas Wirth | -2/+1 | |
| 2024-10-23 | internal: log original syntax on panic | David Barsky | -1/+2 | |
| 2024-10-24 | fix: Prevent public reexport of private item | Shoyu Vanilla | -9/+98 | |
| 2024-10-23 | Rewrite `label_details_support` condition to be consistent with other parts ↵ | Jason Boatman | -4/+1 | |
| of the codebase. | ||||
| 2024-10-23 | Fix checking for `false` `labelDetailsSupport` value. | Jason Boatman | -1/+2 | |
| 2024-10-23 | fix: Handle missing time offsets gracefully | Wilfred Hughes | -6/+14 | |
| The tracing_subscribe docs state that missing offsets likely mean that we're in a multithreaded context: https://docs.rs/tracing-subscriber/latest/tracing_subscriber/fmt/time/struct.OffsetTime.html#method.local_rfc_3339 We're not in a multithreaded context at this point, but some platforms (e.g. OpenBSD) still don't have time offsets available. Since this is only a rust-analyzer debugging convenience, just use system time logging in this situation. Fixes #18384 | ||||
| 2024-10-23 | Fix alphabetical order of handlers | Giga Bowser | -2/+2 | |
| No idea how this slipped past me | ||||
| 2024-10-23 | Add assist to generate a type alias for a function | Giga Bowser | -0/+474 | |
| 2024-10-23 | fix: auto-complete import for aliased function and module | Khanh Duong Quoc | -2/+50 | |
| 2024-10-23 | Merge pull request #18264 from ChayimFriedman2/semi-transparent | Lukas Wirth | -164/+671 | |
| fix: Implement mixed site hygiene | ||||
| 2024-10-23 | fix dyn incompatible hint message | usamoi | -1/+1 | |
| 2024-10-23 | Merge pull request #18376 from Veykril/veykril/push-ptmnsoqzsmqk | Lukas Wirth | -63/+93 | |
| feat: Add text edits to more inlay hints | ||||
| 2024-10-23 | Don't emit edits for postfix adjustment hints | Lukas Wirth | -23/+28 | |
| 2024-10-23 | Add text edit to implicit 'static hints | Lukas Wirth | -1/+2 | |
| 2024-10-23 | Add text edit to discriminant hints | Lukas Wirth | -5/+6 | |
| 2024-10-23 | Add text edit to binding mode hints | Lukas Wirth | -36/+38 | |
| 2024-10-23 | Add text edit to adjustment hints | Lukas Wirth | -21/+42 | |
| 2024-10-22 | Correctly resolve variables and labels from before macro definition in macro ↵ | Chayim Refael Friedman | -50/+287 | |
| expansion E.g.: ```rust let v; macro_rules! m { () => { v }; } ``` This was an existing bug, but it was less severe because unless the variable was shadowed it would be correctly resolved. With hygiene however, without this fix the variable is never resolved. | ||||
| 2024-10-22 | Implement semitransparent hygiene | Chayim Refael Friedman | -124/+394 | |
| Or macro_rules hygiene, or mixed site hygiene. In other words, hygiene for variables and labels but not items. The realization that made me implement this was that while "full" hygiene (aka. def site hygiene) is really hard for us to implement, and will likely involve intrusive changes and performance losses, since every `Name` will have to carry hygiene, mixed site hygiene is very local: it applies only to bodies, and we very well can save it in a side map with minor losses. This fixes one diagnostic in r-a that was about `izip!()` using hygiene (yay!) but it introduces a huge number of others, because of #18262. Up until now this issue wasn't a major problem because it only affected few cases, but with hygiene identifiers referred by macros like that are not resolved at all. The next commit will fix that. | ||||
