Skip to content

Commit 9a26e6b

Browse files
committed
Changelog 184
1 parent c988182 commit 9a26e6b

File tree

3 files changed

+88
-0
lines changed

3 files changed

+88
-0
lines changed
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
---
2+
layout: post
3+
title: "IntelliJ Rust Changelog #184"
4+
date: 2022-12-05 13:00:00 +0300
5+
---
6+
7+
8+
## An Update on Proc Macros
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. Now the plugin provides them with syntax highlighting, completion, the [Show Macro Expansion](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-code-reference-info.html#macro-exansion) popup, and other features already available for declarative macros. Generated items are taken into account in code completion and other code insight:
11+
12+
<img src="/assets/posts/changelog-184/derive_proc_macro.png" width="700px"/>
13+
14+
Note that [attribute](https://doc.rust-lang.org/reference/procedural-macros.html#attribute-macros) 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)
15+
16+
## New Features
17+
18+
* [#9686] Support short [intra-doc links](https://doc.rust-lang.org/rustdoc/write-documentation/linking-to-items-by-name.html) (in format `[link]`)
19+
20+
* [#9808] Parse half-open range patterns
21+
22+
* [#4768] Show [coerced](https://doc.rust-lang.org/reference/type-coercions.html) type in `type info` (`ctrl`+`shift`+`P`)
23+
24+
<img src="/assets/posts/changelog-184/type_info.png" width="350px"/>
25+
26+
* [#9760] Notify users about changes in crate roots of procedural macro libraries to reload project model. Otherwise, the plugin won't be able to expand procedural macro calls properly
27+
28+
* [#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
29+
30+
## Fixes
31+
32+
* [#9761] Fix type inference in closures on nightly Rust
33+
34+
* [#9779] Fix false-positive errors like `Use of moved values` after invalidating caches without clearing file caches
35+
36+
* [#9800] Fix impl search when there are multiple type aliases with the same names
37+
38+
* [#9756] Suggest `Reload project` instead of `Attach file to a module` quick-fix for crates root files after their creation
39+
40+
* [#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])
41+
42+
* [#9823] Fix completion inside local macro calls in 2022.3
43+
44+
* [#9767] Fixes `Go To Declaration`, highlighting, completion and other features in function-like macros used in the pattern context
45+
46+
* [#9762] Fix find usages for variables defined by macros
47+
48+
* [#9764] Fix handling nested blocks expanded from local macros
49+
50+
* [#9741] Don't offer `Un-elide lifetimes` intention when there are no input lifetimes
51+
52+
* [#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)
53+
54+
* [#9345] Fix nesting of renamed imports (by [@afetisov])
55+
56+
* [#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`
57+
58+
* [#9737] Don't create separate undo entry when adding unambiguous import on the fly
59+
60+
## Internal Improvements
61+
62+
* [#9758] Make 2022.3 platform default for development
63+
64+
Full set of changes can be found [here](https://github.com/intellij-rust/intellij-rust/milestone/93?closed=1)
65+
66+
[@afetisov]: https://github.com/afetisov
67+
68+
[#4768]: https://github.com/intellij-rust/intellij-rust/pull/4768
69+
[#9345]: https://github.com/intellij-rust/intellij-rust/pull/9345
70+
[#9686]: https://github.com/intellij-rust/intellij-rust/pull/9686
71+
[#9711]: https://github.com/intellij-rust/intellij-rust/pull/9711
72+
[#9729]: https://github.com/intellij-rust/intellij-rust/pull/9729
73+
[#9737]: https://github.com/intellij-rust/intellij-rust/pull/9737
74+
[#9741]: https://github.com/intellij-rust/intellij-rust/pull/9741
75+
[#9745]: https://github.com/intellij-rust/intellij-rust/pull/9745
76+
[#9756]: https://github.com/intellij-rust/intellij-rust/pull/9756
77+
[#9758]: https://github.com/intellij-rust/intellij-rust/pull/9758
78+
[#9760]: https://github.com/intellij-rust/intellij-rust/pull/9760
79+
[#9761]: https://github.com/intellij-rust/intellij-rust/pull/9761
80+
[#9762]: https://github.com/intellij-rust/intellij-rust/pull/9762
81+
[#9764]: https://github.com/intellij-rust/intellij-rust/pull/9764
82+
[#9767]: https://github.com/intellij-rust/intellij-rust/pull/9767
83+
[#9779]: https://github.com/intellij-rust/intellij-rust/pull/9779
84+
[#9783]: https://github.com/intellij-rust/intellij-rust/pull/9783
85+
[#9788]: https://github.com/intellij-rust/intellij-rust/pull/9788
86+
[#9800]: https://github.com/intellij-rust/intellij-rust/pull/9800
87+
[#9808]: https://github.com/intellij-rust/intellij-rust/pull/9808
88+
[#9823]: https://github.com/intellij-rust/intellij-rust/pull/9823
45.3 KB
Loading
35 KB
Loading

0 commit comments

Comments
 (0)