about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--compiler/rustc_hir_pretty/src/lib.rs74
-rw-r--r--tests/ui/unpretty/deprecated-attr.rs2
-rw-r--r--tests/ui/unpretty/deprecated-attr.stdout17
3 files changed, 14 insertions, 79 deletions
diff --git a/compiler/rustc_hir_pretty/src/lib.rs b/compiler/rustc_hir_pretty/src/lib.rs
index 1658c8dac67..22edc18d71c 100644
--- a/compiler/rustc_hir_pretty/src/lib.rs
+++ b/compiler/rustc_hir_pretty/src/lib.rs
@@ -117,80 +117,6 @@ impl<'a> State<'a> {
                 ));
                 self.hardbreak()
             }
-            hir::Attribute::Parsed(AttributeKind::Deprecation { deprecation, .. }) => {
-                self.word("#[deprecated");
-
-                // There are three possible forms here:
-                // 1. a form with explicit components like
-                //    `#[deprecated(since = "1.2.3", note = "some note", suggestion = "something")]`
-                //    where each component may be present or absent.
-                // 2. `#[deprecated = "message"]`
-                // 3. `#[deprecated]`
-                //
-                // Let's figure out which we need.
-                // If there's a `since` or `suggestion` value, we're definitely in form 1.
-                if matches!(
-                    deprecation.since,
-                    rustc_attr_parsing::DeprecatedSince::RustcVersion(..)
-                        | rustc_attr_parsing::DeprecatedSince::Future
-                        | rustc_attr_parsing::DeprecatedSince::NonStandard(..)
-                ) || deprecation.suggestion.is_some()
-                {
-                    self.word("(");
-                    let mut use_comma = false;
-
-                    match &deprecation.since {
-                        rustc_attr_parsing::DeprecatedSince::RustcVersion(rustc_version) => {
-                            self.word("since = \"");
-                            self.word(format!(
-                                "{}.{}.{}",
-                                rustc_version.major, rustc_version.minor, rustc_version.patch
-                            ));
-                            self.word("\"");
-                            use_comma = true;
-                        }
-                        rustc_attr_parsing::DeprecatedSince::Future => {
-                            self.word("since = \"future\"");
-                            use_comma = true;
-                        }
-                        rustc_attr_parsing::DeprecatedSince::NonStandard(symbol) => {
-                            self.word("since = \"");
-                            self.word(symbol.to_ident_string());
-                            self.word("\"");
-                            use_comma = true;
-                        }
-                        _ => {}
-                    }
-
-                    if let Some(note) = &deprecation.note {
-                        if use_comma {
-                            self.word(", ");
-                        }
-                        self.word("note = \"");
-                        self.word(note.to_ident_string());
-                        self.word("\"");
-                        use_comma = true;
-                    }
-
-                    if let Some(suggestion) = &deprecation.suggestion {
-                        if use_comma {
-                            self.word(", ");
-                        }
-                        self.word("suggestion = \"");
-                        self.word(suggestion.to_ident_string());
-                        self.word("\"");
-                    }
-                } else if let Some(note) = &deprecation.note {
-                    // We're in form 2: `#[deprecated = "message"]`.
-                    self.word(" = \"");
-                    self.word(note.to_ident_string());
-                    self.word("\"");
-                } else {
-                    // We're in form 3: `#[deprecated]`. Nothing to do here.
-                }
-
-                self.word("]");
-            }
             hir::Attribute::Parsed(pa) => {
                 self.word("#[attr=\"");
                 pa.print_attribute(self);
diff --git a/tests/ui/unpretty/deprecated-attr.rs b/tests/ui/unpretty/deprecated-attr.rs
index dda362a595e..24a32d8a9ac 100644
--- a/tests/ui/unpretty/deprecated-attr.rs
+++ b/tests/ui/unpretty/deprecated-attr.rs
@@ -1,6 +1,8 @@
 //@ compile-flags: -Zunpretty=hir
 //@ check-pass
 
+// FIXME(jdonszelmann): the pretty printing output for deprecated (and possibly more attrs) is
+// slightly broken.
 #[deprecated]
 pub struct PlainDeprecated;
 
diff --git a/tests/ui/unpretty/deprecated-attr.stdout b/tests/ui/unpretty/deprecated-attr.stdout
index 60dbac1072b..675351351a0 100644
--- a/tests/ui/unpretty/deprecated-attr.stdout
+++ b/tests/ui/unpretty/deprecated-attr.stdout
@@ -5,17 +5,24 @@ extern crate std;
 //@ compile-flags: -Zunpretty=hir
 //@ check-pass
 
-#[deprecated]
+// FIXME(jdonszelmann): the pretty printing output for deprecated (and possibly more attrs) is
+// slightly broken.
+#[attr="Deprecation{deprecation: Deprecation{since: Unspecifiednote:
+suggestion: }span: }")]
 struct PlainDeprecated;
 
-#[deprecated = "here's why this is deprecated"]
+#[attr="Deprecation{deprecation: Deprecation{since: Unspecifiednote:
+here's why this is deprecatedsuggestion: }span: }")]
 struct DirectNote;
 
-#[deprecated = "here's why this is deprecated"]
+#[attr="Deprecation{deprecation: Deprecation{since: Unspecifiednote:
+here's why this is deprecatedsuggestion: }span: }")]
 struct ExplicitNote;
 
-#[deprecated(since = "1.2.3", note = "here's why this is deprecated"]
+#[attr="Deprecation{deprecation: Deprecation{since: NonStandard(1.2.3)note:
+here's why this is deprecatedsuggestion: }span: }")]
 struct SinceAndNote;
 
-#[deprecated(since = "1.2.3", note = "here's why this is deprecated"]
+#[attr="Deprecation{deprecation: Deprecation{since: NonStandard(1.2.3)note:
+here's why this is deprecatedsuggestion: }span: }")]
 struct FlippedOrder;