about summary refs log tree commit diff
path: root/src/test/ui/proc-macro
diff options
context:
space:
mode:
authorVadim Petrochenkov <vadim.petrochenkov@gmail.com>2021-07-17 17:50:33 +0300
committerVadim Petrochenkov <vadim.petrochenkov@gmail.com>2021-09-24 21:48:30 +0300
commit85f02901a3cb97a81eb41b69ab0be03c66dde914 (patch)
tree6cb47b3df3d471960915fccb24f572e5b4d20446 /src/test/ui/proc-macro
parent92804cd4901b09777812d76c3f2a618ab2a3afce (diff)
downloadrust-85f02901a3cb97a81eb41b69ab0be03c66dde914.tar.gz
rust-85f02901a3cb97a81eb41b69ab0be03c66dde914.zip
Stabilize `feature(macro_attributes_in_derive_output)`
Diffstat (limited to 'src/test/ui/proc-macro')
-rw-r--r--src/test/ui/proc-macro/attribute-after-derive-feature-gate.rs37
-rw-r--r--src/test/ui/proc-macro/attribute-after-derive-feature-gate.stderr30
-rw-r--r--src/test/ui/proc-macro/attribute-after-derive.rs2
-rw-r--r--src/test/ui/proc-macro/attribute-after-derive.stdout76
4 files changed, 38 insertions, 107 deletions
diff --git a/src/test/ui/proc-macro/attribute-after-derive-feature-gate.rs b/src/test/ui/proc-macro/attribute-after-derive-feature-gate.rs
deleted file mode 100644
index f0fec678242..00000000000
--- a/src/test/ui/proc-macro/attribute-after-derive-feature-gate.rs
+++ /dev/null
@@ -1,37 +0,0 @@
-// gate-test-macro_attributes_in_derive_output
-// aux-build: test-macros.rs
-
-#![feature(proc_macro_hygiene)]
-#![feature(stmt_expr_attributes)]
-
-#[macro_use]
-extern crate test_macros;
-
-#[derive(Empty)]
-#[empty_attr] //~ ERROR macro attributes in `#[derive]` output are unstable
-struct S1 {
-    field: [u8; 10],
-}
-
-#[derive(Empty)]
-#[empty_helper]
-#[empty_attr] //~ ERROR macro attributes in `#[derive]` output are unstable
-struct S2 {
-    field: [u8; 10],
-}
-
-#[derive(Empty)]
-struct S3 {
-    field: [u8; #[identity_attr] 10], //~ ERROR macro attributes in `#[derive]` output are unstable
-}
-
-#[derive(Empty)]
-struct S4 {
-    field: [u8; {
-        #[derive(Empty)] // OK, not gated
-        struct Inner;
-        10
-    }]
-}
-
-fn main() {}
diff --git a/src/test/ui/proc-macro/attribute-after-derive-feature-gate.stderr b/src/test/ui/proc-macro/attribute-after-derive-feature-gate.stderr
deleted file mode 100644
index 74cace628b9..00000000000
--- a/src/test/ui/proc-macro/attribute-after-derive-feature-gate.stderr
+++ /dev/null
@@ -1,30 +0,0 @@
-error[E0658]: macro attributes in `#[derive]` output are unstable
-  --> $DIR/attribute-after-derive-feature-gate.rs:11:3
-   |
-LL | #[empty_attr]
-   |   ^^^^^^^^^^
-   |
-   = note: see issue #81119 <https://github.com/rust-lang/rust/issues/81119> for more information
-   = help: add `#![feature(macro_attributes_in_derive_output)]` to the crate attributes to enable
-
-error[E0658]: macro attributes in `#[derive]` output are unstable
-  --> $DIR/attribute-after-derive-feature-gate.rs:18:3
-   |
-LL | #[empty_attr]
-   |   ^^^^^^^^^^
-   |
-   = note: see issue #81119 <https://github.com/rust-lang/rust/issues/81119> for more information
-   = help: add `#![feature(macro_attributes_in_derive_output)]` to the crate attributes to enable
-
-error[E0658]: macro attributes in `#[derive]` output are unstable
-  --> $DIR/attribute-after-derive-feature-gate.rs:25:19
-   |
-LL |     field: [u8; #[identity_attr] 10],
-   |                   ^^^^^^^^^^^^^
-   |
-   = note: see issue #81119 <https://github.com/rust-lang/rust/issues/81119> for more information
-   = help: add `#![feature(macro_attributes_in_derive_output)]` to the crate attributes to enable
-
-error: aborting due to 3 previous errors
-
-For more information about this error, try `rustc --explain E0658`.
diff --git a/src/test/ui/proc-macro/attribute-after-derive.rs b/src/test/ui/proc-macro/attribute-after-derive.rs
index ac3f28b6ef3..0f0f27bff97 100644
--- a/src/test/ui/proc-macro/attribute-after-derive.rs
+++ b/src/test/ui/proc-macro/attribute-after-derive.rs
@@ -5,8 +5,6 @@
 // compile-flags: -Z span-debug
 // aux-build: test-macros.rs
 
-#![feature(macro_attributes_in_derive_output)]
-
 #![no_std] // Don't load unnecessary hygiene information from std
 extern crate std;
 
diff --git a/src/test/ui/proc-macro/attribute-after-derive.stdout b/src/test/ui/proc-macro/attribute-after-derive.stdout
index bc8b001db8f..c5b84b0367c 100644
--- a/src/test/ui/proc-macro/attribute-after-derive.stdout
+++ b/src/test/ui/proc-macro/attribute-after-derive.stdout
@@ -3,35 +3,35 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
     Punct {
         ch: '#',
         spacing: Alone,
-        span: $DIR/attribute-after-derive.rs:17:1: 17:2 (#0),
+        span: $DIR/attribute-after-derive.rs:15:1: 15:2 (#0),
     },
     Group {
         delimiter: Bracket,
         stream: TokenStream [
             Ident {
                 ident: "derive",
-                span: $DIR/attribute-after-derive.rs:17:3: 17:9 (#0),
+                span: $DIR/attribute-after-derive.rs:15:3: 15:9 (#0),
             },
             Group {
                 delimiter: Parenthesis,
                 stream: TokenStream [
                     Ident {
                         ident: "Print",
-                        span: $DIR/attribute-after-derive.rs:17:10: 17:15 (#0),
+                        span: $DIR/attribute-after-derive.rs:15:10: 15:15 (#0),
                     },
                 ],
-                span: $DIR/attribute-after-derive.rs:17:9: 17:16 (#0),
+                span: $DIR/attribute-after-derive.rs:15:9: 15:16 (#0),
             },
         ],
-        span: $DIR/attribute-after-derive.rs:17:2: 17:17 (#0),
+        span: $DIR/attribute-after-derive.rs:15:2: 15:17 (#0),
     },
     Ident {
         ident: "struct",
-        span: $DIR/attribute-after-derive.rs:18:1: 18:7 (#0),
+        span: $DIR/attribute-after-derive.rs:16:1: 16:7 (#0),
     },
     Ident {
         ident: "AttributeDerive",
-        span: $DIR/attribute-after-derive.rs:18:8: 18:23 (#0),
+        span: $DIR/attribute-after-derive.rs:16:8: 16:23 (#0),
     },
     Group {
         delimiter: Brace,
@@ -39,64 +39,64 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
             Punct {
                 ch: '#',
                 spacing: Alone,
-                span: $DIR/attribute-after-derive.rs:19:5: 19:6 (#0),
+                span: $DIR/attribute-after-derive.rs:17:5: 17:6 (#0),
             },
             Group {
                 delimiter: Bracket,
                 stream: TokenStream [
                     Ident {
                         ident: "cfg",
-                        span: $DIR/attribute-after-derive.rs:19:7: 19:10 (#0),
+                        span: $DIR/attribute-after-derive.rs:17:7: 17:10 (#0),
                     },
                     Group {
                         delimiter: Parenthesis,
                         stream: TokenStream [
                             Ident {
                                 ident: "FALSE",
-                                span: $DIR/attribute-after-derive.rs:19:11: 19:16 (#0),
+                                span: $DIR/attribute-after-derive.rs:17:11: 17:16 (#0),
                             },
                         ],
-                        span: $DIR/attribute-after-derive.rs:19:10: 19:17 (#0),
+                        span: $DIR/attribute-after-derive.rs:17:10: 17:17 (#0),
                     },
                 ],
-                span: $DIR/attribute-after-derive.rs:19:6: 19:18 (#0),
+                span: $DIR/attribute-after-derive.rs:17:6: 17:18 (#0),
             },
             Ident {
                 ident: "field",
-                span: $DIR/attribute-after-derive.rs:20:5: 20:10 (#0),
+                span: $DIR/attribute-after-derive.rs:18:5: 18:10 (#0),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: $DIR/attribute-after-derive.rs:20:10: 20:11 (#0),
+                span: $DIR/attribute-after-derive.rs:18:10: 18:11 (#0),
             },
             Ident {
                 ident: "u8",
-                span: $DIR/attribute-after-derive.rs:20:12: 20:14 (#0),
+                span: $DIR/attribute-after-derive.rs:18:12: 18:14 (#0),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: $DIR/attribute-after-derive.rs:20:14: 20:15 (#0),
+                span: $DIR/attribute-after-derive.rs:18:14: 18:15 (#0),
             },
         ],
-        span: $DIR/attribute-after-derive.rs:18:24: 21:2 (#0),
+        span: $DIR/attribute-after-derive.rs:16:24: 19:2 (#0),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): struct AttributeDerive { }
 PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: $DIR/attribute-after-derive.rs:18:1: 18:7 (#0),
+        span: $DIR/attribute-after-derive.rs:16:1: 16:7 (#0),
     },
     Ident {
         ident: "AttributeDerive",
-        span: $DIR/attribute-after-derive.rs:18:8: 18:23 (#0),
+        span: $DIR/attribute-after-derive.rs:16:8: 16:23 (#0),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [],
-        span: $DIR/attribute-after-derive.rs:18:24: 21:2 (#0),
+        span: $DIR/attribute-after-derive.rs:16:24: 19:2 (#0),
     },
 ]
 PRINT-DERIVE INPUT (DISPLAY): #[print_attr] struct DeriveAttribute { }
@@ -104,41 +104,41 @@ PRINT-DERIVE INPUT (DEBUG): TokenStream [
     Punct {
         ch: '#',
         spacing: Alone,
-        span: $DIR/attribute-after-derive.rs:24:1: 24:2 (#0),
+        span: $DIR/attribute-after-derive.rs:22:1: 22:2 (#0),
     },
     Group {
         delimiter: Bracket,
         stream: TokenStream [
             Ident {
                 ident: "print_attr",
-                span: $DIR/attribute-after-derive.rs:24:3: 24:13 (#0),
+                span: $DIR/attribute-after-derive.rs:22:3: 22:13 (#0),
             },
         ],
-        span: $DIR/attribute-after-derive.rs:24:2: 24:14 (#0),
+        span: $DIR/attribute-after-derive.rs:22:2: 22:14 (#0),
     },
     Ident {
         ident: "struct",
-        span: $DIR/attribute-after-derive.rs:25:1: 25:7 (#0),
+        span: $DIR/attribute-after-derive.rs:23:1: 23:7 (#0),
     },
     Ident {
         ident: "DeriveAttribute",
-        span: $DIR/attribute-after-derive.rs:25:8: 25:23 (#0),
+        span: $DIR/attribute-after-derive.rs:23:8: 23:23 (#0),
     },
     Group {
         delimiter: Brace,
         stream: TokenStream [],
-        span: $DIR/attribute-after-derive.rs:25:24: 28:2 (#0),
+        span: $DIR/attribute-after-derive.rs:23:24: 26:2 (#0),
     },
 ]
 PRINT-ATTR INPUT (DISPLAY): struct DeriveAttribute { #[cfg(FALSE)] field : u8, }
 PRINT-ATTR INPUT (DEBUG): TokenStream [
     Ident {
         ident: "struct",
-        span: $DIR/attribute-after-derive.rs:25:1: 25:7 (#0),
+        span: $DIR/attribute-after-derive.rs:23:1: 23:7 (#0),
     },
     Ident {
         ident: "DeriveAttribute",
-        span: $DIR/attribute-after-derive.rs:25:8: 25:23 (#0),
+        span: $DIR/attribute-after-derive.rs:23:8: 23:23 (#0),
     },
     Group {
         delimiter: Brace,
@@ -146,47 +146,47 @@ PRINT-ATTR INPUT (DEBUG): TokenStream [
             Punct {
                 ch: '#',
                 spacing: Alone,
-                span: $DIR/attribute-after-derive.rs:26:5: 26:6 (#0),
+                span: $DIR/attribute-after-derive.rs:24:5: 24:6 (#0),
             },
             Group {
                 delimiter: Bracket,
                 stream: TokenStream [
                     Ident {
                         ident: "cfg",
-                        span: $DIR/attribute-after-derive.rs:26:7: 26:10 (#0),
+                        span: $DIR/attribute-after-derive.rs:24:7: 24:10 (#0),
                     },
                     Group {
                         delimiter: Parenthesis,
                         stream: TokenStream [
                             Ident {
                                 ident: "FALSE",
-                                span: $DIR/attribute-after-derive.rs:26:11: 26:16 (#0),
+                                span: $DIR/attribute-after-derive.rs:24:11: 24:16 (#0),
                             },
                         ],
-                        span: $DIR/attribute-after-derive.rs:26:10: 26:17 (#0),
+                        span: $DIR/attribute-after-derive.rs:24:10: 24:17 (#0),
                     },
                 ],
-                span: $DIR/attribute-after-derive.rs:26:6: 26:18 (#0),
+                span: $DIR/attribute-after-derive.rs:24:6: 24:18 (#0),
             },
             Ident {
                 ident: "field",
-                span: $DIR/attribute-after-derive.rs:27:5: 27:10 (#0),
+                span: $DIR/attribute-after-derive.rs:25:5: 25:10 (#0),
             },
             Punct {
                 ch: ':',
                 spacing: Alone,
-                span: $DIR/attribute-after-derive.rs:27:10: 27:11 (#0),
+                span: $DIR/attribute-after-derive.rs:25:10: 25:11 (#0),
             },
             Ident {
                 ident: "u8",
-                span: $DIR/attribute-after-derive.rs:27:12: 27:14 (#0),
+                span: $DIR/attribute-after-derive.rs:25:12: 25:14 (#0),
             },
             Punct {
                 ch: ',',
                 spacing: Alone,
-                span: $DIR/attribute-after-derive.rs:27:14: 27:15 (#0),
+                span: $DIR/attribute-after-derive.rs:25:14: 25:15 (#0),
             },
         ],
-        span: $DIR/attribute-after-derive.rs:25:24: 28:2 (#0),
+        span: $DIR/attribute-after-derive.rs:23:24: 26:2 (#0),
     },
 ]