Changelog #298
Commit: 4e147e7
Release: 2025-08-11
(v0.3.2571
)
An Update on the Next Trait Solver
We are very close to switching from chalk
to the next trait solver, which will be shared with rustc
.
chalk
is de-facto unmaintained, and sharing the code with the compiler will greatly improve trait solving accuracy and fix long-standing issues in rust-analyzer
.
This will also let us enable more on-the-fly diagnostics (currently marked as experimental), and even significantly improve performance.
However, in order to avoid regressions, we will suspend the weekly releases until the new solver is stabilized. In the meanwhile, please test the pre-release versions (nightlies) and report any issues or improvements you notice, either on GitHub Issues, GitHub Discussions, or Zulip.
Fixes
-
#20381
check expected type for assignments in completions. -
#20382
correctly go toimpl From
frominto()
even inside macros. -
#20387
do not remove the original token when descending into derives. -
#20412
properly handle names matching identifiers ingenerate_function
. -
#20418
fixextract_expressions_from_format_string
onwrite!
calls. -
#20354
remove no-op calls inremove_dbg
. -
#20384
fix external docs URL for exported macros.
Internal Improvements
-
#20417
(first contribution) fix parsing of trait bound polarity andfor
-binders. -
#20419
make flycheck generational. -
#20385
migrateexpand_glob_import
assist toSyntaxEditor
. -
#20373
generate anast::Module
, notString
, inextract_module
. -
#20383
removeted
fromreplace_named_generic_with_impl
. -
#20380
removeadd_attr
fromedit_in_place
because it useted
. -
#20409
addwrite!
andwriteln!
tominicore
. -
#20400
disable error reporting when clamping a position. -
#20393
fix non-LSP compliantResponse
definition. -
#20392
report the incorrect payload when failing to deserialize LSP messages. -
#20389
slim down compile-time artifact progress reports.