Wilfred Hughes
bca5d59627
Remove support for register_attr
...
This was removed in rustc in 2022: https://github.com/rust-lang/rust/pull/101123
Closes #20525 .
2025-09-08 15:56:56 +01:00
Chayim Refael Friedman
b78574cd62
Upgrade rustc crates
...
The main changes are (there are some other small changes):
- Using a specific type for trait IDs in the new solver, allowing us to simplify a lot of code.
- Add `BoundConst` similar to `BoundTy` and `BoundRegion` (previously consts used `BoundVar` directly), due to a new trait requirement.
2025-09-04 22:36:31 +03:00
Chayim Refael Friedman
41611b19e5
Make sense of the mess that were (are) different kind of generics in the solver
...
To the extent possible.
Previously they were confused. Sometimes generic params were treated as `Param` and sometimes as `Placeholder`. A completely redundant (in the new solver) mapping of salsa::Id to ints to intern some info where we could just store it uninterned (not in Chalk though, for some weird reason).
Plus fix a cute bug in closure substitution that was caught by the assertions of Chalk but the next solver did not have such assertions. Do we need more assertions?
2025-09-02 06:39:32 +03:00
Chayim Refael Friedman
1efff4677e
In highlight_related, when on an unsafe block, don't highlight unsafe operations of other unsafe blocks
2025-08-26 21:46:04 +03:00
Shoyu Vanilla (Flint)
becf04b67a
Merge pull request #20442 from ChayimFriedman2/unqualify
...
fix: Only import the item in "Unqualify method call" if needed
2025-08-18 06:24:35 +00:00
jackh726
84388ceb0e
Remove a bunch of stuff from chalk_db
2025-08-17 16:04:50 +00:00
jackh726
766e6b58ad
Use impl_trait_ns in Impl::trait_ref
2025-08-17 16:04:50 +00:00
jackh726
e979349978
Switch TraitRef in hir::TraitRef to next solver
2025-08-17 16:04:50 +00:00
jackh726
7f0ec8b69f
Replace layout_of_ty with layout_of_ty_ns
2025-08-17 16:04:50 +00:00
jackh726
f9d2d2dd87
Switch associated_type_shorthand_candidates to lower_nextsolver
2025-08-17 16:04:50 +00:00
jackh726
496f5f9e96
Cleanup assoc_type_shorthand_candidates
2025-08-17 16:04:50 +00:00
jackh726
aa890b49ff
Change direct_super_traits to use generic_predicates_for_param_ns
2025-08-17 16:04:50 +00:00
jackh726
9912b803bc
Deduplicate layout_of_adt
2025-08-17 16:04:50 +00:00
jackh726
eeaefa4b9d
impl HirDisplay for next_solver::Ty
2025-08-17 16:04:49 +00:00
jackh726
8228f6f9f7
Convert some of dyn_compatibility to next-solver and remove generic_predicates_without_parent_query
2025-08-17 16:02:59 +00:00
Deadbeef
82f174fbd9
Merge Trait and TraitAlias handling
2025-08-13 15:28:08 +08:00
Chayim Refael Friedman
8c1c689977
Only import the item in "Unqualify method call" if needed
2025-08-13 05:23:58 +03:00
jackh726
9418a3f2df
Implement next trait solver
2025-08-09 16:08:58 +00:00
Chayim Refael Friedman
ea140ef0a8
Do not remove the original token when descending into derives
...
This caused rename to remove both, because it couldn't rename the derive-expanded one.
I spent some time trying to create a test for this, before giving up. But I checked manually that this works.
2025-08-05 01:04:21 +03:00
Lukas Wirth
8ce30264c8
cargo clippy --fix
2025-07-31 10:55:10 +02:00
Chayim Refael Friedman
963a1317e7
Remove ExpressionStoreDiagnostics::MacroError
, instead recreate it from the MacroCallId
...
This simplifies the code and also makes us report parse error in macros too.
2025-07-23 16:27:07 +03:00
Shoyu Vanilla
e587367b4d
fix: Apply adjusts to pats and exprs when doing pat analysis
2025-07-22 01:18:48 +09:00
Chayim Refael Friedman
4b29a9d6ea
Merge pull request #20219 from ChayimFriedman2/expr-store-mem
...
perf: Put the expression stuff in the expression store behind an `Option<Box>`
2025-07-11 14:25:39 +00:00
Shoyu Vanilla (Flint)
e9968fc555
Merge pull request #20210 from ChayimFriedman2/naked-asm-safe
...
fix: Inline asm fixes
2025-07-10 06:28:49 +00:00
Chayim Refael Friedman
ad708fdbd1
Put the expression stuff in the expression store behind an Option<Box>
...
And leave only the type stuff without it.
This is because most expression stores don't have anything but types (e.g. generics, fields, signatures) so this saves a lot of memory.
This saves 58mb on `analysis-stats .`.
2025-07-10 05:18:43 +03:00
Chayim Refael Friedman
95c04c4503
Make global_asm!()
work
...
Because apparently, we were not accepting inline asm in item position, completely breaking it.
2025-07-09 18:55:27 +03:00
Chayim Refael Friedman
bd8087e86e
Differentiate between asm!()
, global_asm!()
and naked_asm!()
, and make only asm!()
unsafe
2025-07-09 17:37:27 +03:00
David Barsky
5bae4f5c81
Merge pull request #20185 from ChayimFriedman2/variant-symbols
...
feat: Include enum variants in world symbols
2025-07-07 15:15:27 +00:00
Chayim Refael Friedman
b34e5b7fe4
Include enum variants in world symbols
...
I opted to not include enum variant imports, only under the enum, and to not gate this behind a setting.
2025-07-06 14:52:10 +03:00
Lukas Wirth
c86d83219b
chore: Remove dead field from InferenceContext
2025-07-06 10:57:06 +02:00
Chayim Refael Friedman
c0d9c95926
Merge pull request #20120 from Hmikihiro/match_bind_not_type
...
fix: resolve item in match bind
2025-07-03 15:27:07 +00:00
Hayashi Mikihiro
07a1b4e69f
fix: resolve item in match bind
...
Signed-off-by: Hayashi Mikihiro <34ttrweoewiwe28@gmail.com>
2025-07-03 23:57:18 +09:00
Lukas Wirth
e54759083a
Restructure proc-macro loading erros, differentiate hard error property on kind
2025-07-03 09:28:53 +02:00
Lukas Wirth
5b852da4c3
Merge pull request #20110 from ChayimFriedman2/ambiguous-float
...
fix: Fix completion in when typing `integer.|`
2025-06-27 05:42:09 +00:00
Chayim Refael Friedman
0b6df1716d
Fix completion in when typing integer.|
...
It should show integer, not floating point methods.
2025-06-27 00:12:27 +03:00
Lukas Wirth
317c76fe78
Merge pull request #20106 from Veykril/push-pytuxksnntux
...
Salsa idiomize `VariantFields` query
2025-06-26 12:28:02 +00:00
Lukas Wirth
889d84a1be
Salsa idiomize VariantFields
query
2025-06-26 12:55:55 +02:00
Chayim Refael Friedman
4db8341ddb
Prettify AST in PathTransform
if it's coming from a macro
2025-06-26 10:03:44 +03:00
Lukas Wirth
ad3a2d7280
Merge pull request #20088 from Veykril/push-qrslvzzlqqoz
...
De-arc trait items query
2025-06-25 08:19:32 +00:00
Lukas Wirth
f25912c6f9
De-arc trait items query
2025-06-25 10:09:21 +02:00
Lukas Wirth
c43e7c71de
Short circuit a couple hir-ty/lower queries
2025-06-24 20:04:43 +02:00
Lukas Wirth
ee012e0749
Merge pull request #20061 from ChayimFriedman2/wrap-ret-ty
...
fix: In "Wrap return type" assist, don't wrap exit points if they already have the right type
2025-06-24 07:16:46 +00:00
Chayim Refael Friedman
de312d0c71
Don't run doctests
2025-06-23 00:50:22 +03:00
Chayim Refael Friedman
78427be4d7
In "Wrap return type" assist, don't wrap exit points if they already have the right type
2025-06-23 00:45:40 +03:00
Vincent Esche
90f392108c
Add fn parent(self, db) -> GenericDef
to hir::TypeParam
2025-06-19 18:04:46 +02:00
Lukas Wirth
03f1003637
chore: Start infesting ide crates with 'db lifetime
2025-06-17 10:42:38 +02:00
Lukas Wirth
3d9daeec36
Merge pull request #20009 from Veykril/push-rvnnorzvpnqv
...
Optimize `pub(crate)` and `pub(self)` visibility resolution
2025-06-15 08:36:27 +00:00
Lukas Wirth
e129cdc202
Optimize pub(crate)
visibility resolution
2025-06-15 10:25:45 +02:00
Lukas Wirth
d822f6a0ed
Merge pull request #20008 from Veykril/push-rsnkrwyplmwr
...
More idiomatic salsa use
2025-06-15 08:12:11 +00:00
Lukas Wirth
4b38ea5abd
Unify assoc item visibility queries
2025-06-15 10:01:34 +02:00