Changelog #198

Commit: 326f37e
Release: 2023-09-11 (v0.3.1657)

New Features

  • #15578 diagnose mismatched argument count for tuple struct patterns:

    A screenshot showing an error on `let S(a, b) = todo!()`
  • #15584 diagnose private fields in record constructor:

    A screenshot showing an error when using a private field in a pattern
  • #15557 parse builtin# syntax and add type checking for builtin#offset_of.

  • #15559 implement builtin#format_args, using rustc’s format_args parser.

  • #15532 on-type format (, by adding closing ) automatically.

  • #15573 add "into to qualified from" assist.

  • #15524 add "Bind unused parameter" assist.

  • #15528 enable cfg(rust_analyzer) when code is being analyzed.

Fixes

  • #15574 use crate name for CARGO_CRATE_NAME.

  • #15577 clear native diagnostics for closed files.

Internal Improvements

  • #15568 replace format_args parser with upstream fork.

  • #15565 implement write_via_move intrinsic for MIR eval.

  • #15571 remove allocation on MIR eval memory write.

  • #15567 ignore enum variants in analysis stats of MIR bodies.

  • #15575 intern projections in MIR place.

  • #15430 de-unwrap wrap_return_type_in_result.

  • #15529 do not send inlay hint refresh requests on file edits.

  • #15522 resolve inlay hint data lazily.

  • #15586, #15592 shrink some stuff.

  • #15564 use current folder’s rustfmt.toml with custom configurations.

  • #15560 when using rust-project.json, prefer the sysroot-defined rustc over discovery in $PATH.

  • #15558 remove rust-analyzer.discoverProjectCommand in favor of a companion VS Code extension.