Releases: rust-lang/rust-analyzer
2023-08-21
Changelog #195
Commit: 83b3ba1
Release: 2023-08-21 (v0.3.1631)
New Features
Fixes
#15463show generic constant defaults in hover.#15473honor#[doc(hidden)]in auto-import and completions.#15383suggest type completions for type arguments and constant completions for constant arguments.#15418fix signature help of methods generated by macros.#15410rewrite De Morgan's assist to avoid string manipulation.#15179substitute default values of const params in "Add missing members".#15420increase the buffer size for the discover project command.
Internal Improvements
#15466add offset param to tokendescendAPI.#15472record import origins inItemScopeandPerNs.#15426,#15429,#15434de-unwrapconvert_to_guarded_return,generate_delegate_methodsandgenerate_derive.#15461always collect memory usage info inanalysis-stats.#15482pinserdeto the last non-blobby release.
See also the changelog post.
2023-08-14
Changelog #194
Commit: 2fbe69d
Release: 2023-08-14 (v0.3.1623)
New Features
#15262(first contribution) addrust-analyzer.check.ignoresetting to ignore specificcheckdiagnostics.
Fixes
#15350handle#[cfg]s on generic parameters.#15405support doc links that resolve to fields.#15416correctly display fully-qualified associated types correctly.#15419add MIR lowering support for tuple destructing assignment.#15415fix float parser hack creating emptyNameReftokens.#15250don't use control flow when keeping the tail expression of the original function.#15445fixonly_typesconfig filtering out traits from world symbols.#15438fix parser getting stuck in eager macro inputs.
Internal Improvements
#15217(first contribution) convertunwraptoexpectinlsp-serverand add a debug log.#15422record import source IDs.#15435derive block attributes from block item tree.#15436preserveresolve_obligations_as_possibleallocation across calls.#15423,#15433de-unwrapconvert_named_struct_to_tuple_structandremove_unused_imports.#15417useCast::cast()instead of explicit interning.#15428fix pinned version oflsp-types.#15421add more error context when failing to invoke the Rust toolchain.
See also the changelog post.
2023-08-07
Changelog #193
Commit: baee6b3
Release: 2023-08-07 (v0.3.1615)
New Features
-
#14723(first contribution) add "Remove unused imports" assist:remove-unused-imports.mp4
Fixes
#15361expand eager macros to delimited comma-separated expression list.#15366remove faulty unwrap in eager macro expansion.#15367strip unused token ids from eager macro input token maps.#15380fix unsized struct problems in MIR eval.#15348exclude non-identifier aliases from completions.#15050skip#[doc(hidden)]methods in "Implement default members" and "Convert+#[derive]+to manual impl".#15376make "Convertmatchtomatches!" assist trigger on non-literal bool arms.#15345don't provideadd_missing_match_armsassist when up-mapping match arm list failed.#15397remove unwraps from "Generate delegate trait".#15406don't providegenerate_default_from_newwhen impl self type is missing.#15391set the default status bar button action to "Open logs".#15392use the warning color when server is stopped.
Internal Improvements
#15373(first contribution) desugarwhiletoloopandbreak.#15390improve MIR interpreter performance by caching.#15269defer structured snippet rendering to allow escaping snippet bits.#15377record extern crate declarations in the HIR.#15401turn unresolved proc macro expansions into missing expressions.#15378renameImporttoUseinhir-def, add unused placeholder variants forUseId.#15393qualify parameters by the containing function in SCIP.#15358add triagebotno-mergesconfig.
See also the changelog post.
2023-07-31
Changelog #192
Commit: 429a381
Release: 2023-07-31 (v0.3.1607)
New Features
#15308add platform-specific runnable environment variables.
Fixes
#15356fix badunwrapineager_macro_recur.#15357do not create function-like macro calls with non-fn expanders.#15271properly infer types with type casts.#15360fix up path fragments upon MBE transcription.#15353add manual implementation of clone for tuples in MIR interpreter and fence intrinsics.#15363supportSelfwithout field in MIR lowering.#15349show anonymousFnDeftypes as function pointers.#15359include proc macro server spawn errors in the status text.
See also the changelog post.
2023-07-24
Changelog #191
Commit: 99718d0
Release: 2023-07-24 (v0.3.1599)
New Features
#15303fix highlighting of byte escape sequences.
Fixes
#15277(first contribution) limitchange_visibilityassist to top-level items.#15312don't follow raw pointer derefs when considering method receiver candidates.#15317look up supertraits inis_dyn_method.#15320reportincorrect-ident-casefor inner items.#15325normalize expected type in call arguments.
Internal Improvements
#15290(first contribution) use notification command links for debugger installation.#15313(first contribution) add configuration example for Kate.#15301support reading uncompressed proc macro metadata.#15287removecratevisibility modifier.#15316passTraitEnvironmentintolayout_tyandconst_eval.#15323optimizeDepKindInfotoDepKindconversion.#15304use.kind(Interner)instead of.data(Interner).kind.#15281break down VS Code extension CI steps to make them clearer.
See also the changelog post.
2023-07-17
Changelog #190
Commit: d824511
Release: 2023-07-17 (v0.3.1591)
Fixes
#15248fix eager token mapping panics.#15297normalize type alias inprojected_ty.#15258supportgetrandomsyscall in MIR.#15268addwrite_bytesandctlzintrinsics.#15282addtype_nameintrinsic and give realdiscriminant_typetochalk.#15284addsched_getaffinityand enablecfg(miri)in analysis.
Internal Improvements
#15257(first contribution) ignoreContent-Lengthheader case inlsp-server.#15270(first contribution) make fields ofmir::Terminatorpublic.#15292(first contribution) fix typo in command line help.#15295(first contribution) fixrust-analzyer ssrhelp message.#15251skip building subtrees for built-in derives.#15231,#15260migrate more assists to use the structured snippet API.#15263enablederivefeature forserdeinlsp-server.#15267mark MIR execution limit test as slow.#15252enableuseUnknownInCatchVariablesTypeScript option.#15259use type imports.#15254add FIXME forexactOptionalPropertyTypes.#15264,#15265bump npm dependencies.#15266set.editorconfigdefault indent size to4.#15275default to stable toolchain in the metrics workflow.
See also the changelog post.
2023-07-10
Changelog #189
Commit: ff15634
Release: 2023-07-10 (v0.3.1583)
New Features
-
#15081(first contribution) add a memory layout viewer: -
#15152addGenerate trait from implassist: -
#14990map our diagnostics to therustcandclippyones. -
#15186don't add panics to error jump list by default.
Fixes
#15118(first contribution) follow raw pointers in autoderef chain when resolving methods with custom receiver.#15235(first contribution) don't insert semicolon when extractingmatcharm.#15226makeExpand glob importwork on enum imports.#15211support GATs in bounds for associated types.#15223don't showunresolved-fielddiagnostic for missing names.#15216don't mark braces aroundselfimports as unnecessary.#15212recover from missing associated items and generic const defaults.#15245fix missing terminator in pattern matching of consts.#15222fixsize_of_valand supportmin_align_of_valintrinsic.#15244supportread_via_copyintrinsic.#15228implement recursion in MIR interpreter without recursion.#15230useDebugimpl for const eval result rendering.#15227indent after pressing enter on a blank line.
Internal Improvements
#15202don't diagnose built-in derives.#15204add analysis-stats flag to trigger some IDE features.#15149speed up line index calculation via SSE2.#15219unify Generate getter and setter assists.#15205split out project loading capabilities from therust-analyzercrate.#15203shuffle someproc_macro_expandquery things around.#15209use stronger typing forAstIdandAstIdMap.#15181clean upImportMap.#15210removeCfgExpander.#15206formatlet-else.#15224replacexwithit.#15160enablenoUncheckedIndexedAccessandnoPropertyAccessFromIndexSignatureTypeScript options.#15234remind user to checkPATHafter installation.
See also the changelog post.
2023-07-03
Changelog #188
Commit: ff485b6
Release: 2023-07-03 (v0.3.1575)
New Features
#15136(first contribution) drop matching brace key binding.#15185bumpchalk.#15151update VS Code extension dependencies and require 1.78.
Fixes
#15148fixselfandsuperpath resolution in block modules.#15157fix runnable detection for#[tokio::test].#15173fix data layout of reference to nested unsized structs.#15184disable MIR interpreter for targets with different pointer size from host.#15168fix MIRreallocallocating a smaller destination.#15189fix overflow checking in shift operator.#15194fix layout of SIMD types and respect alignment in MIR interpreter.#15101,#15177,#15180check clientworkspace.workspaceEdit.resourceOperationscapability.#15138renamerunnableEnvtorunnables.extraEnv.
Internal Improvements
#15030,#15163(first contribution) run metrics on parallel.#15172support#[derive_const(Trait)].#15140add comment explaining whyHasSource::source()returnsOption.#15161addlibraryfixture meta.#15175dropcross-envnpm dep.#15174switch to@vscode/vsce.#15153clean up Code extensionactivationEvents.#15154use@tsconfig/strictestfor type checking rules.#15159enablenoImplicitOverride.#15169use anonymous lifetime where possible.#15142rename crates after removing libs from workspace.#15195don't specifyproc-macro-testversion.
See also the changelog post.
2023-06-26
Changelog #187
Commit: 4a2ceef
Release: 2023-06-26 (v0.3.1566)
New Features
Fixes
#15105(first contribution) fix display of negative integers.#15074fix inlining of async functions.#15112support manual implementation ofFntraits in the MIR interpreter.#15119support more intrinsics in the MIR interpreter.#15135fix some unsizing problems in MIR.#15085include project path in workspace loading errors.#15104skip mutability diagnostics on synthetic bindings.
Internal Improvements
#15093useArgumentV1instead ofArgument.#15071,#15089remove spuriousregexdependency.#15087,#15097,#15100use consistent style for error handling.#15086intern use and extern crate items like other items.#15095change in-tree libs to workspace dependencies and bump versions.#15098use lib crates from crates.io.#15070report metric timings for file item trees and crate def map creation.#15110add run-tests CLI command.
See also the changelog post.
2023-06-19
Changelog #186
Commit: cd3bf9f
Release: 2023-06-19 (v0.3.1557)
Fixes
#15026,#15044deduplicate fields, and tuple indices in deref handling for completion.#14932lower const params with a bad id.#15054use correct const param and default type names in "Implement missing members".#15032exclude Markdown injection grammar from.vscodeignore.#15040use a more obscure hasher name in#[derive]expansion.#15075add binding definition for for-expr iterator desugared binding.
Internal Improvements
#15076shrink size ofhir::Binding.#15036giveConstBlockIdandInTypeConstIdnamedLocationtypes.#15047record file dependencies in crate graph construction.#15053add aCrateRootModuleIdthat encodes a module id that is always a crate root.#15058improve "terminator is none" message.#14693supportPointeetrait.#15065do not allocate unnecessarily when importing macros from parent modules.#15067add more context to "overly long loop turn" messages.#15066analyze all bodies inanalysis-stats, not just functions.#15069add body lowering step, track time of each step separtely.
See also the changelog post.


