|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "IntelliJ Rust Changelog #184" |
| 4 | +date: 2022-12-05 13:00:00 +0300 |
| 5 | +--- |
| 6 | + |
| 7 | + |
| 8 | +## New Features |
| 9 | + |
| 10 | +* [#9729] Enable [`function-like`](https://doc.rust-lang.org/reference/procedural-macros.html#function-like-procedural-macros) and [`derive`](https://doc.rust-lang.org/reference/procedural-macros.html#derive-macros) procedural macro expansion by default. |
| 11 | + Note that attribute procedural macro expansion is still disabled by default. If you want to try it, you can enable `org.rust.macros.proc.attr` [experimental feature](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-faq.html#experimental-features) |
| 12 | + |
| 13 | + <img src="/assets/posts/changelog-184/derive_proc_macro.png" width="700px"/> |
| 14 | + |
| 15 | +* [#9686] Support short [intra-doc links](https://doc.rust-lang.org/rustdoc/write-documentation/linking-to-items-by-name.html) (in format `[link]`) |
| 16 | + |
| 17 | +* [#9808] Parse half-open range patterns |
| 18 | + |
| 19 | +* [#4768] Show [coerced](https://doc.rust-lang.org/reference/type-coercions.html) type in `type info` (`ctrl`+`shift`+`P`) |
| 20 | + |
| 21 | + <img src="/assets/posts/changelog-184/type_info.png" width="350px"/> |
| 22 | + |
| 23 | +* [#9760] Notify users about changes in crate roots of procedural macro libraries to reload project model. Otherwise, the plugin won't be able to properly expand procedural macro calls |
| 24 | + |
| 25 | +* [#9711] Experimentally set `RUST_IDE_PROC_MACRO_COMPLETION` and `RUST_IDE_PROC_MACRO_COMPLETION_DUMMY_IDENTIFIER` environment variables for procedural macro when invoking them during completion. The idea is that authors of proc macros could use these variables and based on them change behavior of the macro to provide a better (possible custom) completion for IDE users |
| 26 | + |
| 27 | +## Fixes |
| 28 | + |
| 29 | +* [#9761] Fix type inference in closures on nightly Rust |
| 30 | + |
| 31 | +* [#9779] Fix false-positive errors like `Use of moved values` after invalidating caches without clearing file caches |
| 32 | + |
| 33 | +* [#9800] Fix impl search when there are multiple type aliases with same names |
| 34 | + |
| 35 | +* [#9756] Suggest `Reload project` instead of `Attach file to a module` quick-fix for crates root files after their creation |
| 36 | + |
| 37 | +* [#9783] Fix [move statement up/down](https://www.jetbrains.com/idea/guide/tutorials/rearranging-code/moving-statements-around/) editor action being incorrectly disabled with some IDE configurations (by [@afetisov]) |
| 38 | + |
| 39 | +* [#9823] Fix completion inside local macro calls in 2022.3 |
| 40 | + |
| 41 | +* [#9767] Fixes `Go To Declaration`, highlighting, completion and other features in function-like macros used in the pattern context |
| 42 | + |
| 43 | +* [#9762] Fix find usages for variables defined by macros |
| 44 | + |
| 45 | +* [#9764] Fix handling nested blocks expanded from local macros |
| 46 | + |
| 47 | +* [#9741] Don't offer `Un-elide lifetimes` intention when there is no input lifetimes |
| 48 | + |
| 49 | +* [#9788] Don't show `File does not belong to any known Cargo project` warning for [scratch files](https://www.jetbrains.com/help/idea/scratches.html) |
| 50 | + |
| 51 | +* [#9345] Fix nesting of renamed imports (by [@afetisov]) |
| 52 | + |
| 53 | +* [#9745] Restore option `Fix all 'Unresolved reference' problems in file` which adds unambiguous imports. Note that there is also an option `Add unambiguous imports on the fly` which can be turned on in `Settings | Editor | General | Auto Import` |
| 54 | + |
| 55 | +* [#9737] Don't create separate undo entry when adding unambiguous import on the fly |
| 56 | + |
| 57 | +## Internal Improvements |
| 58 | + |
| 59 | +* [#9758] Make 2022.3 platform default for development |
| 60 | + |
| 61 | +Full set of changes can be found [here](https://github.com/intellij-rust/intellij-rust/milestone/93?closed=1) |
| 62 | + |
| 63 | +[@afetisov]: https://github.com/afetisov |
| 64 | + |
| 65 | +[#4768]: https://github.com/intellij-rust/intellij-rust/pull/4768 |
| 66 | +[#9345]: https://github.com/intellij-rust/intellij-rust/pull/9345 |
| 67 | +[#9686]: https://github.com/intellij-rust/intellij-rust/pull/9686 |
| 68 | +[#9711]: https://github.com/intellij-rust/intellij-rust/pull/9711 |
| 69 | +[#9729]: https://github.com/intellij-rust/intellij-rust/pull/9729 |
| 70 | +[#9737]: https://github.com/intellij-rust/intellij-rust/pull/9737 |
| 71 | +[#9741]: https://github.com/intellij-rust/intellij-rust/pull/9741 |
| 72 | +[#9745]: https://github.com/intellij-rust/intellij-rust/pull/9745 |
| 73 | +[#9756]: https://github.com/intellij-rust/intellij-rust/pull/9756 |
| 74 | +[#9758]: https://github.com/intellij-rust/intellij-rust/pull/9758 |
| 75 | +[#9760]: https://github.com/intellij-rust/intellij-rust/pull/9760 |
| 76 | +[#9761]: https://github.com/intellij-rust/intellij-rust/pull/9761 |
| 77 | +[#9762]: https://github.com/intellij-rust/intellij-rust/pull/9762 |
| 78 | +[#9764]: https://github.com/intellij-rust/intellij-rust/pull/9764 |
| 79 | +[#9767]: https://github.com/intellij-rust/intellij-rust/pull/9767 |
| 80 | +[#9779]: https://github.com/intellij-rust/intellij-rust/pull/9779 |
| 81 | +[#9783]: https://github.com/intellij-rust/intellij-rust/pull/9783 |
| 82 | +[#9788]: https://github.com/intellij-rust/intellij-rust/pull/9788 |
| 83 | +[#9800]: https://github.com/intellij-rust/intellij-rust/pull/9800 |
| 84 | +[#9808]: https://github.com/intellij-rust/intellij-rust/pull/9808 |
| 85 | +[#9823]: https://github.com/intellij-rust/intellij-rust/pull/9823 |
0 commit comments