about summary refs log tree commit diff
diff options
context:
space:
mode:
authorChristian Poveda <christianpoveda@protonmail.com>2018-04-12 16:55:09 -0500
committerChristian Poveda <christianpoveda@protonmail.com>2018-04-27 10:04:58 -0500
commit0efb5677d74451787a4dbd77fce1701c52c72a68 (patch)
tree692841b27d4136c166c125c0ae1cc98fde038f8a
parentc86f1c8cc396df443e0933278c441e36302047b1 (diff)
downloadrust-0efb5677d74451787a4dbd77fce1701c52c72a68.tar.gz
rust-0efb5677d74451787a4dbd77fce1701c52c72a68.zip
dyn_trait feature-gate just for stage0
-rw-r--r--src/librustc/lib.rs2
-rw-r--r--src/librustc_mir/lib.rs2
-rw-r--r--src/librustc_typeck/lib.rs4
-rw-r--r--src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs2
-rw-r--r--src/test/run-pass/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs2
-rw-r--r--src/test/ui/impl_trait_projections.rs1
-rw-r--r--src/test/ui/in-band-lifetimes/impl/dyn-trait.rs1
-rw-r--r--src/test/ui/raw-literal-keywords.rs1
-rw-r--r--src/test/ui/underscore-lifetime/dyn-trait-underscore-in-struct.rs2
-rw-r--r--src/test/ui/underscore-lifetime/dyn-trait-underscore.rs2
10 files changed, 5 insertions, 14 deletions
diff --git a/src/librustc/lib.rs b/src/librustc/lib.rs
index bb495049483..f29da5eb112 100644
--- a/src/librustc/lib.rs
+++ b/src/librustc/lib.rs
@@ -45,8 +45,8 @@
 #![feature(const_fn)]
 #![feature(core_intrinsics)]
 #![feature(drain_filter)]
-#![feature(dyn_trait)]
 #![feature(entry_or_default)]
+#![cfg_attr(stage0, feature(dyn_trait))]
 #![feature(from_ref)]
 #![feature(fs_read_write)]
 #![cfg_attr(windows, feature(libc))]
diff --git a/src/librustc_mir/lib.rs b/src/librustc_mir/lib.rs
index a47b3cacc51..482fd5989f8 100644
--- a/src/librustc_mir/lib.rs
+++ b/src/librustc_mir/lib.rs
@@ -24,7 +24,7 @@ Rust MIR: a lowered representation of Rust. Also: an experiment!
 #![feature(const_fn)]
 #![feature(core_intrinsics)]
 #![feature(decl_macro)]
-#![feature(dyn_trait)]
+#![cfg_attr(stage0, feature(dyn_trait))]
 #![feature(fs_read_write)]
 #![feature(macro_vis_matcher)]
 #![feature(exhaustive_patterns)]
diff --git a/src/librustc_typeck/lib.rs b/src/librustc_typeck/lib.rs
index ed0cfe38a7a..e852edc6eed 100644
--- a/src/librustc_typeck/lib.rs
+++ b/src/librustc_typeck/lib.rs
@@ -71,6 +71,8 @@ This API is completely unstable and subject to change.
 
 #![allow(non_camel_case_types)]
 
+#![cfg_attr(stage0, feature(dyn_trait))]
+
 #![feature(box_patterns)]
 #![feature(box_syntax)]
 #![feature(crate_visibility_modifier)]
@@ -81,8 +83,8 @@ This API is completely unstable and subject to change.
 #![feature(rustc_diagnostic_macros)]
 #![feature(slice_patterns)]
 #![feature(slice_sort_by_cached_key)]
-#![feature(dyn_trait)]
 #![feature(never_type)]
+#![feature(underscore_lifetimes)]
 
 #[macro_use] extern crate log;
 #[macro_use] extern crate syntax;
diff --git a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs b/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
index 219eca6fd21..66a6e6afed3 100644
--- a/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
+++ b/src/test/run-fail/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
@@ -11,8 +11,6 @@
 // compile-pass
 // failure-status: 1
 
-#![feature(dyn_trait)]
-
 use std::error::Error;
 use std::io;
 
diff --git a/src/test/run-pass/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs b/src/test/run-pass/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
index 24c30a5abc2..183bb553530 100644
--- a/src/test/run-pass/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
+++ b/src/test/run-pass/rfc-1937-termination-trait/termination-trait-for-box-dyn-error.rs
@@ -8,8 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(dyn_trait)]
-
 use std::error::Error;
 
 fn main() -> Result<(), Box<dyn Error>> {
diff --git a/src/test/ui/impl_trait_projections.rs b/src/test/ui/impl_trait_projections.rs
index e8e25c19840..e8f39e169ff 100644
--- a/src/test/ui/impl_trait_projections.rs
+++ b/src/test/ui/impl_trait_projections.rs
@@ -8,7 +8,6 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-#![feature(dyn_trait)]
 #![feature(conservative_impl_trait, universal_impl_trait)]
 
 use std::fmt::Debug;
diff --git a/src/test/ui/in-band-lifetimes/impl/dyn-trait.rs b/src/test/ui/in-band-lifetimes/impl/dyn-trait.rs
index a504bae2e60..c27bbe77fbf 100644
--- a/src/test/ui/in-band-lifetimes/impl/dyn-trait.rs
+++ b/src/test/ui/in-band-lifetimes/impl/dyn-trait.rs
@@ -13,7 +13,6 @@
 
 #![allow(warnings)]
 
-#![feature(dyn_trait)]
 #![feature(in_band_lifetimes)]
 
 use std::fmt::Debug;
diff --git a/src/test/ui/raw-literal-keywords.rs b/src/test/ui/raw-literal-keywords.rs
index 9b28aa0b151..9bb6653d770 100644
--- a/src/test/ui/raw-literal-keywords.rs
+++ b/src/test/ui/raw-literal-keywords.rs
@@ -10,7 +10,6 @@
 
 // compile-flags: -Z parse-only
 
-#![feature(dyn_trait)]
 #![feature(raw_identifiers)]
 
 fn test_if() {
diff --git a/src/test/ui/underscore-lifetime/dyn-trait-underscore-in-struct.rs b/src/test/ui/underscore-lifetime/dyn-trait-underscore-in-struct.rs
index e573ad8fc1f..6c83205d050 100644
--- a/src/test/ui/underscore-lifetime/dyn-trait-underscore-in-struct.rs
+++ b/src/test/ui/underscore-lifetime/dyn-trait-underscore-in-struct.rs
@@ -13,8 +13,6 @@
 //
 // cc #48468
 
-#![feature(dyn_trait)]
-
 use std::fmt::Debug;
 
 struct Foo {
diff --git a/src/test/ui/underscore-lifetime/dyn-trait-underscore.rs b/src/test/ui/underscore-lifetime/dyn-trait-underscore.rs
index 9640d346597..247492fb7b7 100644
--- a/src/test/ui/underscore-lifetime/dyn-trait-underscore.rs
+++ b/src/test/ui/underscore-lifetime/dyn-trait-underscore.rs
@@ -13,8 +13,6 @@
 //
 // cc #48468
 
-#![feature(dyn_trait)]
-
 fn a<T>(items: &[T]) -> Box<dyn Iterator<Item=&T>> {
     //                      ^^^^^^^^^^^^^^^^^^^^^ bound *here* defaults to `'static`
     Box::new(items.iter()) //~ ERROR cannot infer an appropriate lifetime