|
| 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 | +* [#9808] Parse half-open range patterns |
| 11 | + |
| 12 | +* [#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 |
| 13 | + |
| 14 | +* [#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) proc macro expansion by default. |
| 15 | +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/#experimental-features) |
| 16 | + |
| 17 | +* [#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 |
| 18 | + |
| 19 | +* [#9686] Support short [intra-doc links](https://doc.rust-lang.org/rustdoc/write-documentation/linking-to-items-by-name.html) (in format `[link]`) |
| 20 | + |
| 21 | +* [#4768] Show [coerced](https://doc.rust-lang.org/reference/type-coercions.html) type in `type info` (`ctrl`+`shift`+`P`) |
| 22 | + |
| 23 | +## Fixes |
| 24 | + |
| 25 | +* [#9800] fix impl search when there are multiple type aliases with same names |
| 26 | + |
| 27 | +* [#9788] Don't show `File does not belong to any known Cargo project` warning for scratch files |
| 28 | + |
| 29 | +* [#9783] fix move item/statement/etc editor action being incorrectly disabled with some IDE configurations (by [@afetisov]) |
| 30 | + |
| 31 | +* [#9779] MACRO: refresh `MacroExpansionFileSystem` after project reopening |
| 32 | + |
| 33 | +* [#9767] Fixes `Go To Declaration`, highlighting, completion and other features in function-like macros used in the pattern context |
| 34 | + |
| 35 | +* [#9764] Fix handling expansion of macros inside functions |
| 36 | + |
| 37 | +* [#9762] fix find usages for variables defined by macros |
| 38 | + |
| 39 | +* [#9761] Fix type inference in closures on nightly Rust |
| 40 | + |
| 41 | +* [#9756] Suggest `Reload project` instead of `Attach file to a module` quick-fix for crates root files after their creation |
| 42 | + |
| 43 | +* [#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` |
| 44 | + |
| 45 | +* [#9741] Don't offer `Un-elide lifetimes` intention when there is no input lifetimes |
| 46 | + |
| 47 | +* [#9737] Don't create separate undo entry when adding unambiguous import on the fly |
| 48 | + |
| 49 | +* [#9345] fix nesting of renamed imports (by [@afetisov]) |
| 50 | + |
| 51 | +## Internal Improvements |
| 52 | + |
| 53 | +* [#9758] Make 2022.3 platform default for development |
| 54 | + |
| 55 | +Full set of changes can be found [here](https://github.com/intellij-rust/intellij-rust/milestone/93?closed=1) |
| 56 | + |
| 57 | +[@afetisov]: https://github.com/afetisov |
| 58 | + |
| 59 | +[#4768]: https://github.com/intellij-rust/intellij-rust/pull/4768 |
| 60 | +[#9345]: https://github.com/intellij-rust/intellij-rust/pull/9345 |
| 61 | +[#9686]: https://github.com/intellij-rust/intellij-rust/pull/9686 |
| 62 | +[#9711]: https://github.com/intellij-rust/intellij-rust/pull/9711 |
| 63 | +[#9729]: https://github.com/intellij-rust/intellij-rust/pull/9729 |
| 64 | +[#9737]: https://github.com/intellij-rust/intellij-rust/pull/9737 |
| 65 | +[#9741]: https://github.com/intellij-rust/intellij-rust/pull/9741 |
| 66 | +[#9745]: https://github.com/intellij-rust/intellij-rust/pull/9745 |
| 67 | +[#9756]: https://github.com/intellij-rust/intellij-rust/pull/9756 |
| 68 | +[#9758]: https://github.com/intellij-rust/intellij-rust/pull/9758 |
| 69 | +[#9760]: https://github.com/intellij-rust/intellij-rust/pull/9760 |
| 70 | +[#9761]: https://github.com/intellij-rust/intellij-rust/pull/9761 |
| 71 | +[#9762]: https://github.com/intellij-rust/intellij-rust/pull/9762 |
| 72 | +[#9764]: https://github.com/intellij-rust/intellij-rust/pull/9764 |
| 73 | +[#9767]: https://github.com/intellij-rust/intellij-rust/pull/9767 |
| 74 | +[#9779]: https://github.com/intellij-rust/intellij-rust/pull/9779 |
| 75 | +[#9783]: https://github.com/intellij-rust/intellij-rust/pull/9783 |
| 76 | +[#9788]: https://github.com/intellij-rust/intellij-rust/pull/9788 |
| 77 | +[#9800]: https://github.com/intellij-rust/intellij-rust/pull/9800 |
| 78 | +[#9808]: https://github.com/intellij-rust/intellij-rust/pull/9808 |
0 commit comments