Changelog #71

Commit: 19e09a4
Release: 2021-04-05

Sponsors

Become a sponsor: On OpenCollective or GitHub Sponsors.

New Features

  • #8231 (first contribution) fold consecutive consts and statics:

    112835083 b584c600 9090 11eb 968a a95f4e9c1f6c
  • #8295 (first contribution) add Convert Into to From assist:

    113420108 9ce21c00 93c0 11eb 8c49 80b5fb189284
  • #8210 add "Extract type alias" assist:

    113543910 0005c580 95f0 11eb 8992 d6dffc846c2d
  • #8267, #8274 add GIFs of most features to the manual.

  • #8240 add semantic highlighting modifier for trait items and trait method calls.

Fixes

  • #8222 don’t mark unlinked file diagnostic as unused.

  • #8246 (first contribution) update VIM YCM installation instructions.

  • #8250 classify associated types in paths more accurately.

  • #8256 make "Move item" commands work in more cases.

  • #8261 fix expansion of OR-patterns in match check.

  • #8266 fix generic argument lowering in qualified trait casts (helps with .await).

  • #8271 fix error parsing `u128`s in proc macro output.

  • #8276 lower inner items defined in macros.

  • #8283 resolve associated types at the IDE layer.

  • #8265 improve rustc diagnostic mapping.

  • #8285 improve typechecking performance by avoiding re-checking unchanged obligations in an accidentally quadratic way.

  • #8284 reduce memory usage by using global Arc-based interning.

  • #8297 only populate prelude for crate-level `DefMap`s.

  • #8304 support the new panic!() macro.

  • #8305 fix "Join lines" panic when triggered on an empty last line.

  • #8307 make include! work for empty files.

  • #8318 use shrink_to_fit to reduce DefMap sizes.

  • #8324 add Body::shrink_to_fit.

  • #8329 (first contribution) fix moveItem method name in the docs.

  • #8332 show error when rustfmt component is unavailable.

Internal Improvements

  • #8235 make --log-file more discoverable.

  • #8241 clean up hprof.

  • #8244 track missing .check_cancelled.

  • #8247 ensure that runaway type-inference doesn’t block the main loop.

  • #8254 switch from CLI to internal benchmarking.

  • #8255 touch up dev readme.

  • #8262 revive google_cpu_profile infra.

  • #8186 lower traits to TraitRef instead of TypeRef.

  • #8269 document semantics of missing names.

  • #8286 include remaining memory in memory usage stats.

  • #8292 document Cargo.lock maintenance process.

  • #8293 document style for helper functions and variables.

  • #8303 allow interning strings.

  • #8309 introduce GenericArg like in chalk.

  • #8315 try to further reduce ItemTree size.

  • #8323 only remember blocks that have a DefMap.

  • #8327 move Ty creation methods out of Ty (chalk move preparation).

  • #8328 move things in hir_ty into submodules.

  • #8333 allow skipping type inference in analysis-stats.