Changelog #68

Commit: 5ba7852
Release: 2021-03-15

Sponsors

Become a sponsor: On OpenCollective or GitHub Sponsors.

New Features

  • #7799 add "peek related tests" command (LSP extension):

    109397453 a9013680 7947 11eb 8b11 ac03079f7645
  • #7956 (first contribution) add "convert for_each into for loop" assist:

    111136030 f6a3b300 8585 11eb 9e7a c4716072b55c
  • #7898 infer return type in "generate function" assist:

    111136944 ec35e900 8586 11eb 9957 1bbb478668a7
  • #7873 consider unresolved qualifiers during flyimport:

    110040808 0af8dc00 7d4c 11eb 83db 65af94e843bb
  • #7874, #7961 add "apply Structural Search and Replace" assist:

    111138847 1688a600 8589 11eb 8098 0bce2360eee9
  • #7904, #8014 improve completion sorting:

    110249883 4e5e7080 7f2d 11eb 9269 a3bc133fdee7
  • #7981 (first contribution) support multiple terms in De Morgan’s Law assist:

    111139619 03c2a100 858a 11eb 9cfd 43f7ad83b470
  • #7914 enable build scripts execution by default (disable using rust-analyzer.cargo.runBuildScripts).

  • #7928 (first contribution) add x.err postfix completion.

  • #7964 implement builtin cfg! macro.

  • #7942 show whether a binding is mutable or not on hover.

  • #7993 use auto-deref in completion scoring.

  • #7891, #7927 improve handling of rustc_private.

Fixes

  • #7901 (first contribution) respect HTTP proxy settings in the Code extension.

  • #7912 de-duplicate import map results.

  • #7941 fix highlighting of unused definitions.

  • #7944 selecting &mut foo completion now actually inserts &mut.

  • #7957 fix labels for single import assists.

  • #7958 avoid double text edits when renaming mod declaration.

  • #7959 prefer names from outer DefMap over extern prelude.

  • #7969 return original text range in PrepareRename responses when inside macro.

  • #7972 add semicolon after type ascription.

  • #7994 speed up MBE matching for recursive macros.

  • #7984 improve version string display.

  • #7997 fix folding range kind.

  • #7999 handle cfg_attr gating multiple attributes.

  • #8005 handle ill-formed macros propely.

  • #8010 attach trivia to ast::Union nodes.

  • #8017 keep type params in doc-test paths.

Internal Improvements

  • #6822 (first contribution) read version of rustc that compiled proc macros.

  • #7921 avoid some serde-json dependencies.

  • #7918, #7980 generalize file ensuring infrastructure, drop xtask codegen.

  • #7923 remove useless code_model indirection.

  • #7924 use upstream cov-mark implementation.

  • #7930 clarify that all protocol extensions are experimental.

  • #7931 use Type::new_with_resolver_inner more.

  • #7932 improve settings descriptions.

  • #7933, #7949 slightly improve compilation speed.

  • #7945 future-proof completion scores.

  • #7878 remove item_scope field from Body.

  • #7948 delete ContainerId.

  • #7955 stop fetching ItemTrees for no reason.

  • #7967 use expect-test for builtin macro/derive tests.

  • #7974, #7978 (first contribution) use references in CompletionItem builder.

  • #7985 use Chalk Environment more directly.

  • #7989 remove ItemTree::source.

  • #7991 simplify hir_def::TestDB.

  • #7996 separate Ty and TyKind like in Chalk.

  • #7998, #8001 use more Chalk IDs.

  • #8002 create TraitEnvironment through a query.

  • #8003 move type lowering methods to TyLoweringContext.

  • #8006 simpify MBE bindings builder.

  • #8011 add --no-sysroot flag for analysis-stats.

  • #8012, #8013 replace xtask lint with cargo alias.

  • #8016 more Chalk adaptations.