Releases: rust-lang/rust-analyzer
Releases · rust-lang/rust-analyzer
2025-01-20
Commit: 248bd51
Release: 2025-01-20 (v0.3.2273)
New Features
#18917add dereferencing completions.#18927automatically includeawait,iter()andinto_iter()in completions#18925render type parameter projection target bounds in inlay hints.#18946,#18950show "Go to type definition" actions for type bounds in functions.#18952completerawandconstkeywords.#18939fliprust-analyzer.typing.excludeCharsto be opt-in, with better defaults.
Fixes
#18908(first contribution) report errors blocks beforeelseinlet-else.#18953(first contribution) fix broken#[cfg(debug_assertions)].#18933(first contribution) bump updatenotifyto fix a Windows crash.#18944updatechalk, to fix trait upcasting.#18949partially back out "fix source root construction for virtual manifests".#18929avoid stack overflow when reaching macro expansion limit.#18940fixSemanticsnot always caching file roots correctly.#18922don't return inlay hints outside requested range.#18897maketest_runner::TestState::stdoutoptional to fix parsingcargo testJSON output.#18968enableunstable-optionsforcargo rustc --print.#18937hide syntax tree view by default.
Internal Improvements
#18957update syntax tree viewer docs.#18951add missing#[rust_analyzer::rust_fixture]annotations.
See also the changelog post.
2025-01-13
Commit: 8364ef2
Release: 2025-01-13 (v0.3.2264)
New Features
#18880(first contribution) add config to include additional paths in the VFS.#18885(first contribution) changerust-analyzer.cargo.cfgsfrom a map to a list.#18907implement#[rust_analyzer::skip]for bodies.#18903implement implicit sized bound inlay hints.#18813reimplement the syntax tree view as a sidebar.#18906reimplement Rust string highlighting using a tool attribute.#18788re-removerust-analyzer.cargo.sysrootQueryMetadata.
Fixes
#18832(first contribution) do not offer completions within strings in macro calls.#18866(first contribution) fix JSON project buildfile inclusion.#18858clear diagnostics on cancel unconditionally.#18853fix case where completion inside macro that expands to#[test]was unavailable.#18864fix diagnostics not clearing between flychecks.#18877fix performance issue on missing MBE bindings.#18884fixenv!completions.#18900do not callprettify_macro_expansionunless "Inline macro" has actually been invoked.#18904improve module path rendering in hover.#18861make edition per-token, not file.#18920fixreftext edit for binding mode hints.#18889fix token lookup in macro call completions.#18899fix another panic in fixup reversing.
Internal Improvements
#18855migrateif-letreplacement assists toSyntaxEditor.#18524migrate(un)wrap_return_typeassists toSyntaxEditor.#18902addDefinition::Crate.#18921compute inlay hint text edits lazily.#18923compute inlay hint tooltips lazily.#18867supporttarget-tuple(vs.target-triple) and clean up version fetching.#18887refactor test helpers withinide-completions.
See also the changelog post.
2025-01-08
Commit: 91fc0a2
Release: 2025-01-08 (v0.3.2257)
New Features
#18788re-removerust-analyzer.cargo.sysrootQueryMetadata.
Fixes
#18832(first contribution) do not offer completions within strings in macro calls.#18866(first contribution) fix JSON project buildfile inclusion.#18864fix diagnostics not clearing between flychecks.#18877fix performance issue on missing MBE bindings.
Internal Improvements
#18867supporttarget-tuple(vs.target-triple) and clean up version fetching.
See also the changelog post.
2025-01-07
Commit: cd12ef8
Release: 2025-01-07 (v0.3.2253)
Fixes
2025-01-06
Commit: 3f2bbe9
Release: 2025-01-06 (v0.3.2249)
New Features
#18757add support for updatingexpect-test,instaandsnapboxsnapshot tests.#18179allow excluding specific traits from completion.#18801show "Go to type definition" actions for generics substitutions on hover.#18821add support forCoercePointee.
Fixes
#18806(first contribution) re-enable crate graph de-duplication.#18797(first contribution) generate exhaustivematchin "Replaceif-letwithmatch".#18758(first contribution) improve SCIP symbols.#18835hide synthetic locals from completions.#18791avoid generating colliding names in "Extract variable".#18794fix "Fill match arm" producing an extra brace in some proc macros.#18802use the correctfile_idused for ranges for outgoing calls.#18807,#18841populate cargo config environment variables.#18826,#18848,#18817properly clear flycheck diagnostics.#18819fix overflow detection in MIR evaluation.#18843correctly handle new-stylerustc_intrinsicsafety.#18845check the right package in flycheck.#18795,#18820fix rendering of literals in code blocks.#18836be more permissive with completion resolve data.#18830fix custom snippet deserialization.
Internal Improvements
#18822(first contribution) allowtargetDirto be an absolute path.#18327,#18852store token trees in contiguousVecinstead of as a tree.#18809do not render closure ids in hover messages.#18790define a quoting mechanism instead of textual ASTmake.#18805implement<RaSpanServer as SourceFile>::eq.#18792decouple proc macro server protocol from the server implementation.#18829,#18831revert 'revert "disablerustctest metrics"'.
See also the changelog post.
2024-12-30
Commit: 59bc7b4
Release: 2024-12-30 (v0.3.2237)
New Features
#18707show substitution where hovering over generic things.#18743unify handling of path diagnostics inhir-ty.
Fixes
#18744(first contribution) treat;as a terminator rather than part of a glued expression.#18756add missing enum name when hovering on variant fields.#18778fix flycheck diagnostics flickering for binary targets.#18784do not merge spans with different anchors.#18789fix invalid-Oflag used bycfgdiscovery.#18722renamerust-analyzer.statusBar.documentSelectortoshowStatusBar, addalwaysandneveroptions.
Internal Improvements
#18774implement parameter variance inference.#18718standardize iterator passing inSyntaxFactory.#18760,#18762work around leakingsalsacycles.#18761swallowconfig value is not setCargo error.#18754clean up target fetching for Cargo metadata.#18785clean up toolchain info fetching.#18750revert "disablerustctest metrics".#18787automatically cancel CI checks on new push to PR.
See also the changelog post.
2024-12-23
Commit: fa4a40b
Release: 2024-12-23 (v0.3.2228)
New Features
#18696report unresolved idents for implicit captures informat_args!().
Fixes
#18723fix a case where completion was unable to expand atracingmacro.#18699fix path-qualified auto-importing completions not working with re-exports.#18729clear flycheck diagnostics more granularly.#18741delay initial flycheck until after build scripts.#18726reduce applicability of theunnecessary_asyncassist.#18695improve name suggestion fordestructure_tuple_binding.#18690use string literal contents as a name when extracting into variable.#18700fixunresolved_fieldwhen a keyword is used as a field.#18708fix pretty-printing of@patterns.#18714do not ask the client to resolve for non-existent label details.#18716consider both completion detail fields into_proto.#18727fix "tried adding a runnable pointing to a different file" panic.#18739don't trigger parenthesis wrapping typing handler after identifiers.#18740fix empty check diagnostics not marking files as changed.#18738,#18742properly test if workspace flychecking is allowed.#18711don't mark&rawof deref as unsafe.
Internal Improvements
#18715(first contribution) fixAsmOptionrule inrust.ungram.#18731revert "drop proc macro server support for 1.66 and older toolchains".#18698don't serialize empty fields in completion and resolve payloads.#18713cleanup label structure ofCompletionItem.#18717,#18735setresult_idfor pull diagnostics.#18697simplifyratomltest directory handling.#18728useserde_deriveintead ofderivefeature.#18710removesalsafrom proc macro server dependency tree.
See also the changelog post.
2024-12-16
Commit: 27e824f
Release: 2024-12-16 (v0.3.2220)
New Features
#18670drop proc macro server support for 1.66 and older toolchains.#18458add diagnostic fix to remove unnecessarySomeorOkwrapper on type mismatch.#18652add "Extract into constant" assist.
Fixes
#18667(first contribution) fix "Replace #[derive()]` when snippet text edits are disabled.#18653hash completion items to properly match them when resolved.#18645allow uninhabited non-exhaustive structs.#18663swallowrustfmtparsing panics.#18660clean up copied proc macro libraries on exit.#18675fix panic when displaying generic params with defaults, again.#18684re-enable snippet text edits capability.#18656preserve order of parameters in "Extract function".#18674show expansion errors in "Expand macro at caret".#18466properly handle different defaults for severity of lints.#18668fix source root construction for virtual manifests.
Internal Improvements
#18643rename test fixture crates tora_test_fixture.#18644removecfg-ifpatching hack.#18647disable pipe in typing handler.#18657migrategenerate_enum_variantassist toSyntaxEditor.#18531map new replacement nodes to their mutable equivalents inSyntaxEditor.#18669only parse the object file once inproc-macro-srv.#18677implementnaked_asm!built-in.#18672simplify dummyproc-macro-srv.#18694show MIR eval errors on hover when debug environment variable is set.#18693fix proc-macro library names on Windows.#18441try not cache the config directory path.
See also the changelog post.
2024-12-09
Commit: 4c755e6
Release: 2024-12-09 (v0.3.2212)
New Features
#18541add infrastructure and a first type lowering diagnostic.#18609report union field accesses and inline assembly as unsafe.#18604complete derive helper attributes.#18594supportAsyncFntraits.#18522add setting to exclude trigger characters from format-on-type.
Fixes
#18610add implict unsafety inlay hints for extern blocks.#18589advertise completions and inlay hints resolve based on the client capabilities.#18630temporarily disable completion resolve support for Helix and Neovim.#18618fix parsing of integer/keyword name references in various places.#18608improve parser recovery for paths.#18625fix parser getting stuck for bad asm expressions.#18593,#18622fix parsing of parenthesized type arguments and RTN.#18586inherit environment in debug configurations.#18587fix syntax fixup inserting unnecessary semicolons.#18555fix a bug where synthetic AST nodes were looked up in the AST ID map.#18607fix shadowing of record enum variants in patterns.#18605fix another glob import name resolution bug.#18611do not report warnings from proc macros, ever.#18474,#18616make bracket typing handler work on more things.#18627improve semicolon insertion typing handler heuristics.#18628add typing handler for parameter list pipe.#18619fix panic when displaying generic parameters with defaults.#18620parse lifetime bounds in lifetime parameters intoTypeBoundList.#18621resolve generic parameters withinusecaptures.#18629highlight>as part of=>inmacro_rules!arm.#18633properly coerceFnDefs to function pointers if they are subtypes.#18592only show VS Code status bar item in relevant files.
Internal Improvements
#18561(first contribution) add macro expansion test for raw variable names.#18595remove references toplatform-intrinsicABI.#18483migrateintroduce_named_genericassist toSyntaxFactory.#18538migratesort_itemsassist toSyntaxFactory.#18551migrateadd_turbo_fishassist toSyntaxFditor.#18575migrateflipassists toSyntaxEditor.
See also the changelog post.
2024-12-02
Commit: b65911d
Release: 2024-12-02 (v0.3.2204)
Fixes
#18511re-addrust-analyzer.cargo.sysrootQueryMetadata.#18559fix stack overflow when computing the sizedness of (co-)recursive types.
Internal Improvements
#18577remove redundant associated type bounds fromdyn TypeFolder.
See also the changelog post.