about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/librustc_ast_pretty/pprust.rs1
-rw-r--r--src/test/pretty/issue-68710-field-attr-proc-mac-lost.rs16
2 files changed, 17 insertions, 0 deletions
diff --git a/src/librustc_ast_pretty/pprust.rs b/src/librustc_ast_pretty/pprust.rs
index 761af72f95d..3cc67a7c821 100644
--- a/src/librustc_ast_pretty/pprust.rs
+++ b/src/librustc_ast_pretty/pprust.rs
@@ -1749,6 +1749,7 @@ impl<'a> State<'a> {
             Consistent,
             &fields[..],
             |s, field| {
+                s.print_outer_attributes(&field.attrs);
                 s.ibox(INDENT_UNIT);
                 if !field.is_shorthand {
                     s.print_ident(field.ident);
diff --git a/src/test/pretty/issue-68710-field-attr-proc-mac-lost.rs b/src/test/pretty/issue-68710-field-attr-proc-mac-lost.rs
new file mode 100644
index 00000000000..643ca761aac
--- /dev/null
+++ b/src/test/pretty/issue-68710-field-attr-proc-mac-lost.rs
@@ -0,0 +1,16 @@
+// pp-exact
+
+fn main() { }
+
+struct C {
+    field: u8,
+}
+
+#[allow()]
+const C: C =
+    C{
+      #[cfg(debug_assertions)]
+      field: 0,
+
+      #[cfg(not (debug_assertions))]
+      field: 1,};