Changelog #184

Commit: 2f1b7ce
Release: 2023-06-05 (v0.3.1541)

New Features

  • #14938 add signature help for tuple patterns and expressions:

    Screenshot showing a signature help of (i32, &str, char) for (0,
  • #14892, #14942 MIR episode 6, separate monomorphization and speed up interpretation.

  • #14905 render niches on hover.

  • #14911 allow setting cfgs (rust-analyzer.cargo.cfgs).

  • #14929 add render configuration for memory layout hovers.

  • #14888 prioritize threads affected by user typing.

Fixes

  • #14935 don’t duplicate sysroot crates in rustc workspace.

  • #14939 don’t discard file id from differing macro upmapping in nav target calculation.

  • #14947 add enum, reference, array and slice to render_const_scalar.

  • #14952 make assignment operators right associative.

  • #14971 consider outer binders when folding captured items' type.

  • #14912 don’t add --all-targets to runnables for no_std or no_core crates.

  • #14945 don’t trigger "replace generic with impl trait" assist when it would produce broken code.

  • #14920 fix edits for convert_named_struct_to_tuple_struct.

  • #14950 support floating-point intrinsics in const eval.

  • #14951 fix string pattern matching in mir interpreter.

  • #14955 remove unnecessary StorageDead.

  • #14961 fix drop scopes problems in mir.

  • #14970 detect multiple bindings for one identifier in the same pattern and suppress need-mut.

  • #14972 fix unused-mut false positive for Box.

  • #14976 fix missing terminator for slice pattern.

Internal Improvements

  • #14941 shrink DefMap, share crate level items with block def maps.

  • #14842 improve ast::make.

  • #14969 update built-in attribute list.