Skip to content

Commit 05e4e39

Browse files
Changelog 191 (#179)
Co-authored-by: Andrey Lesnikov <[email protected]>
1 parent 559b74c commit 05e4e39

5 files changed

+82
-0
lines changed
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
---
2+
layout: post
3+
title: "IntelliJ Rust Changelog #191"
4+
date: 2023-03-27 13:00:00 +0300
5+
---
6+
7+
8+
## New Features
9+
10+
* [#10059] Show the contents of references and pointers when debugging with LLDB. For example, now the content of `&Vec`, `*const Vec` and `*mut Vec` is rendered, in addition to previously supported `Vec`.
11+
12+
<img src="/assets/posts/changelog-191/lldb-pointer-deref.png" width="700px"/>
13+
14+
* Attribute procedural macro improvements:
15+
16+
* [#10236] Show parameter hints inside attribute procedural macros
17+
18+
<img src="/assets/posts/changelog-191/parameter-hints-in-attr-proc-macro.png" width="400px"/>
19+
20+
* [#10230] Show hints for chained method calls inside attribute procedural macros
21+
22+
<img src="/assets/posts/changelog-191/chain-hints-in-attr-proc-macro.png" width="500px"/>
23+
24+
* [#10182] Make [intentions](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-code-generation.html#intention-actions) work inside an attribute macro expansion
25+
26+
Note that [attribute](https://doc.rust-lang.org/reference/procedural-macros.html#attribute-macros) procedural macro expansion is disabled by default. If you want to try it out, enable `org.rust.macros.proc.attr` [experimental feature](https://plugins.jetbrains.com/plugin/8182-rust/docs/rust-faq.html#experimental-features).
27+
28+
* [#10200] Highlight that an [underscore expression (`_`)](https://doc.rust-lang.org/reference/expressions/underscore-expr.html) can only be used in the left-hand side of an assignment
29+
30+
<img src="/assets/posts/changelog-191/underscore-expr.png" width="600px"/>
31+
32+
* Detect new compiler errors:
33+
34+
* [#10193] Annotate mismatched members in trait implementation ([E0323](https://doc.rust-lang.org/error_codes/E0323.html), [E0324](https://doc.rust-lang.org/error_codes/E0324.html), [E0325](https://doc.rust-lang.org/error_codes/E0325.html))
35+
36+
* [#10179] Annotate when an inherent implementation was written on a dyn auto trait ([E0785](https://doc.rust-lang.org/error_codes/E0785.html))
37+
38+
* [#10176] Detect if the `Copy` trait was implemented on a type that is neither a struct nor an enum ([E0206](https://doc.rust-lang.org/error_codes/E0206.html))
39+
40+
## Fixes
41+
42+
* [#10260] Fix the `Invert if condition` intention when there is another `if` after the current one
43+
44+
* [#10215] Fix false-positive detection of unreachable code with [`let else`](https://rust-lang.github.io/rfcs/3137-let-else.html) syntax (by [@White-Green])
45+
46+
* [#10196] Don’t run some inspections on Rust files outside a valid Cargo project to avoid expected false-positive errors
47+
48+
* [#10096] Improve support for multiple attribute macro calls on a single item
49+
50+
* [#7910] Fix `Before launch` configurations for Cargo command configurations
51+
52+
## Internal Improvements
53+
54+
* [#10231] Provide plugin sources along with the plugin archive to simplify plugin development with IntelliJ Rust plugin as a dependency
55+
56+
* [#10221] Make 2023.1 the default platform for development
57+
58+
* [#10218] Now all macros are expanded by default in all `RsTestBase`-based tests and the `@ExpandMacros` annotation is not needed there anymore
59+
60+
* [#10229] Provide `RsDiagnostic`-based API for quick-fixes with arbitrary ranges
61+
62+
Full set of changes can be found [here](https://github.com/intellij-rust/intellij-rust/milestone/100?closed=1)
63+
64+
[@White-Green]: https://github.com/White-Green
65+
66+
[#7910]: https://github.com/intellij-rust/intellij-rust/pull/7910
67+
[#10059]: https://github.com/intellij-rust/intellij-rust/pull/10059
68+
[#10096]: https://github.com/intellij-rust/intellij-rust/pull/10096
69+
[#10176]: https://github.com/intellij-rust/intellij-rust/pull/10176
70+
[#10179]: https://github.com/intellij-rust/intellij-rust/pull/10179
71+
[#10182]: https://github.com/intellij-rust/intellij-rust/pull/10182
72+
[#10193]: https://github.com/intellij-rust/intellij-rust/pull/10193
73+
[#10196]: https://github.com/intellij-rust/intellij-rust/pull/10196
74+
[#10200]: https://github.com/intellij-rust/intellij-rust/pull/10200
75+
[#10215]: https://github.com/intellij-rust/intellij-rust/pull/10215
76+
[#10218]: https://github.com/intellij-rust/intellij-rust/pull/10218
77+
[#10221]: https://github.com/intellij-rust/intellij-rust/pull/10221
78+
[#10229]: https://github.com/intellij-rust/intellij-rust/pull/10229
79+
[#10230]: https://github.com/intellij-rust/intellij-rust/pull/10230
80+
[#10231]: https://github.com/intellij-rust/intellij-rust/pull/10231
81+
[#10236]: https://github.com/intellij-rust/intellij-rust/pull/10236
82+
[#10260]: https://github.com/intellij-rust/intellij-rust/pull/10260
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)