Commit: cac0779
Release: 2026-07-20 (v0.3.2981)
New Features
#22283early late classification of lifetimes.#22791re-enable auto trait inference.#22777treat library files as truly immutable.#22464hide private fields on hover depending on context.#22811add capture hints to coroutines.#22813addreturn-outside-of-functiondiagnostic.
Performance Improvements
#22862shrinkhir::Exprfrom 56 to 48 bytes.#22860packExprOrPatIdwhen stored and shrinkScopeData.#22794avoid an allocation when converting case in flyimport.
Fixes
#22634(first contribution) don't panic when restarting flycheck with an empty handle list.#22822(first contribution) fix panic on functions and proc macros with the same name.#22865(first contribution) respawn proc macro servers after stopping them.#22784don't#[macro_use]the sysroot crates.#22861record expressions in types inExprScope.#22773resolve non-plain paths in blocks correctly.#22747reimplement thecrate_supports_no_stdsyntactic heuristic.#22832correctly record binding owners in coroutines.#22825respecthover.documentation.enable.#22852eagerly normalizeIntoFuture::Outputforawait.#22483don't assume array destructuring assignments with rest pattern are constant-sized.#22857handle enum variants in next-solvergenerics.#22849fixsyntax-bridgepanic when splitting float.#22583updaterender_const_using_debug_implfor recent standard library changes.#22804don't update existing parent inference results for anonymous consts.#22810stop leaking bound variables from skipped binders.#22855fixInferenceContext:identity_argsusing the wrongDefId.#22827fix panic on type bounds after macro calls caused by parser recovery.#22789fix invalidpattern_matching_variantlowering due to recovery.#22759,#22782usequote!to avoid someunwrappanics inSyntaxFactory.#22792preserve whitespace from macro inputs inextract_variable.#22819only update the status if the message is different when the client doesn't supportexperimental/serverStatus.
Internal Improvements
#22780remove#[salsa::cycle]support from#[query_group].#22814migrateHirDatabase::borrowckaway from#[query_group].#22548add a few more database lifetimes.#22534turnBlockLocinto a tracked struct, take 3.#22779remove theTreeMutatorfromSourceChangeBuilder.#22815remove manual lifetime extension.#22778split out a session construct.#22793useResultfor thelsp_server::Responsepayload.
See also the changelog post.