about summary refs log tree commit diff
path: root/src/tools/rust-analyzer
AgeCommit message (Collapse)AuthorLines
2024-07-28step cfg(bootstrap)Mark Rousskov-0/+1
2024-07-20Allow deprecated temporarily to unblock version bumpMark Rousskov-0/+1
2024-07-16Auto merge of #127617 - lnicola:sync-from-ra, r=lnicolabors-4424/+7363
Subtree update of `rust-analyzer` r? `@ghost`
2024-07-16Use re-exported Idx and IndexVec in pat_analysisLaurențiu Nicola-3/+2
2024-07-13Rollup merge of #127434 - onur-ozkan:use-bootstrap-instead-of-rustbuild, ↵Jubilee-1/+1
r=Mark-Simulacrum use "bootstrap" instead of "rustbuild" in comments and docs Let's stick with the single name "bootstrap" to refer to the bootstrap project to avoid confusion. This should make it clearer, especially for new contributors.
2024-07-11Merge from rust-lang/rustLaurențiu Nicola-83/+3
2024-07-11Preparing for merge from rust-lang/rustLaurențiu Nicola-1/+1
2024-07-11Auto merge of #17571 - winstxnhdw:bool-to-enum-no-dupe, r=Veykrilbors-3/+44
feat: do not add new enum if it already exists ## Summary This PR introduces a check for the existence of another enum within the current scope, and if it exist, we skip `add_enum_def`. ## Why? Currently, when using the `bool_to_enum` assist more than once, it is possible to add multiple enum definitions. For example, the following snippet, ```rs #[derive(PartialEq, Eq)] enum Bool { True, False, } fn main() { let a = Bool::True; let b = true; println!("Hello, world!"); } ``` will be transformed into, ```rs #[derive(PartialEq, Eq)] enum Bool { True, False, } #[derive(PartialEq, Eq)] enum Bool { True, False, } fn main() { let a = Bool::True; let b = Bool::True; println!("Hello, world!"); } ``` This can be annoying for users to clean up.
2024-07-10refactor: search for enum semanticallywinstxnhdw-6/+8
2024-07-10Remove faq landing page, improve main oneLukas Wirth-51/+12
2024-07-10Auto merge of #17572 - beetrees:f16-f128, r=Veykrilbors-73/+384
Add `f16` and `f128` support Adds `f16` and `f128` support, using the `rustc_apfloat` library (also used by `rustc`) for parsing/arithmetic/displaying since the types aren't stable yet so can't be used by rust-analyzer itself. Issue: #17451
2024-07-10Auto merge of #17544 - MikeWalrus:inlay-hint-generic-param-name, r=Veykrilbors-14/+430
feat: add inlay hints for generic parameters fixes #11091 By default, only hints for const generic parameters are shown, and this can be configured through `rust-analyzer.inlayHints.genericParameterHints.enable`. Probably needs more testing.
2024-07-10Remove dead code in config.rsLukas Wirth-13/+0
2024-07-10Add `f16` and `f128` supportbeetrees-73/+384
2024-07-09style: prefer type inferencewinstxnhdw-1/+1
- unrelated to the PR but I wanted to change this in #17467
2024-07-09feat: do not add new enum if it already existswinstxnhdw-1/+40
2024-07-08Auto merge of #17558 - beetrees:fix-double-rounding, r=Veykrilbors-33/+47
fix: Fix double rounding of `f32` literals Fixes #17556 by delaying parsing until the type is known. Also adds a test to check the issue is fixed.
2024-07-08fix: Fix double rounding of `f32` literalsbeetrees-33/+47
2024-07-08Remove version check before using `--keep-going`mo8it-25/+7
2024-07-08Rollup merge of #120248 - WaffleLapkin:bonk-ptr-object-casts, ↵Matthias Krüger-71/+0
r=compiler-errors,oli-obk,lnicola Make casts of pointers to trait objects stricter This is an attempt to `fix` https://github.com/rust-lang/rust/issues/120222 and https://github.com/rust-lang/rust/issues/120217. This is done by adding restrictions on casting pointers to trait objects. Before this PR the rules were as follows: > When casting `*const X<dyn A>` -> `*const Y<dyn B>`, principal traits in `A` and `B` must refer to the same trait definition (or no trait). With this PR the rules are changed to > When casting `*const X<dyn Src>` -> `*const Y<dyn Dst>` > - if `Dst` has a principal trait `DstP`, > - `Src` must have a principal trait `SrcP` > - `dyn SrcP` and `dyn DstP` must be the same type (modulo the trait object lifetime, `dyn T+'a` -> `dyn T+'b` is allowed) > - Auto traits in `Dst` must be a subset of auto traits in `Src` > - Not adhering to this is currently a FCW (warn-by-default + `FutureReleaseErrorReportInDeps`), instead of an error > - if `Src` has a principal trait `Dst` must as well > - this restriction will be removed in a follow up PR This ensures that 1. Principal trait's generic arguments match (no `*const dyn Tr<A>` -> `*const dyn Tr<B>` casts, which are a problem for [#120222](https://github.com/rust-lang/rust/issues/120222)) 2. Principal trait's lifetime arguments match (no `*const dyn Tr<'a>` -> `*const dyn Tr<'b>` casts, which are a problem for [#120217](https://github.com/rust-lang/rust/issues/120217)) 3. No auto traits can be _added_ (this is a problem for arbitrary self types, see [this comment](https://github.com/rust-lang/rust/pull/120248#discussion_r1463835350)) Some notes: - We only care about the metadata/last field, so you can still cast `*const dyn T` to `*const WithHeader<dyn T>`, etc - The lifetime of the trait object itself (`dyn A + 'lt`) is not checked, so you can still cast `*mut FnOnce() + '_` to `*mut FnOnce() + 'static`, etc - This feels fishy, but I couldn't come up with a reason it must be checked The diagnostics are currently not great, to say the least, but as far as I can tell this correctly fixes the issues. cc `@oli-obk` `@compiler-errors` `@lcnr`
2024-07-08feat: add inlay hints for generic parametersLiao Junxuan-14/+443
fixes #11091 By default, only hints for const generic parameters are shown.
2024-07-07Add --keep-going to the check commandmo8it-0/+2
2024-07-07Auto merge of #17555 - Veykril:grammar-inline, r=Veykrilbors-41/+1115
internal: Inline generated syntax methods
2024-07-07Inline all the thingsLukas Wirth-0/+1032
2024-07-07HasGenericArgs syntax traitLukas Wirth-41/+83
2024-07-07Auto merge of #17523 - wada314:master, r=Veykrilbors-11/+233
Add an option to use "::" for the external crate prefix. Fixes #11823 . Hi I'm very new to rust-analyzer and not sure how the review process are. Can somebody take a look at this PR? thanks!
2024-07-07fix: Fix callHierarchy LSP violationLukas Wirth-31/+187
2024-07-07Fix stale reference in architecture.mdLukas Wirth-2/+1
2024-07-07Run codegen commands as tests if their results are commitedLukas Wirth-3/+23
2024-07-07Re-implement tidy as an xtask actionLukas Wirth-60/+69
2024-07-07re-generate feature docs in releaseLukas Wirth-1/+2
2024-07-07Drop sourcegenLukas Wirth-229/+0
2024-07-07Move feature-doc generation to xtask codegenLukas Wirth-10/+17
2024-07-07Update hover test fixtureLukas Wirth-3/+14
2024-07-07Move parser test generation to xtaskLukas Wirth-18/+50
2024-07-07Allow new clippy lint in testLukas Wirth-0/+1
2024-07-07Fix stop_watch on linuxLukas Wirth-17/+29
2024-07-07Update generated lint definitionsLukas Wirth-806/+1034
2024-07-07Drop unused profile thingsLukas Wirth-33/+0
2024-07-07fix: Fix parameter completions using macro expanded source rangesLukas Wirth-1/+2
2024-07-07Move capability querying out of the config moduleLukas Wirth-515/+525
2024-07-07use "bootstrap" instead of "rustbuild" in comments and docsonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-07-06Auto merge of #17551 - Veykril:has-errors, r=Veykrilbors-3/+6
Also mark InferenceResult::has_errors flag when there are error types Should work around https://github.com/rust-lang/rust-analyzer/issues/15090#issuecomment-2211647133
2024-07-06Also mark InferenceResult::has_errors flag when there are error typesLukas Wirth-3/+6
2024-07-06Auto merge of #17549 - Veykril:runnables-fix, r=Veykrilbors-113/+223
fix: Fix runnables being incorrectly constructed I've misunderstood parts of the code here which caused runnables to arbitrarily break :) (I have yet to understand the conditions that made them break though, there is some odd caching involved I feel like ...) Fixes https://github.com/rust-lang/rust-analyzer/issues/17402
2024-07-06fix: Fix runnables being incorrectly constructedLukas Wirth-113/+223
2024-07-06Auto merge of #17548 - Veykril:debug-fix, r=Veykrilbors-11/+15
fix: Fix passing `message-format` after -- in debugging Fixes https://github.com/rust-lang/rust-analyzer/pull/17495#issuecomment-2211717224
2024-07-06Fix passing message-format after -- in debuggingLukas Wirth-11/+15
2024-07-06Auto merge of #17547 - Veykril:runnables-env, r=Veykrilbors-64/+102
internal: Clean up runnable lsp extension This feels like a natural addition to me, and also allows us to drop the expect-test hardcoding from the extension. Additionally, `cargoExtraArgs` is pointless, all the client will do is merge it with `cargoArgs` so the server can do that instead of delegating that to the client.
2024-07-06Don't emit current dir as cwd for runnablesLukas Wirth-17/+22