|
| 1 | += Changelog #69 |
| 2 | +:sectanchors: |
| 3 | +:page-layout: post |
| 4 | + |
| 5 | +Commit: commit:858ad554374a8b1ad67692558a0878391abfdd86[] + |
| 6 | +Release: release:2021-03-22[] |
| 7 | + |
| 8 | +== Sponsors |
| 9 | + |
| 10 | +**Become a sponsor:** On https://opencollective.com/rust-analyzer/[OpenCollective] or |
| 11 | +https://github.com/sponsors/rust-analyzer[GitHub Sponsors]. |
| 12 | + |
| 13 | +== New Features |
| 14 | + |
| 15 | +* pr:8000[] add HIR formatter infra and use it for hover text: |
| 16 | ++ |
| 17 | +image::https://user-images.githubusercontent.com/308347/111968849-49d7b180-8b02-11eb-8f0d-4b7bc38d5247.png[] |
| 18 | + |
| 19 | +* pr:8032[] enable proc macros by default (use `rust-analyzer.procMacro.enable` to disable them). |
| 20 | +* pr:7966[] add diagnostic for files missing from the module tree. |
| 21 | +* pr:7975[] include regions in file structure: |
| 22 | ++ |
| 23 | +image::https://user-images.githubusercontent.com/308347/111967940-4bed4080-8b01-11eb-940a-fc8f81d5673b.gif[] |
| 24 | + |
| 25 | +* pr:8021[] enable reference searching for built-in types: |
| 26 | ++ |
| 27 | +image::https://user-images.githubusercontent.com/3757771/111132711-f69db600-8579-11eb-8c90-22fd6862d11f.png[] |
| 28 | + |
| 29 | +* pr:8020[] power up "Go to implementation": |
| 30 | ++ |
| 31 | +image::https://user-images.githubusercontent.com/3757771/111144403-52bb0700-8587-11eb-9205-7a2a5b8b75a3.png[] |
| 32 | + |
| 33 | +* pr:7992[], pr:8036[] improve completions and completion sorting: |
| 34 | ++ |
| 35 | +image::https://user-images.githubusercontent.com/22216761/111018680-0e551e80-836f-11eb-94b1-c88336ecbc6e.png[] |
| 36 | ++ |
| 37 | +image::https://user-images.githubusercontent.com/22216761/111189395-45941d00-8573-11eb-871b-09186b35cbb9.png[] |
| 38 | + |
| 39 | +* pr:8037[], pr:8040[] add "Generate `is_empty` method from `len` method" assist. |
| 40 | +* pr:7900[] show function parameters in completion detail. |
| 41 | +* pr:8060[] improve "Move bounds" assist. |
| 42 | +* pr:8071[], pr:8086[] highlight intra-doc links in doc comments: |
| 43 | ++ |
| 44 | +image::https://user-images.githubusercontent.com/308347/111969661-27926380-8b03-11eb-8e78-70dc95e137fd.png[] |
| 45 | + |
| 46 | +* pr:8124[] add lifetime completion: |
| 47 | ++ |
| 48 | +image::https://user-images.githubusercontent.com/3757771/111886437-c9b02f80-89cd-11eb-9bee-340f1536b0de.gif[] |
| 49 | + |
| 50 | +* pr:8127[] add label completion: |
| 51 | ++ |
| 52 | +image::https://user-images.githubusercontent.com/3757771/111900839-07946e80-8a35-11eb-90f6-a47943e7501d.gif[] |
| 53 | + |
| 54 | +* pr:8131[] add smart case lookup into flyimport completion: |
| 55 | ++ |
| 56 | +image::https://user-images.githubusercontent.com/308347/111970038-8821a080-8b03-11eb-9bca-b4e06aac565b.png[] |
| 57 | + |
| 58 | ++ |
| 59 | +image::https://user-images.githubusercontent.com/308347/111970065-8e178180-8b03-11eb-8a33-8aa245401e8a.png[] |
| 60 | + |
| 61 | +== Fixes |
| 62 | + |
| 63 | +* pr:8025[] fix resolution of incomplete fields. |
| 64 | +* pr:8015[] make runnable detection more resilient to out-of-tree modules. |
| 65 | +* pr:7970[] fix incorrect diagnostics for failing built in macros. |
| 66 | +* pr:8044[] fix macro expansion for statements without semicolon. |
| 67 | +* pr:8048[] fix missing unresolved macro diagnostic in function body. |
| 68 | +* pr:8066[] handle `#[cfg]` on call arguments. |
| 69 | +* pr:8068[] handle `#[cfg]` on function parameters. |
| 70 | +* pr:8067[] check whether cursor is on and not between intra-doc links in `goto_definition`. |
| 71 | +* pr:8073[] improve diagnostic when including nonexistent file. |
| 72 | +* pr:8075[] fix `use crate as <name>;` imports. |
| 73 | +* pr:8078[] support `#[cfg]` on all associated items. |
| 74 | +* pr:8082[] properly handle inner recursive `macro_rules!`. |
| 75 | +* pr:8088[] fix "Go to definition" and highlighting for function-like proc macros. |
| 76 | +* pr:8089[] update info about Eclipse Corrosion. |
| 77 | +* pr:8094[] fix infinite recursion when computing diagnostics for inner items. |
| 78 | +* pr:8083[] track source file IDs in source mapping of `Attrs`. |
| 79 | +* pr:8108[] fix handling of `#![cfg]` in outline module files. |
| 80 | +* pr:8122[] make bare underscore token an `Ident` rather than `Punct` in proc-macro. |
| 81 | +* pr:8123[] do not display unqualified associated item completions. |
| 82 | +* pr:8128[] expand legacy-scoped macro during collection. |
| 83 | +* pr:8133[] fix `salsa` panic. |
| 84 | +* pr:8134[] (first contribution) fix module resolution in `include!`ed files. |
| 85 | +* pr:8137[] fix box pattern inference panic. |
| 86 | + |
| 87 | + |
| 88 | +== Internal Improvements |
| 89 | + |
| 90 | +* pr:7498[] switch to a mutable syntax tree implementation. |
| 91 | +* pr:8023[] move `StructureNodeKind` from `ide_db` to `ide`. |
| 92 | +* pr:8022[] fix some `clippy` performance warnings. |
| 93 | +* pr:8026[] simplify source maps for fields. |
| 94 | +* pr:8018[], pr:8038[] make `Ty` wrap `TyKind` in an `Arc`. |
| 95 | +* pr:8008[] clean up `CompletionContext::expected_type`. |
| 96 | +* pr:8030[] add `diesel` to the benchmark suite. |
| 97 | +* pr:8029[] enable thread-local coverage mark support. |
| 98 | +* pr:8035[] `unqualfied_path` completions aren't responsible for variant pattern completions. |
| 99 | +* pr:8028[] prepare for returning parents in the "Locate parent module" command. |
| 100 | +* pr:8039[] use `SmallVec` for `Substs`. |
| 101 | +* pr:8046[] add `match` vs. `if let ... else` entry to the style guide. |
| 102 | +* pr:8034[] implement `Crate::transitive_reverse_dependencies`. |
| 103 | +* pr:8042[] (first contribution) add `rustc-perf` version to the metrics JSON. |
| 104 | +* pr:8061[] structural editing API can automatically insert whitespace in simple cases. |
| 105 | +* pr:8059[] support `cfg_attr` in doc-comment syntax highlighting. |
| 106 | +* pr:8065[] handle block doc comments better. |
| 107 | +* pr:8069[] support highlight injection in block doc comments. |
| 108 | +* pr:8080[] change `ItemTree` API to accomodate creating an `ItemTree` per block expression. |
| 109 | +* pr:8087[] make MacroDefId's `AstId` mandatory when possible. |
| 110 | +* pr:8093[] record custom derive helpers in `DefMap`. |
| 111 | +* pr:8097[] parse `extended_key_value_attributes`. |
| 112 | +* pr:8112[] revamp `hir_def` attribute API. |
| 113 | +* pr:8125[] don't use an untyped `String` for ActiveParam tracking. |
0 commit comments