diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2015-01-05 18:42:00 -0800 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2015-01-05 18:42:00 -0800 |
| commit | b24431970ece166309ef4870307e9fa4a85296d5 (patch) | |
| tree | bedba778d92b8df9eafbb7376943b30bcbe59a71 | |
| parent | cda6acb2f10e159fc6d3cb1112f2011f7bcdb206 (diff) | |
| parent | 3e9d5938cc4030de2e8c8e140633cc4d7d58733c (diff) | |
| download | rust-b24431970ece166309ef4870307e9fa4a85296d5.tar.gz rust-b24431970ece166309ef4870307e9fa4a85296d5.zip | |
rollup merge of #20568: huonw/ungate-AT-globs
These aren't in their final form, but are all aiming to be part of 1.0, so at the very least encouraging usage now to find the bugs is nice. Also, the widespread roll-out of associated types in the standard library indicates they're getting good, and it's lame to have to activate a feature in essentially every crate ever.
186 files changed, 37 insertions, 409 deletions
diff --git a/src/librustc_driver/driver.rs b/src/librustc_driver/driver.rs index f5c29a6b30b..b029b4757c1 100644 --- a/src/librustc_driver/driver.rs +++ b/src/librustc_driver/driver.rs @@ -272,7 +272,6 @@ pub fn phase_2_configure_and_expand(sess: &Session, } let cfg = syntax::ext::expand::ExpansionConfig { crate_name: crate_name.to_string(), - deriving_hash_type_parameter: sess.features.borrow().default_type_params, enable_quotes: sess.features.borrow().quote, recursion_limit: sess.recursion_limit.get(), }; diff --git a/src/librustc_llvm/lib.rs b/src/librustc_llvm/lib.rs index 854ac5ff5c0..8a9334be985 100644 --- a/src/librustc_llvm/lib.rs +++ b/src/librustc_llvm/lib.rs @@ -24,6 +24,7 @@ #![feature(globs)] #![feature(link_args)] #![feature(unboxed_closures)] +#![feature(old_orphan_check)] extern crate libc; diff --git a/src/librustc_resolve/lib.rs b/src/librustc_resolve/lib.rs index a2c86c3cdb7..adbcf8c2e8e 100644 --- a/src/librustc_resolve/lib.rs +++ b/src/librustc_resolve/lib.rs @@ -19,6 +19,7 @@ #![feature(globs, phase, slicing_syntax)] #![feature(rustc_diagnostic_macros)] #![feature(associated_types)] +#![feature(old_orphan_check)] #[phase(plugin, link)] extern crate log; #[phase(plugin, link)] extern crate syntax; diff --git a/src/librustc_typeck/astconv.rs b/src/librustc_typeck/astconv.rs index bde834c2ff8..183b8c5c830 100644 --- a/src/librustc_typeck/astconv.rs +++ b/src/librustc_typeck/astconv.rs @@ -361,14 +361,6 @@ fn create_substs_for_ast_path<'tcx>( supplied_ty_param_count)[]); } - if supplied_ty_param_count > required_ty_param_count - && !this.tcx().sess.features.borrow().default_type_params { - span_err!(this.tcx().sess, span, E0108, - "default type parameters are experimental and possibly buggy"); - span_help!(this.tcx().sess, span, - "add #![feature(default_type_params)] to the crate attributes to enable"); - } - let mut substs = Substs::new_type(types, regions); match self_ty { diff --git a/src/libsyntax/ext/deriving/hash.rs b/src/libsyntax/ext/deriving/hash.rs index b9acde4bf6b..844bd80d161 100644 --- a/src/libsyntax/ext/deriving/hash.rs +++ b/src/libsyntax/ext/deriving/hash.rs @@ -25,20 +25,14 @@ pub fn expand_deriving_hash<F>(cx: &mut ExtCtxt, F: FnOnce(P<Item>), { - let (path, generics, args) = if cx.ecfg.deriving_hash_type_parameter { - (Path::new_(vec!("std", "hash", "Hash"), None, - vec!(box Literal(Path::new_local("__S"))), true), - LifetimeBounds { - lifetimes: Vec::new(), - bounds: vec!(("__S", - vec!(Path::new(vec!("std", "hash", "Writer"))))), - }, - Path::new_local("__S")) - } else { - (Path::new(vec!("std", "hash", "Hash")), - LifetimeBounds::empty(), - Path::new(vec!("std", "hash", "sip", "SipState"))) + let path = Path::new_(vec!("std", "hash", "Hash"), None, + vec!(box Literal(Path::new_local("__S"))), true); + let generics = LifetimeBounds { + lifetimes: Vec::new(), + bounds: vec!(("__S", + vec!(Path::new(vec!("std", "hash", "Writer"))))), }; + let args = Path::new_local("__S"); let inline = cx.meta_word(span, InternedString::new("inline")); let attrs = vec!(cx.attribute(span, inline)); let hash_trait_def = TraitDef { diff --git a/src/libsyntax/ext/expand.rs b/src/libsyntax/ext/expand.rs index b3f30dd4581..b3e839b4fb6 100644 --- a/src/libsyntax/ext/expand.rs +++ b/src/libsyntax/ext/expand.rs @@ -1161,7 +1161,6 @@ fn new_span(cx: &ExtCtxt, sp: Span) -> Span { pub struct ExpansionConfig { pub crate_name: String, - pub deriving_hash_type_parameter: bool, pub enable_quotes: bool, pub recursion_limit: uint, } @@ -1170,7 +1169,6 @@ impl ExpansionConfig { pub fn default(crate_name: String) -> ExpansionConfig { ExpansionConfig { crate_name: crate_name, - deriving_hash_type_parameter: false, enable_quotes: false, recursion_limit: 64, } diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index cb6277069e1..2802ad3c3e3 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -36,7 +36,7 @@ use std::ascii::AsciiExt; // if you change this list without updating src/doc/reference.md, @cmr will be sad static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[ - ("globs", Active), + ("globs", Accepted), ("macro_rules", Active), ("struct_variant", Accepted), ("asm", Active), @@ -54,7 +54,7 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[ ("lang_items", Active), ("simd", Active), - ("default_type_params", Active), + ("default_type_params", Accepted), ("quote", Active), ("link_llvm_intrinsics", Active), ("linkage", Active), @@ -67,7 +67,7 @@ static KNOWN_FEATURES: &'static [(&'static str, Status)] = &[ ("import_shadowing", Active), ("advanced_slice_patterns", Active), ("tuple_indexing", Accepted), - ("associated_types", Active), + ("associated_types", Accepted), ("visible_private_types", Active), ("slicing_syntax", Active), @@ -112,7 +112,6 @@ enum Status { /// A set of features to be used by later passes. #[derive(Copy)] pub struct Features { - pub default_type_params: bool, pub unboxed_closures: bool, pub rustc_diagnostic_macros: bool, pub import_shadowing: bool, @@ -125,7 +124,6 @@ pub struct Features { impl Features { pub fn new() -> Features { Features { - default_type_params: false, unboxed_closures: false, rustc_diagnostic_macros: false, import_shadowing: false, @@ -232,13 +230,7 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> { fn visit_view_item(&mut self, i: &ast::ViewItem) { match i.node { - ast::ViewItemUse(ref path) => { - if let ast::ViewPathGlob(..) = path.node { - self.gate_feature("globs", path.span, - "glob import statements are \ - experimental and possibly buggy"); - } - } + ast::ViewItemUse(..) => {} ast::ViewItemExternCrate(..) => { for attr in i.attrs.iter() { if attr.name().get() == "phase"{ @@ -313,18 +305,6 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> { many unsafe patterns and may be \ removed in the future"); } - - for item in items.iter() { - match *item { - ast::MethodImplItem(_) => {} - ast::TypeImplItem(ref typedef) => { - self.gate_feature("associated_types", - typedef.span, - "associated types are \ - experimental") - } - } - } } _ => {} @@ -333,17 +313,6 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> { visit::walk_item(self, i); } - fn visit_trait_item(&mut self, trait_item: &ast::TraitItem) { - match *trait_item { - ast::RequiredMethod(_) | ast::ProvidedMethod(_) => {} - ast::TypeTraitItem(ref ti) => { - self.gate_feature("associated_types", - ti.ty_param.span, - "associated types are experimental") - } - } - } - fn visit_foreign_item(&mut self, i: &ast::ForeignItem) { if attr::contains_name(i.attrs[], "linkage") { self.gate_feature("linkage", i.span, @@ -379,20 +348,6 @@ impl<'a, 'v> Visitor<'v> for PostExpansionVisitor<'a> { visit::walk_expr(self, e); } - fn visit_generics(&mut self, generics: &ast::Generics) { - for type_parameter in generics.ty_params.iter() { - match type_parameter.default { - Some(ref ty) => { - self.gate_feature("default_type_params", ty.span, - "default type parameters are \ - experimental and possibly buggy"); - } - None => {} - } - } - visit::walk_generics(self, generics); - } - fn visit_attribute(&mut self, attr: &ast::Attribute) { if attr::contains_name(slice::ref_slice(attr), "lang") { self.gate_feature("lang_items", @@ -498,7 +453,6 @@ fn check_crate_inner<F>(cm: &CodeMap, span_handler: &SpanHandler, krate: &ast::C check(&mut cx, krate); (Features { - default_type_params: cx.has_feature("default_type_params"), unboxed_closures: cx.has_feature("unboxed_closures"), rustc_diagnostic_macros: cx.has_feature("rustc_diagnostic_macros"), import_shadowing: cx.has_feature("import_shadowing"), diff --git a/src/test/auxiliary/associated-types-cc-lib.rs b/src/test/auxiliary/associated-types-cc-lib.rs index 17b2a0751fe..44fbcf2150a 100644 --- a/src/test/auxiliary/associated-types-cc-lib.rs +++ b/src/test/auxiliary/associated-types-cc-lib.rs @@ -12,7 +12,6 @@ // cross-crate scenario. #![crate_type="lib"] -#![feature(associated_types)] pub trait Bar { type T; diff --git a/src/test/auxiliary/default_type_params_xc.rs b/src/test/auxiliary/default_type_params_xc.rs index 0e0a2065008..d12f716decf 100644 --- a/src/test/auxiliary/default_type_params_xc.rs +++ b/src/test/auxiliary/default_type_params_xc.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - pub struct Heap; pub struct FakeHeap; diff --git a/src/test/auxiliary/issue-16643.rs b/src/test/auxiliary/issue-16643.rs index 41572998b58..c3f7f2d1aa1 100644 --- a/src/test/auxiliary/issue-16643.rs +++ b/src/test/auxiliary/issue-16643.rs @@ -9,7 +9,6 @@ // except according to those terms. #![crate_type = "lib"] -#![feature(associated_types)] pub struct TreeBuilder<H>; diff --git a/src/test/auxiliary/issue_20389.rs b/src/test/auxiliary/issue_20389.rs index 60e3cb13e2e..7a378b06df9 100644 --- a/src/test/auxiliary/issue_20389.rs +++ b/src/test/auxiliary/issue_20389.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - pub trait T { type C; } diff --git a/src/test/auxiliary/issue_2316_b.rs b/src/test/auxiliary/issue_2316_b.rs index 8a9fa4dbc4a..8a212f6e5a9 100644 --- a/src/test/auxiliary/issue_2316_b.rs +++ b/src/test/auxiliary/issue_2316_b.rs @@ -9,7 +9,6 @@ // except according to those terms. #![allow(unused_imports)] -#![feature(globs)] extern crate issue_2316_a; diff --git a/src/test/auxiliary/macro_crate_test.rs b/src/test/auxiliary/macro_crate_test.rs index b82cfcbc8fc..39c4e83c4b9 100644 --- a/src/test/auxiliary/macro_crate_test.rs +++ b/src/test/auxiliary/macro_crate_test.rs @@ -10,7 +10,7 @@ // force-host -#![feature(globs, plugin_registrar, macro_rules, quote)] +#![feature(plugin_registrar, macro_rules, quote)] extern crate syntax; extern crate rustc; diff --git a/src/test/auxiliary/namespaced_enum_emulate_flat.rs b/src/test/auxiliary/namespaced_enum_emulate_flat.rs index c7387dd284e..7412c17fd45 100644 --- a/src/test/auxiliary/namespaced_enum_emulate_flat.rs +++ b/src/test/auxiliary/namespaced_enum_emulate_flat.rs @@ -7,7 +7,6 @@ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] pub use Foo::*; @@ -34,5 +33,3 @@ pub mod nest { pub fn foo() {} } } - - diff --git a/src/test/auxiliary/overloaded_autoderef_xc.rs b/src/test/auxiliary/overloaded_autoderef_xc.rs index 05960a5b8e1..caa9bbe5736 100644 --- a/src/test/auxiliary/overloaded_autoderef_xc.rs +++ b/src/test/auxiliary/overloaded_autoderef_xc.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::Deref; struct DerefWithHelper<H, T> { diff --git a/src/test/auxiliary/syntax-extension-with-dll-deps-2.rs b/src/test/auxiliary/syntax-extension-with-dll-deps-2.rs index 88548bb5410..5ad1d244c92 100644 --- a/src/test/auxiliary/syntax-extension-with-dll-deps-2.rs +++ b/src/test/auxiliary/syntax-extension-with-dll-deps-2.rs @@ -11,7 +11,7 @@ // force-host #![crate_type = "dylib"] -#![feature(plugin_registrar, quote, globs)] +#![feature(plugin_registrar, quote)] extern crate "syntax-extension-with-dll-deps-1" as other; extern crate syntax; diff --git a/src/test/auxiliary/trait_inheritance_overloading_xc.rs b/src/test/auxiliary/trait_inheritance_overloading_xc.rs index 7394373e922..cbd2ac69c78 100644 --- a/src/test/auxiliary/trait_inheritance_overloading_xc.rs +++ b/src/test/auxiliary/trait_inheritance_overloading_xc.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::cmp::PartialEq; use std::ops::{Add, Sub, Mul}; diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs index 8777fa9689f..9128930651f 100644 --- a/src/test/bench/shootout-fasta.rs +++ b/src/test/bench/shootout-fasta.rs @@ -38,7 +38,7 @@ // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED // OF THE POSSIBILITY OF SUCH DAMAGE. -#![feature(associated_types, slicing_syntax)] +#![feature(slicing_syntax)] use std::cmp::min; use std::io::{BufferedWriter, File}; diff --git a/src/test/bench/shootout-k-nucleotide.rs b/src/test/bench/shootout-k-nucleotide.rs index 359f06d0cf5..28d7488c9bf 100644 --- a/src/test/bench/shootout-k-nucleotide.rs +++ b/src/test/bench/shootout-k-nucleotide.rs @@ -40,7 +40,7 @@ // ignore-android see #10393 #13206 -#![feature(associated_types, slicing_syntax)] +#![feature(slicing_syntax)] use std::ascii::OwnedAsciiExt; use std::iter::repeat; diff --git a/src/test/bench/shootout-meteor.rs b/src/test/bench/shootout-meteor.rs index cdc7617fec8..ca3d10afa5d 100644 --- a/src/test/bench/shootout-meteor.rs +++ b/src/test/bench/shootout-meteor.rs @@ -40,8 +40,6 @@ // no-pretty-expanded FIXME #15189 -#![feature(associated_types)] - use std::iter::repeat; use std::sync::Arc; use std::sync::mpsc::channel; diff --git a/src/test/bench/shootout-reverse-complement.rs b/src/test/bench/shootout-reverse-complement.rs index bbbd7aebd54..77bae87c7dd 100644 --- a/src/test/bench/shootout-reverse-complement.rs +++ b/src/test/bench/shootout-reverse-complement.rs @@ -40,7 +40,7 @@ // ignore-android see #10393 #13206 -#![feature(associated_types, slicing_syntax, unboxed_closures)] +#![feature(slicing_syntax, unboxed_closures)] extern crate libc; diff --git a/src/test/compile-fail/associated-types-ICE-when-projecting-out-of-err.rs b/src/test/compile-fail/associated-types-ICE-when-projecting-out-of-err.rs index 5743216b6ca..f67f65ec2ef 100644 --- a/src/test/compile-fail/associated-types-ICE-when-projecting-out-of-err.rs +++ b/src/test/compile-fail/associated-types-ICE-when-projecting-out-of-err.rs @@ -12,7 +12,7 @@ // just propagate the error. #![crate_type = "lib"] -#![feature(associated_types, default_type_params, lang_items)] +#![feature(lang_items)] #![no_std] #[lang="sized"] diff --git a/src/test/compile-fail/associated-types-bound-failure.rs b/src/test/compile-fail/associated-types-bound-failure.rs index 7981fe31827..918826bb390 100644 --- a/src/test/compile-fail/associated-types-bound-failure.rs +++ b/src/test/compile-fail/associated-types-bound-failure.rs @@ -10,8 +10,6 @@ // Test equality constraints on associated types in a where clause. -#![feature(associated_types)] - pub trait ToInt { fn to_int(&self) -> int; } diff --git a/src/test/compile-fail/associated-types-eq-1.rs b/src/test/compile-fail/associated-types-eq-1.rs index e93d9db28cf..58dbb986325 100644 --- a/src/test/compile-fail/associated-types-eq-1.rs +++ b/src/test/compile-fail/associated-types-eq-1.rs @@ -11,8 +11,6 @@ // Test equality constraints on associated types. Check that unsupported syntax // does not ICE. -#![feature(associated_types)] - pub trait Foo { type A; fn boo(&self) -> <Self as Foo>::A; diff --git a/src/test/compile-fail/associated-types-eq-2.rs b/src/test/compile-fail/associated-types-eq-2.rs index b89cdd8c0ee..e298d05d11d 100644 --- a/src/test/compile-fail/associated-types-eq-2.rs +++ b/src/test/compile-fail/associated-types-eq-2.rs @@ -11,8 +11,6 @@ // Test equality constraints on associated types. Check we get an error when an // equality constraint is used in a qualified path. -#![feature(associated_types)] - pub trait Foo { type A; fn boo(&self) -> <Self as Foo>::A; diff --git a/src/test/compile-fail/associated-types-eq-3.rs b/src/test/compile-fail/associated-types-eq-3.rs index e5974925d73..0f18a84cd1a 100644 --- a/src/test/compile-fail/associated-types-eq-3.rs +++ b/src/test/compile-fail/associated-types-eq-3.rs @@ -11,8 +11,6 @@ // Test equality constraints on associated types. Check we get type errors // where we should. -#![feature(associated_types)] - pub trait Foo { type A; fn boo(&self) -> <Self as Foo>::A; diff --git a/src/test/compile-fail/associated-types-eq-expr-path.rs b/src/test/compile-fail/associated-types-eq-expr-path.rs index 1a96b0ca681..ef56fdeb051 100644 --- a/src/test/compile-fail/associated-types-eq-expr-path.rs +++ b/src/test/compile-fail/associated-types-eq-expr-path.rs @@ -10,8 +10,6 @@ // Check that an associated type cannot be bound in an expression path. -#![feature(associated_types)] - trait Foo { type A; fn bar() -> int; diff --git a/src/test/compile-fail/associated-types-eq-hr.rs b/src/test/compile-fail/associated-types-eq-hr.rs index aad55745c25..2532977b1ca 100644 --- a/src/test/compile-fail/associated-types-eq-hr.rs +++ b/src/test/compile-fail/associated-types-eq-hr.rs @@ -10,8 +10,6 @@ // Check testing of equality constraints in a higher-ranked context. -#![feature(associated_types)] - pub trait TheTrait<T> { type A; diff --git a/src/test/compile-fail/associated-types-for-unimpl-trait.rs b/src/test/compile-fail/associated-types-for-unimpl-trait.rs index 2c6ee502fca..9c173515793 100644 --- a/src/test/compile-fail/associated-types-for-unimpl-trait.rs +++ b/src/test/compile-fail/associated-types-for-unimpl-trait.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> <Self as Get>::Value; @@ -22,4 +20,3 @@ trait Other { fn main() { } - diff --git a/src/test/compile-fail/associated-types-in-ambiguous-context.rs b/src/test/compile-fail/associated-types-in-ambiguous-context.rs index fcd3e4d1636..3999e9cbe75 100644 --- a/src/test/compile-fail/associated-types-in-ambiguous-context.rs +++ b/src/test/compile-fail/associated-types-in-ambiguous-context.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> <Self as Get>::Value; @@ -26,4 +24,3 @@ trait Grab { fn main() { } - diff --git a/src/test/compile-fail/associated-types-incomplete-object.rs b/src/test/compile-fail/associated-types-incomplete-object.rs index 7e4e1315110..371f97e867a 100644 --- a/src/test/compile-fail/associated-types-incomplete-object.rs +++ b/src/test/compile-fail/associated-types-incomplete-object.rs @@ -11,8 +11,6 @@ // Check that the user gets an errror if they omit a binding from an // object type. -#![feature(associated_types)] - pub trait Foo { type A; type B; diff --git a/src/test/compile-fail/associated-types-issue-20346.rs b/src/test/compile-fail/associated-types-issue-20346.rs index e4364b12580..a00aa8364bd 100644 --- a/src/test/compile-fail/associated-types-issue-20346.rs +++ b/src/test/compile-fail/associated-types-issue-20346.rs @@ -11,7 +11,6 @@ // Test that we reliably check the value of the associated type. #![crate_type = "lib"] -#![feature(associated_types)] #![no_implicit_prelude] use std::option::Option::{self, None, Some}; diff --git a/src/test/compile-fail/associated-types-no-suitable-bound.rs b/src/test/compile-fail/associated-types-no-suitable-bound.rs index 6b856204091..98f2355f9be 100644 --- a/src/test/compile-fail/associated-types-no-suitable-bound.rs +++ b/src/test/compile-fail/associated-types-no-suitable-bound.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> <Self as Get>::Value; @@ -26,4 +24,3 @@ impl Struct { fn main() { } - diff --git a/src/test/compile-fail/associated-types-no-suitable-supertrait.rs b/src/test/compile-fail/associated-types-no-suitable-supertrait.rs index 5a4ebeac41e..a3f2850b294 100644 --- a/src/test/compile-fail/associated-types-no-suitable-supertrait.rs +++ b/src/test/compile-fail/associated-types-no-suitable-supertrait.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - // Check that we get an error when you use `<Self as Get>::Value` in // the trait definition but `Self` does not, in fact, implement `Get`. diff --git a/src/test/compile-fail/associated-types-path-1.rs b/src/test/compile-fail/associated-types-path-1.rs index 41f5bc17b56..ab061ca4d8d 100644 --- a/src/test/compile-fail/associated-types-path-1.rs +++ b/src/test/compile-fail/associated-types-path-1.rs @@ -10,8 +10,6 @@ // Test that we have one and only one associated type per ref. -#![feature(associated_types)] - pub trait Foo { type A; } @@ -23,4 +21,3 @@ pub fn f1<T>(a: T, x: T::A) {} //~ERROR associated type `A` not found pub fn f2<T: Foo + Bar>(a: T, x: T::A) {} //~ERROR ambiguous associated type `A` pub fn main() {} - diff --git a/src/test/compile-fail/associated-types-path-2.rs b/src/test/compile-fail/associated-types-path-2.rs index 989214d81da..ef85fc22fe7 100644 --- a/src/test/compile-fail/associated-types-path-2.rs +++ b/src/test/compile-fail/associated-types-path-2.rs @@ -10,8 +10,6 @@ // Test type checking of uses of associated types via sugary paths. -#![feature(associated_types)] - pub trait Foo { type A; } diff --git a/src/test/compile-fail/associated-types-project-from-hrtb-explicit.rs b/src/test/compile-fail/associated-types-project-from-hrtb-explicit.rs index 1f0f044a4c0..c5245840c42 100644 --- a/src/test/compile-fail/associated-types-project-from-hrtb-explicit.rs +++ b/src/test/compile-fail/associated-types-project-from-hrtb-explicit.rs @@ -11,8 +11,6 @@ // Test you can't use a higher-ranked trait bound inside of a qualified // path (just won't parse). -#![feature(associated_types)] - pub trait Foo<T> { type A; diff --git a/src/test/compile-fail/associated-types-project-from-hrtb-in-fn-body.rs b/src/test/compile-fail/associated-types-project-from-hrtb-in-fn-body.rs index 0e13efdebc9..1f1ab4ca4b6 100644 --- a/src/test/compile-fail/associated-types-project-from-hrtb-in-fn-body.rs +++ b/src/test/compile-fail/associated-types-project-from-hrtb-in-fn-body.rs @@ -11,8 +11,6 @@ // Check projection of an associated type out of a higher-ranked // trait-bound in the context of a function body. -#![feature(associated_types)] - pub trait Foo<T> { type A; diff --git a/src/test/compile-fail/associated-types-project-from-hrtb-in-fn.rs b/src/test/compile-fail/associated-types-project-from-hrtb-in-fn.rs index 0d5c6959142..0920bfab32b 100644 --- a/src/test/compile-fail/associated-types-project-from-hrtb-in-fn.rs +++ b/src/test/compile-fail/associated-types-project-from-hrtb-in-fn.rs @@ -11,8 +11,6 @@ // Check projection of an associated type out of a higher-ranked trait-bound // in the context of a function signature. -#![feature(associated_types)] - pub trait Foo<T> { type A; diff --git a/src/test/compile-fail/associated-types-project-from-hrtb-in-struct.rs b/src/test/compile-fail/associated-types-project-from-hrtb-in-struct.rs index 5016c6448a5..0acb0f4853b 100644 --- a/src/test/compile-fail/associated-types-project-from-hrtb-in-struct.rs +++ b/src/test/compile-fail/associated-types-project-from-hrtb-in-struct.rs @@ -11,8 +11,6 @@ // Check projection of an associated type out of a higher-ranked trait-bound // in the context of a struct definition. -#![feature(associated_types)] - pub trait Foo<T> { type A; diff --git a/src/test/compile-fail/associated-types-project-from-hrtb-in-trait-method.rs b/src/test/compile-fail/associated-types-project-from-hrtb-in-trait-method.rs index a92d4ec04cb..21e92c53058 100644 --- a/src/test/compile-fail/associated-types-project-from-hrtb-in-trait-method.rs +++ b/src/test/compile-fail/associated-types-project-from-hrtb-in-trait-method.rs @@ -11,8 +11,6 @@ // Check projection of an associated type out of a higher-ranked trait-bound // in the context of a method definition in a trait. -#![feature(associated_types)] - pub trait Foo<T> { type A; diff --git a/src/test/compile-fail/associated-types-unconstrained.rs b/src/test/compile-fail/associated-types-unconstrained.rs index 02e11218806..96863466944 100644 --- a/src/test/compile-fail/associated-types-unconstrained.rs +++ b/src/test/compile-fail/associated-types-unconstrained.rs @@ -10,8 +10,6 @@ // Check that an associated type cannot be bound in an expression path. -#![feature(associated_types)] - trait Foo { type A; fn bar() -> int; diff --git a/src/test/compile-fail/associated-types-unsized.rs b/src/test/compile-fail/associated-types-unsized.rs index 47ab09d279f..5ae2f65fb2e 100644 --- a/src/test/compile-fail/associated-types-unsized.rs +++ b/src/test/compile-fail/associated-types-unsized.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Sized? Value; fn get(&self) -> <Self as Get>::Value; @@ -21,4 +19,3 @@ fn foo<T:Get>(t: T) { fn main() { } - diff --git a/src/test/compile-fail/binop-consume-args.rs b/src/test/compile-fail/binop-consume-args.rs index 930000e5f0c..c525a67c7e9 100644 --- a/src/test/compile-fail/binop-consume-args.rs +++ b/src/test/compile-fail/binop-consume-args.rs @@ -10,8 +10,6 @@ // Test that binary operators consume their arguments -#![feature(associated_types, default_type_params)] - use std::ops::{Add, Sub, Mul, Div, Rem, BitAnd, BitXor, BitOr, Shl, Shr}; fn add<A: Add<B, Output=()>, B>(lhs: A, rhs: B) { diff --git a/src/test/compile-fail/binop-move-semantics.rs b/src/test/compile-fail/binop-move-semantics.rs index e51ca6a70f2..ffc38cc0a60 100644 --- a/src/test/compile-fail/binop-move-semantics.rs +++ b/src/test/compile-fail/binop-move-semantics.rs @@ -10,8 +10,6 @@ // Test that move restrictions are enforced on overloaded binary operations -#![feature(associated_types, default_type_params)] - use std::ops::Add; fn double_move<T: Add<Output=()>>(x: T) { diff --git a/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref-mut.rs b/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref-mut.rs index 7cd170f7773..66bcfc23808 100644 --- a/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref-mut.rs +++ b/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref-mut.rs @@ -11,8 +11,6 @@ // Test how overloaded deref interacts with borrows when DerefMut // is implemented. -#![feature(associated_types)] - use std::ops::{Deref, DerefMut}; struct Own<T> { diff --git a/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref.rs b/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref.rs index 759467aeda3..abab9e57ffe 100644 --- a/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref.rs +++ b/src/test/compile-fail/borrowck-borrow-overloaded-auto-deref.rs @@ -11,8 +11,6 @@ // Test how overloaded deref interacts with borrows when only // Deref and not DerefMut is implemented. -#![feature(associated_types)] - use std::ops::Deref; struct Rc<T> { diff --git a/src/test/compile-fail/borrowck-borrow-overloaded-deref-mut.rs b/src/test/compile-fail/borrowck-borrow-overloaded-deref-mut.rs index 74dceab18ea..dda7e4d1047 100644 --- a/src/test/compile-fail/borrowck-borrow-overloaded-deref-mut.rs +++ b/src/test/compile-fail/borrowck-borrow-overloaded-deref-mut.rs @@ -11,8 +11,6 @@ // Test how overloaded deref interacts with borrows when DerefMut // is implemented. -#![feature(associated_types)] - use std::ops::{Deref, DerefMut}; struct Own<T> { diff --git a/src/test/compile-fail/borrowck-borrow-overloaded-deref.rs b/src/test/compile-fail/borrowck-borrow-overloaded-deref.rs index 635e440c6fe..001a5232b12 100644 --- a/src/test/compile-fail/borrowck-borrow-overloaded-deref.rs +++ b/src/test/compile-fail/borrowck-borrow-overloaded-deref.rs @@ -11,8 +11,6 @@ // Test how overloaded deref interacts with borrows when only // Deref and not DerefMut is implemented. -#![feature(associated_types)] - use std::ops::Deref; struct Rc<T> { diff --git a/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs b/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs index 141dd8905be..924d70e9f46 100644 --- a/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs +++ b/src/test/compile-fail/borrowck-loan-in-overloaded-op.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::Add; #[derive(Clone)] diff --git a/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs b/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs index e0a961e5cc5..5aa2deb44f1 100644 --- a/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs +++ b/src/test/compile-fail/borrowck-loan-rcvr-overloaded-op.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types, default_type_params)] - use std::ops::Add; #[derive(Copy)] diff --git a/src/test/compile-fail/borrowck-overloaded-index-2.rs b/src/test/compile-fail/borrowck-overloaded-index-2.rs index 87e647d16dd..53fb935755c 100644 --- a/src/test/compile-fail/borrowck-overloaded-index-2.rs +++ b/src/test/compile-fail/borrowck-overloaded-index-2.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::Index; struct MyVec<T> { diff --git a/src/test/compile-fail/borrowck-overloaded-index-autoderef.rs b/src/test/compile-fail/borrowck-overloaded-index-autoderef.rs index e7bd7cdf0b7..416e67dac0c 100644 --- a/src/test/compile-fail/borrowck-overloaded-index-autoderef.rs +++ b/src/test/compile-fail/borrowck-overloaded-index-autoderef.rs @@ -11,8 +11,6 @@ // Test that we still see borrowck errors of various kinds when using // indexing and autoderef in combination. -#![feature(associated_types)] - use std::ops::{Index, IndexMut}; struct Foo { @@ -95,5 +93,3 @@ fn test9(mut f: Box<Bar>, g: Bar, s: String) { fn main() { } - - diff --git a/src/test/compile-fail/borrowck-overloaded-index.rs b/src/test/compile-fail/borrowck-overloaded-index.rs index 532f32ce770..80b68dbf519 100644 --- a/src/test/compile-fail/borrowck-overloaded-index.rs +++ b/src/test/compile-fail/borrowck-overloaded-index.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::{Index, IndexMut}; struct Foo { @@ -70,5 +68,3 @@ fn main() { s[2] = 20; //~^ ERROR cannot assign to immutable dereference (dereference is implicit, due to indexing) } - - diff --git a/src/test/compile-fail/dst-index.rs b/src/test/compile-fail/dst-index.rs index 06d20c3361b..e297ecaac23 100644 --- a/src/test/compile-fail/dst-index.rs +++ b/src/test/compile-fail/dst-index.rs @@ -11,8 +11,6 @@ // Test that overloaded index expressions with DST result types // can't be used as rvalues -#![feature(associated_types)] - use std::ops::Index; use std::fmt::Show; diff --git a/src/test/compile-fail/generic-impl-less-params-with-defaults.rs b/src/test/compile-fail/generic-impl-less-params-with-defaults.rs index 7e7eee3cfac..a8b1911426c 100644 --- a/src/test/compile-fail/generic-impl-less-params-with-defaults.rs +++ b/src/test/compile-fail/generic-impl-less-params-with-defaults.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - struct Foo<A, B, C = (A, B)>; impl<A, B, C = (A, B)> Foo<A, B, C> { diff --git a/src/test/compile-fail/generic-impl-more-params-with-defaults.rs b/src/test/compile-fail/generic-impl-more-params-with-defaults.rs index ceaed9438be..696235333a1 100644 --- a/src/test/compile-fail/generic-impl-more-params-with-defaults.rs +++ b/src/test/compile-fail/generic-impl-more-params-with-defaults.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - struct Heap; struct Vec<T, A = Heap>; diff --git a/src/test/compile-fail/generic-non-trailing-defaults.rs b/src/test/compile-fail/generic-non-trailing-defaults.rs index 0b6480fc17d..0cfb05b9332 100644 --- a/src/test/compile-fail/generic-non-trailing-defaults.rs +++ b/src/test/compile-fail/generic-non-trailing-defaults.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - struct Heap; struct Vec<A = Heap, T>; //~ ERROR type parameters with a default must be trailing diff --git a/src/test/compile-fail/generic-type-less-params-with-defaults.rs b/src/test/compile-fail/generic-type-less-params-with-defaults.rs index ec226061e2a..f25d8f99b8d 100644 --- a/src/test/compile-fail/generic-type-less-params-with-defaults.rs +++ b/src/test/compile-fail/generic-type-less-params-with-defaults.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - struct Heap; struct Vec<T, A = Heap>; diff --git a/src/test/compile-fail/generic-type-more-params-with-defaults.rs b/src/test/compile-fail/generic-type-more-params-with-defaults.rs index b16abd17575..ee3e1818779 100644 --- a/src/test/compile-fail/generic-type-more-params-with-defaults.rs +++ b/src/test/compile-fail/generic-type-more-params-with-defaults.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - struct Heap; struct Vec<T, A = Heap>; diff --git a/src/test/compile-fail/generic-type-params-forward-mention.rs b/src/test/compile-fail/generic-type-params-forward-mention.rs index ace53fb51a4..eda1b014fa7 100644 --- a/src/test/compile-fail/generic-type-params-forward-mention.rs +++ b/src/test/compile-fail/generic-type-params-forward-mention.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - // Ensure that we get an error and not an ICE for this problematic case. struct Foo<T = Option<U>, U = bool>; //~^ ERROR type parameters with a default cannot use forward declared identifiers diff --git a/src/test/compile-fail/generic-type-params-name-repr.rs b/src/test/compile-fail/generic-type-params-name-repr.rs index 1c14644ec18..5bdee543d73 100644 --- a/src/test/compile-fail/generic-type-params-name-repr.rs +++ b/src/test/compile-fail/generic-type-params-name-repr.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - struct A; struct B; struct C; diff --git a/src/test/compile-fail/glob-resolve1.rs b/src/test/compile-fail/glob-resolve1.rs index 459a5d8c9e3..d8258a72ce3 100644 --- a/src/test/compile-fail/glob-resolve1.rs +++ b/src/test/compile-fail/glob-resolve1.rs @@ -10,8 +10,6 @@ // Make sure that globs only bring in public things. -#![feature(globs)] - use bar::*; mod bar { diff --git a/src/test/compile-fail/import-glob-0.rs b/src/test/compile-fail/import-glob-0.rs index 210a47d2d03..21aa811ea71 100644 --- a/src/test/compile-fail/import-glob-0.rs +++ b/src/test/compile-fail/import-glob-0.rs @@ -10,8 +10,6 @@ // error-pattern: unresolved name -#![feature(globs)] - use module_of_many_things::*; mod module_of_many_things { diff --git a/src/test/compile-fail/import-glob-circular.rs b/src/test/compile-fail/import-glob-circular.rs index 39b18e1c445..fda7b190d72 100644 --- a/src/test/compile-fail/import-glob-circular.rs +++ b/src/test/compile-fail/import-glob-circular.rs @@ -10,8 +10,6 @@ // error-pattern: unresolved -#![feature(globs)] - mod circ1 { pub use circ2::f2; pub fn f1() { println!("f1"); } diff --git a/src/test/compile-fail/import-shadow-1.rs b/src/test/compile-fail/import-shadow-1.rs index 007b28b6924..eac5a98140f 100644 --- a/src/test/compile-fail/import-shadow-1.rs +++ b/src/test/compile-fail/import-shadow-1.rs @@ -11,7 +11,6 @@ // Test that import shadowing using globs causes errors #![no_implicit_prelude] -#![feature(globs)] use foo::*; use bar::*; //~ERROR a type named `Baz` has already been imported in this module diff --git a/src/test/compile-fail/import-shadow-2.rs b/src/test/compile-fail/import-shadow-2.rs index e597b557383..8b0809fd55a 100644 --- a/src/test/compile-fail/import-shadow-2.rs +++ b/src/test/compile-fail/import-shadow-2.rs @@ -11,7 +11,6 @@ // Test that import shadowing using globs causes errors #![no_implicit_prelude] -#![feature(globs)] use foo::*; use foo::*; //~ERROR a type named `Baz` has already been imported in this module diff --git a/src/test/compile-fail/import-shadow-3.rs b/src/test/compile-fail/import-shadow-3.rs index 68222fa3fd7..cef481af6ba 100644 --- a/src/test/compile-fail/import-shadow-3.rs +++ b/src/test/compile-fail/import-shadow-3.rs @@ -11,7 +11,6 @@ // Test that import shadowing using globs causes errors #![no_implicit_prelude] -#![feature(globs)] use foo::Baz; use bar::*; //~ERROR a type named `Baz` has already been imported in this module diff --git a/src/test/compile-fail/import-shadow-4.rs b/src/test/compile-fail/import-shadow-4.rs index c698004bda0..919eea0e046 100644 --- a/src/test/compile-fail/import-shadow-4.rs +++ b/src/test/compile-fail/import-shadow-4.rs @@ -11,7 +11,6 @@ // Test that import shadowing using globs causes errors #![no_implicit_prelude] -#![feature(globs)] use foo::*; use bar::Baz; //~ERROR a type named `Baz` has already been imported in this module diff --git a/src/test/compile-fail/import-shadow-5.rs b/src/test/compile-fail/import-shadow-5.rs index 6ad7e5ec3e2..df17b7f0a20 100644 --- a/src/test/compile-fail/import-shadow-5.rs +++ b/src/test/compile-fail/import-shadow-5.rs @@ -11,7 +11,6 @@ // Test that import shadowing using globs causes errors #![no_implicit_prelude] -#![feature(globs)] use foo::Baz; use bar::Baz; //~ERROR a type named `Baz` has already been imported in this module diff --git a/src/test/compile-fail/import-shadow-6.rs b/src/test/compile-fail/import-shadow-6.rs index 1864251e71b..94269043b02 100644 --- a/src/test/compile-fail/import-shadow-6.rs +++ b/src/test/compile-fail/import-shadow-6.rs @@ -11,7 +11,6 @@ // Test that import shadowing using globs causes errors #![no_implicit_prelude] -#![feature(globs)] use qux::*; use foo::*; //~ERROR a type named `Baz` has already been imported in this module diff --git a/src/test/compile-fail/import-shadow-7.rs b/src/test/compile-fail/import-shadow-7.rs index a2df266fb74..b3bac380710 100644 --- a/src/test/compile-fail/import-shadow-7.rs +++ b/src/test/compile-fail/import-shadow-7.rs @@ -11,7 +11,6 @@ // Test that import shadowing using globs causes errors #![no_implicit_prelude] -#![feature(globs)] use foo::*; use qux::*; //~ERROR a type named `Baz` has already been imported in this module diff --git a/src/test/compile-fail/infinite-autoderef.rs b/src/test/compile-fail/infinite-autoderef.rs index ab770c099e1..f0b9e796ae6 100644 --- a/src/test/compile-fail/infinite-autoderef.rs +++ b/src/test/compile-fail/infinite-autoderef.rs @@ -10,8 +10,6 @@ // error-pattern: reached the recursion limit while auto-dereferencing -#![feature(associated_types)] - use std::ops::Deref; struct Foo; diff --git a/src/test/compile-fail/issue-1697.rs b/src/test/compile-fail/issue-1697.rs index 46d9a558d9e..f2d858391ce 100644 --- a/src/test/compile-fail/issue-1697.rs +++ b/src/test/compile-fail/issue-1697.rs @@ -10,8 +10,6 @@ // Testing that we don't fail abnormally after hitting the errors -#![feature(globs)] - use unresolved::*; //~ ERROR unresolved import `unresolved::*`. Maybe a missing `extern crate unres fn main() {} diff --git a/src/test/compile-fail/issue-18389.rs b/src/test/compile-fail/issue-18389.rs index 38ebbc062f0..37bb1cb1911 100644 --- a/src/test/compile-fail/issue-18389.rs +++ b/src/test/compile-fail/issue-18389.rs @@ -9,7 +9,6 @@ // except according to those terms. #![feature(unboxed_closures)] -#![feature(associated_types)] use std::any::Any; use std::intrinsics::TypeId; diff --git a/src/test/compile-fail/issue-18566.rs b/src/test/compile-fail/issue-18566.rs index 491707a9e31..0d1a1f16c2c 100644 --- a/src/test/compile-fail/issue-18566.rs +++ b/src/test/compile-fail/issue-18566.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::Deref; struct MyPtr<'a>(&'a mut uint); diff --git a/src/test/compile-fail/issue-18611.rs b/src/test/compile-fail/issue-18611.rs index 49eeccb2b0c..95782630efc 100644 --- a/src/test/compile-fail/issue-18611.rs +++ b/src/test/compile-fail/issue-18611.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - fn add_state(op: <int as HasState>::State) { //~^ ERROR the trait `HasState` is not implemented for the type `int` } diff --git a/src/test/compile-fail/issue-18819.rs b/src/test/compile-fail/issue-18819.rs index 32a51ee065b..3a9de741043 100644 --- a/src/test/compile-fail/issue-18819.rs +++ b/src/test/compile-fail/issue-18819.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Foo { type Item; } diff --git a/src/test/compile-fail/issue-19883.rs b/src/test/compile-fail/issue-19883.rs index 196a04db18a..70fe6b9b6a8 100644 --- a/src/test/compile-fail/issue-19883.rs +++ b/src/test/compile-fail/issue-19883.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait From<Src> { type Output; diff --git a/src/test/compile-fail/issue-20005.rs b/src/test/compile-fail/issue-20005.rs index d9520583ca5..b52f2b1b138 100644 --- a/src/test/compile-fail/issue-20005.rs +++ b/src/test/compile-fail/issue-20005.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait From<Src> { type Result; diff --git a/src/test/compile-fail/issue-4366-2.rs b/src/test/compile-fail/issue-4366-2.rs index 373e7339b69..289e9855525 100644 --- a/src/test/compile-fail/issue-4366-2.rs +++ b/src/test/compile-fail/issue-4366-2.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] - // ensures that 'use foo:*' doesn't import non-public item use m1::*; @@ -36,4 +34,3 @@ mod m1 { fn main() { foo(); //~ ERROR: unresolved name } - diff --git a/src/test/compile-fail/issue-4366.rs b/src/test/compile-fail/issue-4366.rs index 7959078359c..289aa21e1cb 100644 --- a/src/test/compile-fail/issue-4366.rs +++ b/src/test/compile-fail/issue-4366.rs @@ -13,8 +13,6 @@ // ensures that 'use foo:*' doesn't import non-public 'use' statements in the // module 'foo' -#![feature(globs)] - use m1::*; mod foo { diff --git a/src/test/compile-fail/issue-8208.rs b/src/test/compile-fail/issue-8208.rs index 8d8e87da76e..7e3f1171e25 100644 --- a/src/test/compile-fail/issue-8208.rs +++ b/src/test/compile-fail/issue-8208.rs @@ -8,10 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] - use self::*; //~ ERROR: unresolved import fn main() { } - diff --git a/src/test/compile-fail/lint-missing-doc.rs b/src/test/compile-fail/lint-missing-doc.rs index b73c3fa2610..e50f636050c 100644 --- a/src/test/compile-fail/lint-missing-doc.rs +++ b/src/test/compile-fail/lint-missing-doc.rs @@ -10,7 +10,6 @@ // When denying at the crate level, be sure to not get random warnings from the // injected intrinsics by the compiler. -#![feature(globs)] #![deny(missing_docs)] #![allow(dead_code)] #![allow(missing_copy_implementations)] diff --git a/src/test/compile-fail/lint-stability.rs b/src/test/compile-fail/lint-stability.rs index 8e1723ddab2..6d59f2c6501 100644 --- a/src/test/compile-fail/lint-stability.rs +++ b/src/test/compile-fail/lint-stability.rs @@ -13,7 +13,7 @@ // aux-build:stability_cfg1.rs // aux-build:stability_cfg2.rs -#![feature(globs, phase)] +#![feature(phase)] #![deny(unstable)] #![deny(deprecated)] #![deny(experimental)] diff --git a/src/test/compile-fail/lint-unused-extern-crate.rs b/src/test/compile-fail/lint-unused-extern-crate.rs index 93190a0ffe5..a77de551f5d 100644 --- a/src/test/compile-fail/lint-unused-extern-crate.rs +++ b/src/test/compile-fail/lint-unused-extern-crate.rs @@ -10,7 +10,6 @@ // aux-build:lint-unused-extern-crate.rs -#![feature(globs)] #![deny(unused_extern_crates)] #![allow(unused_variables)] diff --git a/src/test/compile-fail/lint-unused-imports.rs b/src/test/compile-fail/lint-unused-imports.rs index b1a6c82a734..b5c0dce6e53 100644 --- a/src/test/compile-fail/lint-unused-imports.rs +++ b/src/test/compile-fail/lint-unused-imports.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] #![deny(unused_imports)] #![allow(dead_code)] diff --git a/src/test/compile-fail/name-clash-nullary.rs b/src/test/compile-fail/name-clash-nullary.rs index b5c0157cb5e..2f0588b261e 100644 --- a/src/test/compile-fail/name-clash-nullary.rs +++ b/src/test/compile-fail/name-clash-nullary.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] - // error-pattern:declaration of `None` shadows use std::option::*; diff --git a/src/test/compile-fail/namespaced-enum-glob-import-no-impls-xcrate.rs b/src/test/compile-fail/namespaced-enum-glob-import-no-impls-xcrate.rs index 120f092d732..4fcb31d3686 100644 --- a/src/test/compile-fail/namespaced-enum-glob-import-no-impls-xcrate.rs +++ b/src/test/compile-fail/namespaced-enum-glob-import-no-impls-xcrate.rs @@ -9,8 +9,6 @@ // except according to those terms. // aux-build:namespaced_enums.rs -#![feature(globs)] - extern crate namespaced_enums; mod m { @@ -25,4 +23,3 @@ pub fn main() { bar(); //~ ERROR unresolved name `bar` m::bar(); //~ ERROR unresolved name `m::bar` } - diff --git a/src/test/compile-fail/namespaced-enum-glob-import-no-impls.rs b/src/test/compile-fail/namespaced-enum-glob-import-no-impls.rs index a8f4e6ba090..602ec9ba762 100644 --- a/src/test/compile-fail/namespaced-enum-glob-import-no-impls.rs +++ b/src/test/compile-fail/namespaced-enum-glob-import-no-impls.rs @@ -7,7 +7,6 @@ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] mod m2 { pub enum Foo { diff --git a/src/test/compile-fail/privacy-ns1.rs b/src/test/compile-fail/privacy-ns1.rs index 2862268b552..5952f05b7bc 100644 --- a/src/test/compile-fail/privacy-ns1.rs +++ b/src/test/compile-fail/privacy-ns1.rs @@ -11,7 +11,6 @@ // Check we do the correct privacy checks when we import a name and there is an // item with that name in both the value and type namespaces. -#![feature(globs)] #![allow(dead_code)] #![allow(unused_imports)] @@ -64,4 +63,3 @@ fn test_glob3() { fn main() { } - diff --git a/src/test/compile-fail/privacy-ns2.rs b/src/test/compile-fail/privacy-ns2.rs index 769bdae80f1..7fe0574ab7d 100644 --- a/src/test/compile-fail/privacy-ns2.rs +++ b/src/test/compile-fail/privacy-ns2.rs @@ -11,7 +11,6 @@ // Check we do the correct privacy checks when we import a name and there is an // item with that name in both the value and type namespaces. -#![feature(globs)] #![allow(dead_code)] #![allow(unused_imports)] @@ -88,4 +87,3 @@ fn test_list3() { fn main() { } - diff --git a/src/test/compile-fail/privacy1.rs b/src/test/compile-fail/privacy1.rs index 41621a934d1..ffee00642ac 100644 --- a/src/test/compile-fail/privacy1.rs +++ b/src/test/compile-fail/privacy1.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs, lang_items)] +#![feature(lang_items)] #![no_std] // makes debugging this test *a lot* easier (during resolve) #[lang="sized"] diff --git a/src/test/compile-fail/privacy2.rs b/src/test/compile-fail/privacy2.rs index 1a94751b46b..b38d7aedf84 100644 --- a/src/test/compile-fail/privacy2.rs +++ b/src/test/compile-fail/privacy2.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] #![no_std] // makes debugging this test *a lot* easier (during resolve) // Test to make sure that globs don't leak in regular `use` statements. @@ -34,4 +33,3 @@ fn test2() { } #[start] fn main(_: int, _: *const *const u8) -> int { 3 } - diff --git a/src/test/compile-fail/privacy3.rs b/src/test/compile-fail/privacy3.rs index 4c67a9910cf..5ec10d5a4ca 100644 --- a/src/test/compile-fail/privacy3.rs +++ b/src/test/compile-fail/privacy3.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] #![no_std] // makes debugging this test *a lot* easier (during resolve) // Test to make sure that private items imported through globs remain private diff --git a/src/test/compile-fail/privacy4.rs b/src/test/compile-fail/privacy4.rs index 70e7e2df98a..7bfeb888645 100644 --- a/src/test/compile-fail/privacy4.rs +++ b/src/test/compile-fail/privacy4.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs, lang_items)] +#![feature(lang_items)] #![no_std] // makes debugging this test *a lot* easier (during resolve) #[lang = "sized"] pub trait Sized for Sized? {} diff --git a/src/test/compile-fail/static-reference-to-fn-2.rs b/src/test/compile-fail/static-reference-to-fn-2.rs index 2bdbdb4fde2..d58e89e7767 100644 --- a/src/test/compile-fail/static-reference-to-fn-2.rs +++ b/src/test/compile-fail/static-reference-to-fn-2.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - struct StateMachineIter<'a> { statefn: &'a StateMachineFunc<'a> } @@ -61,4 +59,3 @@ fn main() { println!("{}",it.next()); println!("{}",it.next()); } - diff --git a/src/test/compile-fail/std-uncopyable-atomics.rs b/src/test/compile-fail/std-uncopyable-atomics.rs index a97a3e61678..5ebabc2e354 100644 --- a/src/test/compile-fail/std-uncopyable-atomics.rs +++ b/src/test/compile-fail/std-uncopyable-atomics.rs @@ -10,7 +10,6 @@ // Issue #8380 -#![feature(globs)] use std::sync::atomic::*; use std::ptr; diff --git a/src/test/compile-fail/unboxed-closure-sugar-default.rs b/src/test/compile-fail/unboxed-closure-sugar-default.rs index 06a93406392..a7861c4b90d 100644 --- a/src/test/compile-fail/unboxed-closure-sugar-default.rs +++ b/src/test/compile-fail/unboxed-closure-sugar-default.rs @@ -11,7 +11,7 @@ // Test interaction between unboxed closure sugar and default type // parameters (should be exactly as if angle brackets were used). -#![feature(default_type_params, unboxed_closures)] +#![feature(unboxed_closures)] #![allow(dead_code)] trait Foo<T,U,V=T> { diff --git a/src/test/compile-fail/unboxed-closure-sugar-region.rs b/src/test/compile-fail/unboxed-closure-sugar-region.rs index a938f126c16..df53ecdac7c 100644 --- a/src/test/compile-fail/unboxed-closure-sugar-region.rs +++ b/src/test/compile-fail/unboxed-closure-sugar-region.rs @@ -12,7 +12,7 @@ // parameters (should be exactly as if angle brackets were used // and regions omitted). -#![feature(default_type_params, unboxed_closures)] +#![feature(unboxed_closures)] #![allow(dead_code)] use std::kinds::marker; diff --git a/src/test/compile-fail/wrong-mul-method-signature.rs b/src/test/compile-fail/wrong-mul-method-signature.rs index 7aa6ead89d7..e6fbcf2d38f 100644 --- a/src/test/compile-fail/wrong-mul-method-signature.rs +++ b/src/test/compile-fail/wrong-mul-method-signature.rs @@ -13,8 +13,6 @@ // (In this case the mul method should take &f64 and not f64) // See: #11450 -#![feature(associated_types, default_type_params)] - use std::ops::Mul; struct Vec1 { diff --git a/src/test/run-fail/glob-use-std.rs b/src/test/run-fail/glob-use-std.rs index 939845a7b34..6712b3b0659 100644 --- a/src/test/run-fail/glob-use-std.rs +++ b/src/test/run-fail/glob-use-std.rs @@ -15,7 +15,6 @@ // Expanded pretty printing causes resolve conflicts. // error-pattern:panic works -#![feature(globs)] use std::*; diff --git a/src/test/run-pass/associated-types-basic.rs b/src/test/run-pass/associated-types-basic.rs index fcfcce3ff1b..3314b613201 100644 --- a/src/test/run-pass/associated-types-basic.rs +++ b/src/test/run-pass/associated-types-basic.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Foo { type T; } @@ -23,4 +21,3 @@ fn main() { let y: int = 44; assert_eq!(x * 2, y); } - diff --git a/src/test/run-pass/associated-types-binding-in-where-clause.rs b/src/test/run-pass/associated-types-binding-in-where-clause.rs index e3bd587742c..caf7d31a5fd 100644 --- a/src/test/run-pass/associated-types-binding-in-where-clause.rs +++ b/src/test/run-pass/associated-types-binding-in-where-clause.rs @@ -10,8 +10,6 @@ // Test equality constraints on associated types in a where clause. -#![feature(associated_types)] - pub trait Foo { type A; fn boo(&self) -> <Self as Foo>::A; diff --git a/src/test/run-pass/associated-types-bound.rs b/src/test/run-pass/associated-types-bound.rs index db5119132cc..c34a19e1d82 100644 --- a/src/test/run-pass/associated-types-bound.rs +++ b/src/test/run-pass/associated-types-bound.rs @@ -10,8 +10,6 @@ // Test equality constraints on associated types in a where clause. -#![feature(associated_types)] - pub trait ToInt { fn to_int(&self) -> int; } diff --git a/src/test/run-pass/associated-types-cc.rs b/src/test/run-pass/associated-types-cc.rs index c0cf917aa41..58aa351ba9c 100644 --- a/src/test/run-pass/associated-types-cc.rs +++ b/src/test/run-pass/associated-types-cc.rs @@ -13,8 +13,6 @@ // Test that we are able to reference cross-crate traits that employ // associated types. -#![feature(associated_types)] - extern crate "associated-types-cc-lib" as bar; use bar::Bar; diff --git a/src/test/run-pass/associated-types-conditional-dispatch.rs b/src/test/run-pass/associated-types-conditional-dispatch.rs index 3b53203d218..46cf9110476 100644 --- a/src/test/run-pass/associated-types-conditional-dispatch.rs +++ b/src/test/run-pass/associated-types-conditional-dispatch.rs @@ -14,8 +14,6 @@ // `Target=[A]`, then the impl marked with `(*)` is seen to conflict // with all the others. -#![feature(associated_types, default_type_params)] - use std::ops::Deref; pub trait MyEq<Sized? U=Self> for Sized? { diff --git a/src/test/run-pass/associated-types-constant-type.rs b/src/test/run-pass/associated-types-constant-type.rs index ea2cf84b757..68b49af0d3b 100644 --- a/src/test/run-pass/associated-types-constant-type.rs +++ b/src/test/run-pass/associated-types-constant-type.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait SignedUnsigned { type Opposite; fn convert(self) -> Self::Opposite; @@ -39,4 +37,3 @@ fn main() { let x = get(22); assert_eq!(22u, x); } - diff --git a/src/test/run-pass/associated-types-eq-obj.rs b/src/test/run-pass/associated-types-eq-obj.rs index f0343a743cb..0ec8a366190 100644 --- a/src/test/run-pass/associated-types-eq-obj.rs +++ b/src/test/run-pass/associated-types-eq-obj.rs @@ -10,8 +10,6 @@ // Test equality constraints on associated types inside of an object type -#![feature(associated_types)] - pub trait Foo { type A; fn boo(&self) -> <Self as Foo>::A; diff --git a/src/test/run-pass/associated-types-impl-redirect.rs b/src/test/run-pass/associated-types-impl-redirect.rs index eb6a3111cc1..388a2d73447 100644 --- a/src/test/run-pass/associated-types-impl-redirect.rs +++ b/src/test/run-pass/associated-types-impl-redirect.rs @@ -16,7 +16,7 @@ // ignore-pretty -- FIXME(#17362) -#![feature(associated_types, lang_items, unboxed_closures)] +#![feature(lang_items, unboxed_closures)] #![no_implicit_prelude] use std::kinds::Sized; diff --git a/src/test/run-pass/associated-types-in-default-method.rs b/src/test/run-pass/associated-types-in-default-method.rs index e01b18a64db..0ae61037154 100644 --- a/src/test/run-pass/associated-types-in-default-method.rs +++ b/src/test/run-pass/associated-types-in-default-method.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> &<Self as Get>::Value; @@ -35,5 +33,3 @@ fn main() { }; assert_eq!(*s.grab(), 100); } - - diff --git a/src/test/run-pass/associated-types-in-fn.rs b/src/test/run-pass/associated-types-in-fn.rs index 4ed213e85d8..4104f520a0c 100644 --- a/src/test/run-pass/associated-types-in-fn.rs +++ b/src/test/run-pass/associated-types-in-fn.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> &<Self as Get>::Value; @@ -36,4 +34,3 @@ fn main() { }; assert_eq!(*grab(&s), 100); } - diff --git a/src/test/run-pass/associated-types-in-impl-generics.rs b/src/test/run-pass/associated-types-in-impl-generics.rs index f6aaaf3b3fa..59f05e11842 100644 --- a/src/test/run-pass/associated-types-in-impl-generics.rs +++ b/src/test/run-pass/associated-types-in-impl-generics.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> &<Self as Get>::Value; @@ -44,4 +42,3 @@ fn main() { }; assert_eq!(*s.grab(), 100); } - diff --git a/src/test/run-pass/associated-types-in-inherent-method.rs b/src/test/run-pass/associated-types-in-inherent-method.rs index 34168269246..951497709fd 100644 --- a/src/test/run-pass/associated-types-in-inherent-method.rs +++ b/src/test/run-pass/associated-types-in-inherent-method.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> &<Self as Get>::Value; @@ -38,4 +36,3 @@ fn main() { }; assert_eq!(*Struct::grab(&s), 100); } - diff --git a/src/test/run-pass/associated-types-issue-20371.rs b/src/test/run-pass/associated-types-issue-20371.rs index a6fb2b9e2ea..d35b7331d4d 100644 --- a/src/test/run-pass/associated-types-issue-20371.rs +++ b/src/test/run-pass/associated-types-issue-20371.rs @@ -11,7 +11,6 @@ // Test that we are able to have an impl that defines an associated type // before the actual trait. -#![feature(associated_types)] impl X for f64 { type Y = int; } trait X {type Y; } fn main() {} diff --git a/src/test/run-pass/associated-types-normalize-in-bounds-ufcs.rs b/src/test/run-pass/associated-types-normalize-in-bounds-ufcs.rs index 0fd47720421..00237e2fb0f 100644 --- a/src/test/run-pass/associated-types-normalize-in-bounds-ufcs.rs +++ b/src/test/run-pass/associated-types-normalize-in-bounds-ufcs.rs @@ -11,8 +11,6 @@ // Test that we normalize associated types that appear in bounds; if // we didn't, the call to `self.split2()` fails to type check. -#![feature(associated_types)] - struct Splits<'a, T, P>; struct SplitsN<I>; diff --git a/src/test/run-pass/associated-types-normalize-in-bounds.rs b/src/test/run-pass/associated-types-normalize-in-bounds.rs index f09c27029d7..dcfdba5e746 100644 --- a/src/test/run-pass/associated-types-normalize-in-bounds.rs +++ b/src/test/run-pass/associated-types-normalize-in-bounds.rs @@ -11,8 +11,6 @@ // Test that we normalize associated types that appear in bounds; if // we didn't, the call to `self.split2()` fails to type check. -#![feature(associated_types)] - struct Splits<'a, T, P>; struct SplitsN<I>; diff --git a/src/test/run-pass/associated-types-projection-bound-in-supertraits.rs b/src/test/run-pass/associated-types-projection-bound-in-supertraits.rs index 92daee5225d..24dae20b3e7 100644 --- a/src/test/run-pass/associated-types-projection-bound-in-supertraits.rs +++ b/src/test/run-pass/associated-types-projection-bound-in-supertraits.rs @@ -13,8 +13,6 @@ // this case, the `Result=Self` binding in the supertrait listing of // `Int` was being ignored. -#![feature(associated_types)] - trait Not { type Result; diff --git a/src/test/run-pass/associated-types-qualified-path-with-trait-with-type-parameters.rs b/src/test/run-pass/associated-types-qualified-path-with-trait-with-type-parameters.rs index 1b4eb2604a8..abbde16faef 100644 --- a/src/test/run-pass/associated-types-qualified-path-with-trait-with-type-parameters.rs +++ b/src/test/run-pass/associated-types-qualified-path-with-trait-with-type-parameters.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Foo<T> { type Bar; fn get_bar() -> <Self as Foo<T>>::Bar; diff --git a/src/test/run-pass/associated-types-resolve-lifetime.rs b/src/test/run-pass/associated-types-resolve-lifetime.rs index 1be09e1e068..e7a8061a346 100644 --- a/src/test/run-pass/associated-types-resolve-lifetime.rs +++ b/src/test/run-pass/associated-types-resolve-lifetime.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get<T> { fn get(&self) -> T; } diff --git a/src/test/run-pass/associated-types-return.rs b/src/test/run-pass/associated-types-return.rs index 1c2ff466895..b9b6d14f8a0 100644 --- a/src/test/run-pass/associated-types-return.rs +++ b/src/test/run-pass/associated-types-return.rs @@ -10,8 +10,6 @@ // Test equality constraints on associated types in a where clause. -#![feature(associated_types)] - pub trait Foo { type A; fn boo(&self) -> <Self as Foo>::A; diff --git a/src/test/run-pass/associated-types-simple.rs b/src/test/run-pass/associated-types-simple.rs index 82ae0d89b46..9e388dc3d34 100644 --- a/src/test/run-pass/associated-types-simple.rs +++ b/src/test/run-pass/associated-types-simple.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Get { type Value; fn get(&self) -> &<Self as Get>::Value; @@ -32,4 +30,3 @@ fn main() { }; assert_eq!(*s.get(), 100); } - diff --git a/src/test/run-pass/associated-types-sugar-path.rs b/src/test/run-pass/associated-types-sugar-path.rs index 28c06f51ceb..880554b61b2 100644 --- a/src/test/run-pass/associated-types-sugar-path.rs +++ b/src/test/run-pass/associated-types-sugar-path.rs @@ -10,8 +10,6 @@ // Test paths to associated types using the type-parameter-only sugar. -#![feature(associated_types)] - pub trait Foo { type A; fn boo(&self) -> Self::A; diff --git a/src/test/run-pass/associated-types-where-clause-impl-ambiguity.rs b/src/test/run-pass/associated-types-where-clause-impl-ambiguity.rs index 8a1a090e919..abbe250b627 100644 --- a/src/test/run-pass/associated-types-where-clause-impl-ambiguity.rs +++ b/src/test/run-pass/associated-types-where-clause-impl-ambiguity.rs @@ -16,7 +16,7 @@ // ignore-pretty -- FIXME(#17362) pretty prints with `<<` which lexes wrong -#![feature(associated_types, lang_items, unboxed_closures)] +#![feature(lang_items, unboxed_closures)] #![no_implicit_prelude] use std::kinds::Sized; diff --git a/src/test/run-pass/dst-deref-mut.rs b/src/test/run-pass/dst-deref-mut.rs index 0e0ed1f436c..0a12df53de2 100644 --- a/src/test/run-pass/dst-deref-mut.rs +++ b/src/test/run-pass/dst-deref-mut.rs @@ -10,8 +10,6 @@ // Test that a custom deref with a fat pointer return type does not ICE -#![feature(associated_types)] - use std::ops::{Deref, DerefMut}; pub struct Arr { diff --git a/src/test/run-pass/dst-deref.rs b/src/test/run-pass/dst-deref.rs index a39670a27b9..8ef8f1a868d 100644 --- a/src/test/run-pass/dst-deref.rs +++ b/src/test/run-pass/dst-deref.rs @@ -10,8 +10,6 @@ // Test that a custom deref with a fat pointer return type does not ICE -#![feature(associated_types)] - use std::ops::Deref; pub struct Arr { diff --git a/src/test/run-pass/dst-index.rs b/src/test/run-pass/dst-index.rs index 6a69bfc248f..d1823359af1 100644 --- a/src/test/run-pass/dst-index.rs +++ b/src/test/run-pass/dst-index.rs @@ -11,8 +11,6 @@ // Test that overloaded index expressions with DST result types // work and don't ICE. -#![feature(associated_types)] - use std::ops::Index; use std::fmt::Show; diff --git a/src/test/run-pass/eq-multidispatch.rs b/src/test/run-pass/eq-multidispatch.rs index 31ed212db99..2dcf6bf6d09 100644 --- a/src/test/run-pass/eq-multidispatch.rs +++ b/src/test/run-pass/eq-multidispatch.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - #[derive(PartialEq)] struct Bar; struct Baz; diff --git a/src/test/run-pass/export-glob-imports-target.rs b/src/test/run-pass/export-glob-imports-target.rs index b960a31bc0c..da0a3e9e107 100644 --- a/src/test/run-pass/export-glob-imports-target.rs +++ b/src/test/run-pass/export-glob-imports-target.rs @@ -1,4 +1,3 @@ - // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -14,8 +13,6 @@ // Modified to not use export since it's going away. --pcw -#![feature(globs)] - mod foo { use foo::bar::*; pub mod bar { diff --git a/src/test/run-pass/fixup-deref-mut.rs b/src/test/run-pass/fixup-deref-mut.rs index 8fb3893e5de..a673a67089a 100644 --- a/src/test/run-pass/fixup-deref-mut.rs +++ b/src/test/run-pass/fixup-deref-mut.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::{Deref, DerefMut}; // Generic unique/owned smaht pointer. @@ -55,4 +53,3 @@ fn test2(mut x: Own<Own<Own<Point>>>) { } fn main() {} - diff --git a/src/test/run-pass/generic-default-type-params-cross-crate.rs b/src/test/run-pass/generic-default-type-params-cross-crate.rs index bb956b9ed89..ed8c6e73255 100644 --- a/src/test/run-pass/generic-default-type-params-cross-crate.rs +++ b/src/test/run-pass/generic-default-type-params-cross-crate.rs @@ -10,8 +10,6 @@ // aux-build:default_type_params_xc.rs -#![feature(default_type_params)] - extern crate default_type_params_xc; struct Vec<T, A = default_type_params_xc::Heap>; diff --git a/src/test/run-pass/generic-default-type-params.rs b/src/test/run-pass/generic-default-type-params.rs index e88801f14ed..5ec478d39e3 100644 --- a/src/test/run-pass/generic-default-type-params.rs +++ b/src/test/run-pass/generic-default-type-params.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - struct Foo<A = (int, char)> { a: A } diff --git a/src/test/run-pass/import-glob-0.rs b/src/test/run-pass/import-glob-0.rs index 44d98852054..a57b8de629e 100644 --- a/src/test/run-pass/import-glob-0.rs +++ b/src/test/run-pass/import-glob-0.rs @@ -1,4 +1,3 @@ - // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -9,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] - use module_of_many_things::*; use dug::too::greedily::and::too::deep::*; diff --git a/src/test/run-pass/import-glob-crate.rs b/src/test/run-pass/import-glob-crate.rs index 5ffcbb7e0fd..24d90741bbc 100644 --- a/src/test/run-pass/import-glob-crate.rs +++ b/src/test/run-pass/import-glob-crate.rs @@ -1,4 +1,3 @@ - // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -9,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] #![allow(dead_assignment)] use std::mem::*; diff --git a/src/test/run-pass/import-in-block.rs b/src/test/run-pass/import-in-block.rs index 19300569d20..3c28354dedc 100644 --- a/src/test/run-pass/import-in-block.rs +++ b/src/test/run-pass/import-in-block.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] - pub fn main() { use std::mem::replace; let mut x = 5i; diff --git a/src/test/run-pass/intrinsics-integer.rs b/src/test/run-pass/intrinsics-integer.rs index 5121e2185cb..2b0f7cc7d7d 100644 --- a/src/test/run-pass/intrinsics-integer.rs +++ b/src/test/run-pass/intrinsics-integer.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs, intrinsics)] +#![feature(intrinsics)] mod rusti { extern "rust-intrinsic" { diff --git a/src/test/run-pass/intrinsics-math.rs b/src/test/run-pass/intrinsics-math.rs index 9f2fe155cdf..523e7ab02d4 100644 --- a/src/test/run-pass/intrinsics-math.rs +++ b/src/test/run-pass/intrinsics-math.rs @@ -9,7 +9,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs, macro_rules, intrinsics)] +#![feature(macro_rules, intrinsics)] macro_rules! assert_approx_eq( ($a:expr, $b:expr) => ({ diff --git a/src/test/run-pass/issue-11709.rs b/src/test/run-pass/issue-11709.rs index f9d79567932..4a07b5fc432 100644 --- a/src/test/run-pass/issue-11709.rs +++ b/src/test/run-pass/issue-11709.rs @@ -15,8 +15,6 @@ // when this bug was opened. The cases where the compiler // panics before the fix have a comment. -#![feature(default_type_params)] - use std::thunk::Thunk; struct S {x:()} diff --git a/src/test/run-pass/issue-13167.rs b/src/test/run-pass/issue-13167.rs index ee556ce2c84..21b54ba0e79 100644 --- a/src/test/run-pass/issue-13167.rs +++ b/src/test/run-pass/issue-13167.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::slice; pub struct PhfMapEntries<'a, T: 'a> { diff --git a/src/test/run-pass/issue-13264.rs b/src/test/run-pass/issue-13264.rs index 00b508ab92c..3c76a827fb2 100644 --- a/src/test/run-pass/issue-13264.rs +++ b/src/test/run-pass/issue-13264.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::Deref; struct Root { diff --git a/src/test/run-pass/issue-14919.rs b/src/test/run-pass/issue-14919.rs index d5590e99f2c..21bda93ecec 100644 --- a/src/test/run-pass/issue-14919.rs +++ b/src/test/run-pass/issue-14919.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Matcher { fn next_match(&mut self) -> Option<(uint, uint)>; } diff --git a/src/test/run-pass/issue-14933.rs b/src/test/run-pass/issue-14933.rs index 9796322b264..549ed08aaf3 100644 --- a/src/test/run-pass/issue-14933.rs +++ b/src/test/run-pass/issue-14933.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - pub type BigRat<T = int> = T; fn main() {} diff --git a/src/test/run-pass/issue-15734.rs b/src/test/run-pass/issue-15734.rs index f261098f538..e404f5fa118 100644 --- a/src/test/run-pass/issue-15734.rs +++ b/src/test/run-pass/issue-15734.rs @@ -11,7 +11,7 @@ // If `Index` used an associated type for its output, this test would // work more smoothly. -#![feature(associated_types, old_orphan_check)] +#![feature(old_orphan_check)] use std::ops::Index; diff --git a/src/test/run-pass/issue-16596.rs b/src/test/run-pass/issue-16596.rs index 7bc6d989fa7..e01de3a3262 100644 --- a/src/test/run-pass/issue-16596.rs +++ b/src/test/run-pass/issue-16596.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait MatrixRow {} struct Mat; diff --git a/src/test/run-pass/issue-16597.rs b/src/test/run-pass/issue-16597.rs index da1cf0a38ca..72e948e613b 100644 --- a/src/test/run-pass/issue-16597.rs +++ b/src/test/run-pass/issue-16597.rs @@ -11,8 +11,6 @@ // compile-flags:--test // ignore-pretty turns out the pretty-printer doesn't handle gensym'd things... -#![feature(globs)] - mod test { use super::*; diff --git a/src/test/run-pass/issue-16774.rs b/src/test/run-pass/issue-16774.rs index 45cfabcd872..6ef4f868d21 100644 --- a/src/test/run-pass/issue-16774.rs +++ b/src/test/run-pass/issue-16774.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types, unboxed_closures)] +#![feature(unboxed_closures)] use std::ops::{Deref, DerefMut}; diff --git a/src/test/run-pass/issue-17732.rs b/src/test/run-pass/issue-17732.rs index 45d3b53132d..b4bd55da597 100644 --- a/src/test/run-pass/issue-17732.rs +++ b/src/test/run-pass/issue-17732.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] trait Person { type string; } diff --git a/src/test/run-pass/issue-17897.rs b/src/test/run-pass/issue-17897.rs index 49b03a974d8..da6c83142ea 100644 --- a/src/test/run-pass/issue-17897.rs +++ b/src/test/run-pass/issue-17897.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params, unboxed_closures)] +#![feature(unboxed_closures)] use std::thunk::Thunk; diff --git a/src/test/run-pass/issue-18188.rs b/src/test/run-pass/issue-18188.rs index aa95856a8b5..a2152db6884 100644 --- a/src/test/run-pass/issue-18188.rs +++ b/src/test/run-pass/issue-18188.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params, unboxed_closures)] +#![feature(unboxed_closures)] use std::thunk::Thunk; diff --git a/src/test/run-pass/issue-19081.rs b/src/test/run-pass/issue-19081.rs index 57724ba91b0..83ba322ba30 100644 --- a/src/test/run-pass/issue-19081.rs +++ b/src/test/run-pass/issue-19081.rs @@ -10,8 +10,6 @@ // ignore-pretty -- FIXME(#17362) pretty prints as `Hash<<Self as Hasher...` which fails to parse -#![feature(associated_types)] - pub trait Hasher { type State; diff --git a/src/test/run-pass/issue-19121.rs b/src/test/run-pass/issue-19121.rs index 79afb856be2..d95f74ef2a2 100644 --- a/src/test/run-pass/issue-19121.rs +++ b/src/test/run-pass/issue-19121.rs @@ -11,8 +11,6 @@ // Test that a partially specified trait object with unspecified associated // type does not ICE. -#![feature(associated_types)] - trait Foo { type A; } diff --git a/src/test/run-pass/issue-19129-1.rs b/src/test/run-pass/issue-19129-1.rs index eecc073b047..3436871b4d1 100644 --- a/src/test/run-pass/issue-19129-1.rs +++ b/src/test/run-pass/issue-19129-1.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Trait<Input> { type Output; diff --git a/src/test/run-pass/issue-19129-2.rs b/src/test/run-pass/issue-19129-2.rs index aeaf5e37644..d6b3a1908b8 100644 --- a/src/test/run-pass/issue-19129-2.rs +++ b/src/test/run-pass/issue-19129-2.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Trait<Input> { type Output; diff --git a/src/test/run-pass/issue-19479.rs b/src/test/run-pass/issue-19479.rs index b3354530a0c..91bc645b2d4 100644 --- a/src/test/run-pass/issue-19479.rs +++ b/src/test/run-pass/issue-19479.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] trait Base {} trait AssocA { type X: Base; diff --git a/src/test/run-pass/issue-19631.rs b/src/test/run-pass/issue-19631.rs index d036bab99f8..43116f63641 100644 --- a/src/test/run-pass/issue-19631.rs +++ b/src/test/run-pass/issue-19631.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait PoolManager { type C; } diff --git a/src/test/run-pass/issue-19632.rs b/src/test/run-pass/issue-19632.rs index 9bc74e50173..01a073a6889 100644 --- a/src/test/run-pass/issue-19632.rs +++ b/src/test/run-pass/issue-19632.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait PoolManager { type C; } diff --git a/src/test/run-pass/issue-19850.rs b/src/test/run-pass/issue-19850.rs index cd56fe18689..a9ce6c7a9eb 100644 --- a/src/test/run-pass/issue-19850.rs +++ b/src/test/run-pass/issue-19850.rs @@ -11,8 +11,6 @@ // Test that `<Type as Trait>::Output` and `Self::Output` are accepted as type annotations in let // bindings -#![feature(associated_types)] - trait Int { fn one() -> Self; fn leading_zeros(self) -> uint; diff --git a/src/test/run-pass/issue-20009.rs b/src/test/run-pass/issue-20009.rs index 535538793d1..374460487d8 100644 --- a/src/test/run-pass/issue-20009.rs +++ b/src/test/run-pass/issue-20009.rs @@ -10,8 +10,6 @@ // Check that associated types are `Sized` -#![feature(associated_types)] - trait Trait { type Output; diff --git a/src/test/run-pass/issue-20389.rs b/src/test/run-pass/issue-20389.rs index 0ef14149c94..877cec48b5d 100644 --- a/src/test/run-pass/issue-20389.rs +++ b/src/test/run-pass/issue-20389.rs @@ -10,7 +10,6 @@ // aux-build:issue_20389.rs -#![feature(associated_types)] extern crate issue_20389; struct Foo; diff --git a/src/test/run-pass/issue-2526-a.rs b/src/test/run-pass/issue-2526-a.rs index a8cbb0911b8..18c59dc9adc 100644 --- a/src/test/run-pass/issue-2526-a.rs +++ b/src/test/run-pass/issue-2526-a.rs @@ -10,7 +10,6 @@ // aux-build:issue-2526.rs -#![feature(globs)] #![allow(unused_imports)] extern crate issue_2526; diff --git a/src/test/run-pass/issue-3609.rs b/src/test/run-pass/issue-3609.rs index b89ee81a727..c3cfaf22dee 100644 --- a/src/test/run-pass/issue-3609.rs +++ b/src/test/run-pass/issue-3609.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(default_type_params)] - use std::thread::Thread; use std::sync::mpsc::Sender; use std::thunk::Invoke; diff --git a/src/test/run-pass/issue-3743.rs b/src/test/run-pass/issue-3743.rs index 741f168482d..43852fb3324 100644 --- a/src/test/run-pass/issue-3743.rs +++ b/src/test/run-pass/issue-3743.rs @@ -10,7 +10,7 @@ // If `Mul` used an associated type for its output, this test would // work more smoothly. -#![feature(associated_types, default_type_params, old_orphan_check)] +#![feature(old_orphan_check)] use std::ops::Mul; diff --git a/src/test/run-pass/issue-7663.rs b/src/test/run-pass/issue-7663.rs index 39b0711721b..0ff265e483e 100644 --- a/src/test/run-pass/issue-7663.rs +++ b/src/test/run-pass/issue-7663.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] #![allow(unused_imports, dead_code)] mod test1 { diff --git a/src/test/run-pass/namespaced-enum-emulate-flat.rs b/src/test/run-pass/namespaced-enum-emulate-flat.rs index 676fe650081..e4a8ec19eb8 100644 --- a/src/test/run-pass/namespaced-enum-emulate-flat.rs +++ b/src/test/run-pass/namespaced-enum-emulate-flat.rs @@ -7,7 +7,6 @@ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] pub use Foo::*; use nest::{Bar, D, E, F}; diff --git a/src/test/run-pass/namespaced-enum-glob-import-xcrate.rs b/src/test/run-pass/namespaced-enum-glob-import-xcrate.rs index cc4985927f1..e5317c2f573 100644 --- a/src/test/run-pass/namespaced-enum-glob-import-xcrate.rs +++ b/src/test/run-pass/namespaced-enum-glob-import-xcrate.rs @@ -9,7 +9,6 @@ // except according to those terms. // aux-build:namespaced_enums.rs -#![feature(globs)] extern crate namespaced_enums; diff --git a/src/test/run-pass/namespaced-enum-glob-import.rs b/src/test/run-pass/namespaced-enum-glob-import.rs index 137dd543566..c48be3af248 100644 --- a/src/test/run-pass/namespaced-enum-glob-import.rs +++ b/src/test/run-pass/namespaced-enum-glob-import.rs @@ -7,7 +7,6 @@ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] mod m2 { pub enum Foo { diff --git a/src/test/run-pass/operator-multidispatch.rs b/src/test/run-pass/operator-multidispatch.rs index 59998400919..8e5750005e2 100644 --- a/src/test/run-pass/operator-multidispatch.rs +++ b/src/test/run-pass/operator-multidispatch.rs @@ -11,8 +11,6 @@ // Test that we can overload the `+` operator for points so that two // points can be added, and a point can be added to an integer. -#![feature(associated_types, default_type_params)] - use std::ops; #[derive(Show,PartialEq,Eq)] diff --git a/src/test/run-pass/operator-overloading.rs b/src/test/run-pass/operator-overloading.rs index 41e7586f1e3..c20b7336deb 100644 --- a/src/test/run-pass/operator-overloading.rs +++ b/src/test/run-pass/operator-overloading.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::cmp; use std::ops; diff --git a/src/test/run-pass/overloaded-autoderef-count.rs b/src/test/run-pass/overloaded-autoderef-count.rs index e9eb924d449..f0646853b6b 100644 --- a/src/test/run-pass/overloaded-autoderef-count.rs +++ b/src/test/run-pass/overloaded-autoderef-count.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::cell::Cell; use std::ops::{Deref, DerefMut}; diff --git a/src/test/run-pass/overloaded-autoderef-indexing.rs b/src/test/run-pass/overloaded-autoderef-indexing.rs index 6d8d09b321e..de37173810f 100644 --- a/src/test/run-pass/overloaded-autoderef-indexing.rs +++ b/src/test/run-pass/overloaded-autoderef-indexing.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::Deref; struct DerefArray<'a, T:'a> { diff --git a/src/test/run-pass/overloaded-autoderef-order.rs b/src/test/run-pass/overloaded-autoderef-order.rs index cafb665fc37..c34aed42c97 100644 --- a/src/test/run-pass/overloaded-autoderef-order.rs +++ b/src/test/run-pass/overloaded-autoderef-order.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::rc::Rc; use std::ops::Deref; diff --git a/src/test/run-pass/overloaded-autoderef-vtable.rs b/src/test/run-pass/overloaded-autoderef-vtable.rs index 23efba15749..be2b309b821 100644 --- a/src/test/run-pass/overloaded-autoderef-vtable.rs +++ b/src/test/run-pass/overloaded-autoderef-vtable.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::Deref; struct DerefWithHelper<H, T> { diff --git a/src/test/run-pass/overloaded-calls-param-vtables.rs b/src/test/run-pass/overloaded-calls-param-vtables.rs index b3c9ec3dc93..56887636d5d 100644 --- a/src/test/run-pass/overloaded-calls-param-vtables.rs +++ b/src/test/run-pass/overloaded-calls-param-vtables.rs @@ -10,7 +10,7 @@ // Tests that nested vtables work with overloaded calls. -#![feature(default_type_params, unboxed_closures)] +#![feature(unboxed_closures)] use std::ops::Fn; use std::ops::Add; @@ -27,4 +27,3 @@ fn main() { // ICE trigger G(1i); } - diff --git a/src/test/run-pass/overloaded-deref-count.rs b/src/test/run-pass/overloaded-deref-count.rs index b6fb38d5cc2..5cd76879798 100644 --- a/src/test/run-pass/overloaded-deref-count.rs +++ b/src/test/run-pass/overloaded-deref-count.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::cell::Cell; use std::ops::{Deref, DerefMut}; use std::vec::Vec; diff --git a/src/test/run-pass/overloaded-index-assoc-list.rs b/src/test/run-pass/overloaded-index-assoc-list.rs index 77bb981cfd9..aac0b5e06d0 100644 --- a/src/test/run-pass/overloaded-index-assoc-list.rs +++ b/src/test/run-pass/overloaded-index-assoc-list.rs @@ -11,8 +11,6 @@ // Test overloading of the `[]` operator. In particular test that it // takes its argument *by reference*. -#![feature(associated_types)] - use std::ops::Index; struct AssociationList<K,V> { diff --git a/src/test/run-pass/overloaded-index-autoderef.rs b/src/test/run-pass/overloaded-index-autoderef.rs index d141234287d..bc67c0afc7b 100644 --- a/src/test/run-pass/overloaded-index-autoderef.rs +++ b/src/test/run-pass/overloaded-index-autoderef.rs @@ -10,8 +10,6 @@ // Test overloaded indexing combined with autoderef. -#![feature(associated_types)] - use std::ops::{Index, IndexMut}; struct Foo { @@ -84,4 +82,3 @@ fn main() { assert_eq!(f[1].get(), 5); assert_eq!(f[1].get_from_ref(), 5); } - diff --git a/src/test/run-pass/overloaded-index-in-field.rs b/src/test/run-pass/overloaded-index-in-field.rs index 9c6afc0912d..487fb93c9fe 100644 --- a/src/test/run-pass/overloaded-index-in-field.rs +++ b/src/test/run-pass/overloaded-index-in-field.rs @@ -11,8 +11,6 @@ // Test using overloaded indexing when the "map" is stored in a // field. This caused problems at some point. -#![feature(associated_types)] - use std::ops::Index; struct Foo { @@ -55,4 +53,3 @@ fn main() { } }; assert_eq!(f.foo[1].get(), 2); } - diff --git a/src/test/run-pass/overloaded-index.rs b/src/test/run-pass/overloaded-index.rs index fe09b47cf0a..0afdb24a81c 100644 --- a/src/test/run-pass/overloaded-index.rs +++ b/src/test/run-pass/overloaded-index.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::ops::{Index, IndexMut}; struct Foo { @@ -75,4 +73,3 @@ fn main() { assert_eq!(f[1].get(), 5); assert_eq!(f[1].get_from_ref(), 5); } - diff --git a/src/test/run-pass/parse-assoc-type-lt.rs b/src/test/run-pass/parse-assoc-type-lt.rs index 8a68711a769..5649c4c784d 100644 --- a/src/test/run-pass/parse-assoc-type-lt.rs +++ b/src/test/run-pass/parse-assoc-type-lt.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - trait Foo { type T; fn foo() -> Box<<Self as Foo>::T>; diff --git a/src/test/run-pass/privacy-ns.rs b/src/test/run-pass/privacy-ns.rs index 336791e65fd..f3380352f5f 100644 --- a/src/test/run-pass/privacy-ns.rs +++ b/src/test/run-pass/privacy-ns.rs @@ -12,7 +12,6 @@ // Check we do the correct privacy checks when we import a name and there is an // item with that name in both the value and type namespaces. -#![feature(globs)] #![allow(dead_code)] #![allow(unused_imports)] @@ -115,4 +114,3 @@ fn test_glob3() { fn main() { } - diff --git a/src/test/run-pass/reexport-star.rs b/src/test/run-pass/reexport-star.rs index 8de88aacae7..22ca737d421 100644 --- a/src/test/run-pass/reexport-star.rs +++ b/src/test/run-pass/reexport-star.rs @@ -1,4 +1,3 @@ - // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -9,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] mod a { pub fn f() {} diff --git a/src/test/run-pass/regions-no-bound-in-argument-cleanup.rs b/src/test/run-pass/regions-no-bound-in-argument-cleanup.rs index d52c1c0b12c..d3464f01203 100644 --- a/src/test/run-pass/regions-no-bound-in-argument-cleanup.rs +++ b/src/test/run-pass/regions-no-bound-in-argument-cleanup.rs @@ -8,7 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types, unsafe_destructor)] +#![feature(unsafe_destructor)] pub struct Foo<T>; diff --git a/src/test/run-pass/simd-generics.rs b/src/test/run-pass/simd-generics.rs index ceb6b790426..e89d5c9922d 100644 --- a/src/test/run-pass/simd-generics.rs +++ b/src/test/run-pass/simd-generics.rs @@ -9,7 +9,7 @@ // except according to those terms. -#![feature(associated_types, simd)] +#![feature(simd)] use std::ops; diff --git a/src/test/run-pass/tag-exports.rs b/src/test/run-pass/tag-exports.rs index 2177ab01db9..2eff97d31b2 100644 --- a/src/test/run-pass/tag-exports.rs +++ b/src/test/run-pass/tag-exports.rs @@ -1,4 +1,3 @@ - // Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -9,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(globs)] use alder::*; diff --git a/src/test/run-pass/tcp-connect-timeouts.rs b/src/test/run-pass/tcp-connect-timeouts.rs index 6812255d82c..2598679f921 100644 --- a/src/test/run-pass/tcp-connect-timeouts.rs +++ b/src/test/run-pass/tcp-connect-timeouts.rs @@ -16,7 +16,7 @@ // one test task to ensure that errors are timeouts, not file descriptor // exhaustion. -#![feature(macro_rules, globs)] +#![feature(macro_rules)] #![allow(experimental)] #![reexport_test_harness_main = "test_main"] diff --git a/src/test/run-pass/trait-inheritance-overloading.rs b/src/test/run-pass/trait-inheritance-overloading.rs index 3e8db61b940..43494458518 100644 --- a/src/test/run-pass/trait-inheritance-overloading.rs +++ b/src/test/run-pass/trait-inheritance-overloading.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -#![feature(associated_types)] - use std::cmp::PartialEq; use std::ops::{Add, Sub, Mul}; |
