about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEduard-Mihai Burtescu <edy.burt@gmail.com>2019-10-31 18:50:31 +0200
committerEduard-Mihai Burtescu <edy.burt@gmail.com>2019-10-31 19:08:13 +0200
commit803616a73d25adbb40c604eb93d9c8689b2164e4 (patch)
tree6a53a0b82aba3a3451e67a00f37edfc1c870afb9 /src
parent56d7bb2133c82ec73fa17d9b02872feb4bf09c63 (diff)
downloadrust-803616a73d25adbb40c604eb93d9c8689b2164e4.tar.gz
rust-803616a73d25adbb40c604eb93d9c8689b2164e4.zip
Revert "pre-expansion gate trait_alias."
This reverts commit 2d182b82ce5ecfe8090ba3d4e78f1cd72c072ef1.
Diffstat (limited to 'src')
-rw-r--r--src/libsyntax/feature_gate/check.rs9
-rw-r--r--src/test/ui/feature-gates/feature-gate-trait-alias.rs9
-rw-r--r--src/test/ui/feature-gates/feature-gate-trait-alias.stderr11
3 files changed, 10 insertions, 19 deletions
diff --git a/src/libsyntax/feature_gate/check.rs b/src/libsyntax/feature_gate/check.rs
index a4fc6114b98..482605971b8 100644
--- a/src/libsyntax/feature_gate/check.rs
+++ b/src/libsyntax/feature_gate/check.rs
@@ -446,6 +446,15 @@ impl<'a> Visitor<'a> for PostExpansionVisitor<'a> {
                                    "auto traits are experimental and possibly buggy");
             }
 
+            ast::ItemKind::TraitAlias(..) => {
+                gate_feature_post!(
+                    &self,
+                    trait_alias,
+                    i.span,
+                    "trait aliases are experimental"
+                );
+            }
+
             ast::ItemKind::MacroDef(ast::MacroDef { legacy: false, .. }) => {
                 let msg = "`macro` is experimental";
                 gate_feature_post!(&self, decl_macro, i.span, msg);
diff --git a/src/test/ui/feature-gates/feature-gate-trait-alias.rs b/src/test/ui/feature-gates/feature-gate-trait-alias.rs
index 4b94d7d6d3b..819085addda 100644
--- a/src/test/ui/feature-gates/feature-gate-trait-alias.rs
+++ b/src/test/ui/feature-gates/feature-gate-trait-alias.rs
@@ -1,13 +1,4 @@
 trait Foo = Default;
 //~^ ERROR trait aliases are experimental
 
-macro_rules! accept_item {
-    ($i:item) => {}
-}
-
-accept_item! {
-    trait Foo = Ord + Eq;
-    //~^ ERROR trait aliases are experimental
-}
-
 fn main() {}
diff --git a/src/test/ui/feature-gates/feature-gate-trait-alias.stderr b/src/test/ui/feature-gates/feature-gate-trait-alias.stderr
index b1bf6ad3491..9250e27d158 100644
--- a/src/test/ui/feature-gates/feature-gate-trait-alias.stderr
+++ b/src/test/ui/feature-gates/feature-gate-trait-alias.stderr
@@ -7,15 +7,6 @@ LL | trait Foo = Default;
    = note: for more information, see https://github.com/rust-lang/rust/issues/41517
    = help: add `#![feature(trait_alias)]` to the crate attributes to enable
 
-error[E0658]: trait aliases are experimental
-  --> $DIR/feature-gate-trait-alias.rs:9:5
-   |
-LL |     trait Foo = Ord + Eq;
-   |     ^^^^^^^^^^^^^^^^^^^^^
-   |
-   = note: for more information, see https://github.com/rust-lang/rust/issues/41517
-   = help: add `#![feature(trait_alias)]` to the crate attributes to enable
-
-error: aborting due to 2 previous errors
+error: aborting due to previous error
 
 For more information about this error, try `rustc --explain E0658`.