Releases: rust-lang/rust-analyzer
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.
2024-11-25
Commit: 327ab29
Release: 2024-11-25 (v0.3.2196)
Fixes
#18529(first contribution) improve selection handling inmerge_match_arms.#18459use snippet placeholders for generated match arms.
Internal Improvements
#18485migrateadd_bracesassist to useSyntaxFactory.#18521migratereorder_impl_itemsassist to useSyntaxFactory.#18552fix formatting in "missingrust-src" message.
See also the changelog post.
2024-11-18
Commit: ba56d9b
Release: 2024-11-18 (v0.3.2188)
Fixes
#18503use item indices instead of attribute matching when resolving completions.#18519use correct file in related documents diagnostics.
Internal Improvements
#18495migratereorder_fieldsassist to useSyntaxFactory.#18482add publicdirect_supertraitsandall_supertraitsaccessors tohir::Trait.
See also the changelog post.
2024-11-11
Commit: 30e71b6
Release: 2024-11-11 (v0.3.2180)
New Features
#18473includeexternblocks and macros in file outline.
Fixes
#18475support new#[rustc_intrinsic]attribute and fallback bodies.
Internal Improvements
#18493(first contribution) update supported debug engines in configuration.#18486change minimum VS Code version from 1.78 to 1.83.
See also the changelog post.
2024-11-04
Commit: a341d59
Release: 2024-11-04 (v0.3.2172)
New Features
#18312(first contribution) includeletstatements in file outline.#18420support+#[cfg(true)]+and+#[cfg(false)]+.#18469showstaticvalues on hover.#18470allow interpreting consts and statics with the Interpret command.#18385add assist to generate a type alias for a function.
Fixes
#18436only render type layout info on definitions, not usages.#18422properly resolve prelude paths in modules inside blocks.#18413allow public re-exports ofextern crateimports.#18432honor diagnostic refresh capability.#18382fix flyimport for aliased functions and modules.#18446only parsesafeas a contextual keyword inexternblocks.#18453fix parsing of patterns with leading|.
Internal Improvements
#18304(first contribution) add developer setup instructions.#18437(first contribution) publishtest-fixtureasra_ap_test_fixture.#18256(first contribution) start usingOption::is_none_or.#18074build source map forhir_def::TypeRefs.#18427clean up TypeRef lowering.#18447avoid interior mutability inTyLoweringContext.#18448movechild_by_sourcefromhir-deftohir.#18421movetext-editintoide-db.#18412stop producing.gzartifacts for Windows.
See also the changelog post.
2024-10-28
Commit: 3b3a87f
Release: 2024-10-28 (v0.3.2162)
A Note on Windows Artifacts
The next release will stop including .gz artifacts for Windows.
These are harder to use than the .zip ones, which should be used instead.
New Features
#18294(first contribution) supportOptionin "Wrap/Unwrap return type".#18362,#18370(first contribution) support "Go to definition" on range operators and patterns.#18359(first contribution) add option to not start the server on initialization.#18264implement mixed-site hygiene.#18404,#18408implement pull model for diagnostics.#18349render aliased type documentation when alias doesn't have any.#18418splitmacro-errordiagnostic so users can ignore parts of it.
Fixes
#18407(first contribution) fix formatting on welcome page.#18376add text edits to more inlay hints.#18361fix token downmapping failing forinclude!inputs.#18254nail destructuring assignment down once and for all.#18337don't show private items from modules nested in blocks in completions.#18360improve completions for extern blocks.#18371fix parsing of use bounds.#18388Fix checking forfalselabelDetailsSupportvalue.#18395add missingtarget_has_atomicandtarget_has_atomic_load_storecfgflags.#18390prevent public re-exports of private items.#18417correctly handle#""before the 2024 edition.#18419put leading|in patterns underOrPat.#18415mark "Removedbg!" as a quick fix for better prioritization.#18366fix Markdown display in status bar message.#18399respect config to disable native diagnostics.#18386don't crash when local time offset is unavailable.
Internal Improvements
#18372(first contribution) switch CI from bors to merge queues.#18373merge separate inlay hints targeting the same range.#18391log original syntax on panic.#18394,#18396pretty-printConfigin "Status" command.#18402improve proc macro error message for failed build scripts.#18410invert token iteration order in macro mapping.#17954updaterustc-hashto version 2.#18392swap query call order infile_item_tree_queryto help with caching issue.#18409only construct a resolver during macro descension when needed.#18368add test for LSIF macro-generated constants.#18405update changelog generation for merge queues.
See also the changelog post.