Commit graph

21328 commits

Author SHA1 Message Date
Chayim Refael Friedman
791a63255b Move some more AST makers to the quote macro
And implement addons as necessary.

There are many more makers to be moved, and I'm not completely satisfied with this (due to the ease of making a mistake in the AST structure, and slightly less but also because of the need to remember whitespaces), but this is already enough to see how this will look like.
2024-12-30 05:46:06 +02:00
Chayim Refael Friedman
abd7263179 Create a quote!-like API for crafting AST nodes
Instead of messing with textual `make`.

And port one `make` helper to it, for the sake of testing.
2024-12-30 04:54:39 +02:00
Chayim Refael Friedman
505e82c19c Add a function to convert a SyntaxKind to its text, where possible
This will also help for the make's quote macro.
2024-12-30 04:01:05 +02:00
Chayim Refael Friedman
737500137f Generate a method for static retrieval of the SyntaxKind of a node, where possible
This will help for the quote macro for `ast::make`.
2024-12-30 03:13:17 +02:00
Lukas Wirth
fb2ca58583 fix: Fix invalid -O flag used by cfg discovery 2024-12-29 16:04:17 +01:00
Lukas Wirth
90b724afad
Merge pull request #18785 from Veykril/push-uvsqposqyvmo
Cleanup toolchain info fetching
2024-12-29 12:57:31 +00:00
Lukas Wirth
98fde69dcf Inline toolchain_info module 2024-12-29 13:43:12 +01:00
Lukas Wirth
11b351f44b
Merge pull request #18774 from Veykril/push-ysppqxpuknnw
Implement parameter variance inference
2024-12-29 12:34:48 +00:00
Lukas Wirth
f5fb2b9e9f Force a current dir to be supplied for rustc info fetching 2024-12-29 13:26:04 +01:00
Lukas Wirth
8d2b12fe0e Split out ProjectWorkspace::load_cargo 2024-12-29 12:54:41 +01:00
Lukas Wirth
5ce14b0439 Enforce a current directory being set for spawned commands 2024-12-29 12:51:13 +01:00
Lukas Wirth
0f95e60da3 Cleanup toolchain info fetching 2024-12-29 12:25:51 +01:00
Lukas Wirth
885b6c697c
Merge pull request #18784 from Veykril/push-pqtwsvquxoty
fix: Do not merge spans if they have different anchors
2024-12-29 10:44:04 +00:00
Lukas Wirth
49b509310c fix: Do not merge spans if they have different anchors 2024-12-29 11:29:32 +01:00
Lukas Wirth
2d299ab8a4 Describe variance resolution approach differences to rustc 2024-12-29 10:53:17 +01:00
Chayim Refael Friedman
664e1a18c9 Consider Enum::Variant even when it comes from a different crate 2024-12-28 22:43:51 +02:00
Lukas Wirth
bb921fbe94 Show variance of parameters on hover 2024-12-28 20:31:20 +01:00
Lukas Wirth
60e28c6bd9 Simplify 2024-12-28 19:54:22 +01:00
Lukas Wirth
9419e199d8 Get rid of constrain and solve steps 2024-12-28 19:54:22 +01:00
Lukas Wirth
85119b528a Remove unnecessary VarianceTerm 2024-12-28 19:54:22 +01:00
Lukas Wirth
eee2761140 Implement parameter variance inference 2024-12-28 19:54:22 +01:00
Lukas Wirth
dc6cea57a2
Merge pull request #18778 from Veykril/push-oontvoqmxkno
fix: Fix flycheck diagnostics flickering for binary targets
2024-12-28 17:31:11 +00:00
Lukas Wirth
17b3662755 Add DynTyExt::principal_id 2024-12-28 18:26:45 +01:00
Lukas Wirth
c800485555 Downgrade salsa log levels 2024-12-28 18:23:24 +01:00
Lukas Wirth
cf307438bc fix: Fix flycheck diagnostics flickering for binary targets 2024-12-28 18:16:55 +01:00
Erithax
c7f5021de1
fix doc typo 2024-12-27 23:13:09 +01:00
Lukas Wirth
a77cf8e189
Merge pull request #18744 from gbbosak/master
Treat ; as a terminator rather part of a glued expression
2024-12-27 09:57:02 +00:00
Lukas Wirth
1ce4de2585
Merge pull request #18762 from davidbarsky/davidbarsky/wrap-salsa-cancellation-error
internal: wrap `salsa::Cycle`
2024-12-26 15:42:53 +00:00
Lukas Wirth
7514a92018
Merge pull request #18761 from Veykril/push-vktnzltnxupr
internal: Swallow `error: config value is not set` cargo error
2024-12-26 15:28:24 +00:00
David Barsky
3ff2596c3f internal: wrap salsa::Cycle 2024-12-26 10:26:42 -05:00
Lukas Wirth
e820c4da90 internal: Swallow error: config value is not set cargo error 2024-12-26 16:13:39 +01:00
Lukas Wirth
ed8227c649 internal: Workaround salsa cycles leaking 2024-12-26 14:55:20 +01:00
roife
5a3d1a6d0d fix missing name enum when hovering on fields in variants 2024-12-25 07:28:26 +08:00
Lukas Wirth
493ac4d4df
Merge pull request #18743 from ChayimFriedman2/e0107
feat: Unify handling of path diagnostics in hir-ty
2024-12-24 17:13:07 +00:00
Lukas Wirth
79d9330560
Merge pull request #18754 from Veykril/push-zkkzxrsxnqnm
Cleanup target fetching for cargo metadata
2024-12-24 17:03:31 +00:00
Chayim Refael Friedman
cc11e1a796 Unify handling of path diagnostics in hir-ty
Because it was a mess.

Previously, pretty much you had to handle all path diagnostics manually: remember to check for them and handle them. Now, we wrap the resolver in `TyLoweringContext` and ensure proper error reporting.

This means that you don't have to worry about them: most of the things are handled automatically, and things that cannot will create a compile-time error (forcing you top `drop(ty_lowering_context);`) if forgotten, instead of silently dropping the diagnostics.

The real place for error reporting is in the hir-def resolver, because there are other things resolving, both in hir-ty and in hir-def, and they all need to ensure proper diagnostics. But this is a good start, and future compatible.

This commit also ensures proper path diagnostics for value/pattern paths, which is why it's marked "feat".
2024-12-24 18:58:52 +02:00
Lukas Wirth
029261f9cc Cleanup target fetching for cargo metadata 2024-12-24 17:49:07 +01:00
Lukas Wirth
e30ce42671
Merge pull request #18707 from ChayimFriedman2/subst
feat: Show substitution where hovering over generic things
2024-12-24 14:16:16 +00:00
Lukas Wirth
633a10cb58
Merge pull request #18718 from Giga-Bowser/fix-syntaxfactory-intoiterator
internal: Standardize how we take iterator parameters in `SyntaxFactory`
2024-12-24 14:12:52 +00:00
Lukas Wirth
c67964884a
Merge pull request #18750 from Veykril/push-tyvtqpwrwvsr
Back out "internal: Disable rustc test metrics"
2024-12-24 09:52:37 +00:00
Lukas Wirth
9997374b0c Remove dangling outdated test module 2024-12-24 10:37:24 +01:00
Lukas Wirth
2c500e2939
Merge pull request #18749 from PrototypeNM1/windows-debugger-wait
minor: Break out of waiting for debugger on Windows using native debugger check API.
2024-12-24 08:40:56 +00:00
Nicholas Rishel
f8f7d37b8b minor: Break out of waiting for debugger on Windows using native debugger check API.
For Windows, this removes the need to add a breakpoint and modify a value to exit the debugger wait loop.

As a ridealong, this adds a 100ms sleep for all platforms such that waiting for the debugger doesn't hog the CPU thread.
2024-12-23 14:33:26 -08:00
Laurențiu Nicola
a2a5b72c47 Merge from rust-lang/rust 2024-12-23 11:27:07 +02:00
Brian Bosak
5162a9ab1c Treat ; as a terminator rather than something that can be glued together in an expression 2024-12-22 16:44:01 -06:00
Lukas Wirth
fa4a40bbe8
Merge pull request #18742 from Veykril/push-yswvkzmsvqql
fix: Fix flycheck workspace when requested but package was found
2024-12-22 13:42:39 +00:00
Lukas Wirth
4a86434cf5 fix: Fix flycheck workspace when requested but package was found 2024-12-22 14:28:17 +01:00
Lukas Wirth
2e5998a9bf fix: Delay initial flycheck until after build scripts 2024-12-22 14:18:53 +01:00
Lukas Wirth
066284addd
Merge pull request #18738 from Veykril/push-vqxqutskzvvu
fix: Properly check if workspace flychecking is allowed
2024-12-22 12:11:00 +00:00
Lukas Wirth
d67b900edd
Merge pull request #18740 from Veykril/push-tntsvtmtlotw
fix: Fix empty check diagnostics not marking files as changed
2024-12-22 11:52:59 +00:00