diff options
| author | Jubilee <workingjubilee@gmail.com> | 2025-03-04 19:37:07 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-03-04 19:37:07 -0800 |
| commit | a69982e00a6bff2f1ca168f52bf3bb3058b891a0 (patch) | |
| tree | 58d86670daf385c19e9a52465fa451368e789f19 /compiler/rustc_mir_transform/src | |
| parent | f32ba6b6cabd95a7cfa56f077a7ae87796232619 (diff) | |
| parent | 55f8d3f628e674d6874c96c9da425db406f15d09 (diff) | |
| download | rust-a69982e00a6bff2f1ca168f52bf3bb3058b891a0.tar.gz rust-a69982e00a6bff2f1ca168f52bf3bb3058b891a0.zip | |
Rollup merge of #138019 - obi1kenobi:pg/pretty-print-more-attrs, r=compiler-errors
Pretty-print `#[deprecated]` attribute in HIR.
Pretty-print `#[deprecated]` attribute in a form closer to how it might appear in Rust source code, rather than using a `Debug`-like representation.
Consider the following Rust code:
```rust
#[deprecated]
pub struct PlainDeprecated;
#[deprecated = "here's why this is deprecated"]
pub struct DirectNote;
#[deprecated(since = "1.2.3", note = "here's why this is deprecated")]
pub struct SinceAndNote;
```
Here's the previous output:
```
#[attr="Deprecation{deprecation: Deprecation{since: Unspecifiednote:
suggestion: }span: }")]
struct PlainDeprecated;
#[attr="Deprecation{deprecation: Deprecation{since: Unspecifiednote:
here's why this is deprecatedsuggestion: }span: }")]
struct DirectNote;
#[attr="Deprecation{deprecation: Deprecation{since: NonStandard(1.2.3)note:
here's why this is deprecatedsuggestion: }span: }")]
struct SinceAndNote;
```
Here's the new output:
```rust
#[deprecated]
struct PlainDeprecated;
#[deprecated = "here's why this is deprecated"]
struct DirectNote;
#[deprecated(since = "1.2.3", note = "here's why this is deprecated"]
struct SinceAndNote;
```
Also includes a test for `#[diagnostic::(..)]` attributes, though their behavior is not changed here. I already wrote the test, so I figured it probably won't hurt to have it.
Related to discussion in #137645.
r? `@jdonszelmann`
Diffstat (limited to 'compiler/rustc_mir_transform/src')
0 files changed, 0 insertions, 0 deletions
