From 02b5fee7325bc0f1c8adb1dedb4fd617aa9155a3 Mon Sep 17 00:00:00 2001 From: "leonardo.yvens" Date: Sun, 3 Dec 2017 10:56:53 -0200 Subject: [PATCH] Adjust tests for removal of `impl Foo for .. {}` --- src/libstd/panic.rs | 4 ++-- .../compile-fail/auto-impl-future-compat.rs | 16 --------------- .../auxiliary/tdticc_coherence_lib.rs | 4 +--- .../coherence-default-trait-impl.rs | 17 +++++----------- src/test/compile-fail/issue-23080-2.rs | 5 +---- src/test/compile-fail/issue-23080.rs | 5 +---- src/test/compile-fail/phantom-oibit.rs | 5 +---- src/test/compile-fail/privacy-sanity.rs | 9 --------- ...zation-no-default-trait-implementations.rs | 20 ------------------- .../specialization/specialization-polarity.rs | 10 ++-------- ...its-inductive-overflow-supertrait-oibit.rs | 4 +--- .../typeck-auto-trait-no-supertraits-2.rs | 4 +--- .../typeck-auto-trait-no-supertraits.rs | 4 +--- .../typeck-auto-trait-no-typeparams.rs | 15 -------------- ...-default-trait-impl-constituent-types-2.rs | 5 +---- ...ck-default-trait-impl-constituent-types.rs | 4 +--- .../typeck-default-trait-impl-negation.rs | 10 ++-------- .../typeck-default-trait-impl-precedence.rs | 6 ++---- src/test/run-make/simd-ffi/simd.rs | 4 +--- src/test/run-make/target-specs/foo.rs | 4 +--- src/test/run-pass/auto-traits.rs | 3 --- src/test/run-pass/issue-29516.rs | 5 ++--- .../rustdoc/auxiliary/rustdoc-default-impl.rs | 5 +---- .../rustdoc-impl-parts-crosscrate.rs | 5 +---- src/test/rustdoc/impl-parts.rs | 5 +---- .../ui/feature-gate-optin-builtin-traits.rs | 4 ---- ...typeck-default-trait-impl-outside-crate.rs | 15 -------------- 27 files changed, 29 insertions(+), 168 deletions(-) delete mode 100644 src/test/compile-fail/auto-impl-future-compat.rs delete mode 100644 src/test/compile-fail/specialization/defaultimpl/specialization-no-default-trait-implementations.rs delete mode 100644 src/test/compile-fail/typeck-auto-trait-no-typeparams.rs delete mode 100644 src/test/ui/typeck-default-trait-impl-outside-crate.rs diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs index 1be3844e29a..53c2211745c 100644 --- a/src/libstd/panic.rs +++ b/src/libstd/panic.rs @@ -101,7 +101,7 @@ #[stable(feature = "catch_unwind", since = "1.9.0")] #[rustc_on_unimplemented = "the type {Self} may not be safely transferred \ across an unwind boundary"] -pub trait UnwindSafe {} +pub auto trait UnwindSafe {} /// A marker trait representing types where a shared reference is considered /// unwind safe. @@ -115,7 +115,7 @@ pub trait UnwindSafe {} #[rustc_on_unimplemented = "the type {Self} may contain interior mutability \ and a reference may not be safely transferrable \ across a catch_unwind boundary"] -pub trait RefUnwindSafe {} +pub auto trait RefUnwindSafe {} /// A simple wrapper around a type to assert that it is unwind safe. /// diff --git a/src/test/compile-fail/auto-impl-future-compat.rs b/src/test/compile-fail/auto-impl-future-compat.rs deleted file mode 100644 index 5c32a756398..00000000000 --- a/src/test/compile-fail/auto-impl-future-compat.rs +++ /dev/null @@ -1,16 +0,0 @@ -// Copyright 2017 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(optin_builtin_traits)] - -trait Foo {} -impl Foo for .. {} -//~^ ERROR The form `impl Foo for .. {}` will be removed, please use `auto trait Foo {}` -//~^^ WARN this was previously accepted by the compiler diff --git a/src/test/compile-fail/auxiliary/tdticc_coherence_lib.rs b/src/test/compile-fail/auxiliary/tdticc_coherence_lib.rs index 1e1c55de87e..f6f7a250174 100644 --- a/src/test/compile-fail/auxiliary/tdticc_coherence_lib.rs +++ b/src/test/compile-fail/auxiliary/tdticc_coherence_lib.rs @@ -11,8 +11,6 @@ #![feature(optin_builtin_traits, core)] #![crate_type = "rlib"] -pub trait DefaultedTrait { } -#[allow(auto_impl)] -impl DefaultedTrait for .. { } +pub auto trait DefaultedTrait { } pub struct Something { t: T } diff --git a/src/test/compile-fail/coherence-default-trait-impl.rs b/src/test/compile-fail/coherence-default-trait-impl.rs index 9c26b8b05f2..a01bc791a45 100644 --- a/src/test/compile-fail/coherence-default-trait-impl.rs +++ b/src/test/compile-fail/coherence-default-trait-impl.rs @@ -10,25 +10,18 @@ #![feature(optin_builtin_traits)] -trait MyTrait { fn foo() {} } +auto trait MySafeTrait {} -#[allow(auto_impl)] -impl MyTrait for .. {} -//~^ ERROR redundant auto implementations of trait `MyTrait` - -#[allow(auto_impl)] -impl MyTrait for .. {} - -trait MySafeTrait {} +struct Foo; #[allow(auto_impl)] -unsafe impl MySafeTrait for .. {} +unsafe impl MySafeTrait for Foo {} //~^ ERROR implementing the trait `MySafeTrait` is not unsafe -unsafe trait MyUnsafeTrait {} +unsafe auto trait MyUnsafeTrait {} #[allow(auto_impl)] -impl MyUnsafeTrait for .. {} +impl MyUnsafeTrait for Foo {} //~^ ERROR the trait `MyUnsafeTrait` requires an `unsafe impl` declaration fn main() {} diff --git a/src/test/compile-fail/issue-23080-2.rs b/src/test/compile-fail/issue-23080-2.rs index bf44cd53f67..0be80f41661 100644 --- a/src/test/compile-fail/issue-23080-2.rs +++ b/src/test/compile-fail/issue-23080-2.rs @@ -12,14 +12,11 @@ #![feature(optin_builtin_traits)] -unsafe trait Trait { +unsafe auto trait Trait { //~^ ERROR E0380 type Output; } -#[allow(auto_impl)] -unsafe impl Trait for .. {} - fn call_method(x: T) {} fn main() { diff --git a/src/test/compile-fail/issue-23080.rs b/src/test/compile-fail/issue-23080.rs index 1fb63391d56..153b6fd07e6 100644 --- a/src/test/compile-fail/issue-23080.rs +++ b/src/test/compile-fail/issue-23080.rs @@ -12,16 +12,13 @@ #![feature(optin_builtin_traits)] -unsafe trait Trait { +unsafe auto trait Trait { //~^ ERROR E0380 fn method(&self) { println!("Hello"); } } -#[allow(auto_impl)] -unsafe impl Trait for .. {} - fn call_method(x: T) { x.method(); } diff --git a/src/test/compile-fail/phantom-oibit.rs b/src/test/compile-fail/phantom-oibit.rs index 1c1cb396a54..52bc0126612 100644 --- a/src/test/compile-fail/phantom-oibit.rs +++ b/src/test/compile-fail/phantom-oibit.rs @@ -16,10 +16,7 @@ use std::marker::{PhantomData}; -unsafe trait Zen {} - -#[allow(auto_impl)] -unsafe impl Zen for .. {} +unsafe auto trait Zen {} unsafe impl<'a, T: 'a> Zen for &'a T where T: Sync {} diff --git a/src/test/compile-fail/privacy-sanity.rs b/src/test/compile-fail/privacy-sanity.rs index 34082adb8f9..f245b7cef29 100644 --- a/src/test/compile-fail/privacy-sanity.rs +++ b/src/test/compile-fail/privacy-sanity.rs @@ -10,7 +10,6 @@ #![feature(optin_builtin_traits)] -trait MarkerTr {} pub trait Tr { fn f(); const C: u8; @@ -21,8 +20,6 @@ pub struct S { } struct Ts(pub u8); -#[allow(auto_impl)] -pub impl MarkerTr for .. {} //~ ERROR unnecessary visibility qualifier pub impl Tr for S { //~ ERROR unnecessary visibility qualifier pub fn f() {} //~ ERROR unnecessary visibility qualifier pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier @@ -39,7 +36,6 @@ pub fn f() {} } const MAIN: u8 = { - trait MarkerTr {} pub trait Tr { fn f(); const C: u8; @@ -50,8 +46,6 @@ pub struct S { } struct Ts(pub u8); - #[allow(auto_impl)] - pub impl MarkerTr for .. {} //~ ERROR unnecessary visibility qualifier pub impl Tr for S { //~ ERROR unnecessary visibility qualifier pub fn f() {} //~ ERROR unnecessary visibility qualifier pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier @@ -71,7 +65,6 @@ pub fn f() {} }; fn main() { - trait MarkerTr {} pub trait Tr { fn f(); const C: u8; @@ -82,8 +75,6 @@ pub struct S { } struct Ts(pub u8); - #[allow(auto_impl)] - pub impl MarkerTr for .. {} //~ ERROR unnecessary visibility qualifier pub impl Tr for S { //~ ERROR unnecessary visibility qualifier pub fn f() {} //~ ERROR unnecessary visibility qualifier pub const C: u8 = 0; //~ ERROR unnecessary visibility qualifier diff --git a/src/test/compile-fail/specialization/defaultimpl/specialization-no-default-trait-implementations.rs b/src/test/compile-fail/specialization/defaultimpl/specialization-no-default-trait-implementations.rs deleted file mode 100644 index cad43ffeace..00000000000 --- a/src/test/compile-fail/specialization/defaultimpl/specialization-no-default-trait-implementations.rs +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(specialization)] -#![feature(optin_builtin_traits)] - -trait Foo {} - -#[allow(auto_impl)] -default impl Foo for .. {} -//~^ ERROR `default impl` is not allowed for auto trait implementations - -fn main() {} diff --git a/src/test/compile-fail/specialization/specialization-polarity.rs b/src/test/compile-fail/specialization/specialization-polarity.rs index c97cb3f6bb7..b28a63c8293 100644 --- a/src/test/compile-fail/specialization/specialization-polarity.rs +++ b/src/test/compile-fail/specialization/specialization-polarity.rs @@ -13,18 +13,12 @@ #![feature(optin_builtin_traits)] #![feature(specialization)] -trait Foo {} - -#[allow(auto_impl)] -impl Foo for .. {} +auto trait Foo {} impl Foo for T {} impl !Foo for u8 {} //~ ERROR E0119 -trait Bar {} - -#[allow(auto_impl)] -impl Bar for .. {} +auto trait Bar {} impl !Bar for T {} impl Bar for u8 {} //~ ERROR E0119 diff --git a/src/test/compile-fail/traits-inductive-overflow-supertrait-oibit.rs b/src/test/compile-fail/traits-inductive-overflow-supertrait-oibit.rs index 6c7928f13f8..61c504d3e1b 100644 --- a/src/test/compile-fail/traits-inductive-overflow-supertrait-oibit.rs +++ b/src/test/compile-fail/traits-inductive-overflow-supertrait-oibit.rs @@ -14,9 +14,7 @@ #![feature(optin_builtin_traits)] -trait Magic: Copy {} //~ ERROR E0568 -#[allow(auto_impl)] -impl Magic for .. {} +auto trait Magic: Copy {} //~ ERROR E0568 fn copy(x: T) -> (T, T) { (x, x) } diff --git a/src/test/compile-fail/typeck-auto-trait-no-supertraits-2.rs b/src/test/compile-fail/typeck-auto-trait-no-supertraits-2.rs index 173582ed22f..fa63088d000 100644 --- a/src/test/compile-fail/typeck-auto-trait-no-supertraits-2.rs +++ b/src/test/compile-fail/typeck-auto-trait-no-supertraits-2.rs @@ -10,9 +10,7 @@ #![feature(optin_builtin_traits)] -trait Magic : Sized where Option : Magic {} //~ ERROR E0568 -#[allow(auto_impl)] -impl Magic for .. {} +auto trait Magic : Sized where Option : Magic {} //~ ERROR E0568 impl Magic for T {} fn copy(x: T) -> (T, T) { (x, x) } diff --git a/src/test/compile-fail/typeck-auto-trait-no-supertraits.rs b/src/test/compile-fail/typeck-auto-trait-no-supertraits.rs index 6802f72504b..c8cf96f52fc 100644 --- a/src/test/compile-fail/typeck-auto-trait-no-supertraits.rs +++ b/src/test/compile-fail/typeck-auto-trait-no-supertraits.rs @@ -34,9 +34,7 @@ #![feature(optin_builtin_traits)] -trait Magic: Copy {} //~ ERROR E0568 -#[allow(auto_impl)] -impl Magic for .. {} +auto trait Magic: Copy {} //~ ERROR E0568 impl Magic for T {} fn copy(x: T) -> (T, T) { (x, x) } diff --git a/src/test/compile-fail/typeck-auto-trait-no-typeparams.rs b/src/test/compile-fail/typeck-auto-trait-no-typeparams.rs deleted file mode 100644 index 3c409d1b371..00000000000 --- a/src/test/compile-fail/typeck-auto-trait-no-typeparams.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2016 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(optin_builtin_traits)] - -trait Magic {} //~ ERROR E0567 -#[allow(auto_impl)] -impl Magic for .. {} diff --git a/src/test/compile-fail/typeck-default-trait-impl-constituent-types-2.rs b/src/test/compile-fail/typeck-default-trait-impl-constituent-types-2.rs index a837d8c9ca7..6e7c9afb674 100644 --- a/src/test/compile-fail/typeck-default-trait-impl-constituent-types-2.rs +++ b/src/test/compile-fail/typeck-default-trait-impl-constituent-types-2.rs @@ -10,10 +10,7 @@ #![feature(optin_builtin_traits)] -trait MyTrait {} - -#[allow(auto_impl)] -impl MyTrait for .. {} +auto trait MyTrait {} struct MyS; diff --git a/src/test/compile-fail/typeck-default-trait-impl-constituent-types.rs b/src/test/compile-fail/typeck-default-trait-impl-constituent-types.rs index bed184eb4cc..4660ecf4fb4 100644 --- a/src/test/compile-fail/typeck-default-trait-impl-constituent-types.rs +++ b/src/test/compile-fail/typeck-default-trait-impl-constituent-types.rs @@ -10,10 +10,8 @@ #![feature(optin_builtin_traits)] -trait MyTrait {} +auto trait MyTrait {} -#[allow(auto_impl)] -impl MyTrait for .. {} impl !MyTrait for *mut T {} struct MyS; diff --git a/src/test/compile-fail/typeck-default-trait-impl-negation.rs b/src/test/compile-fail/typeck-default-trait-impl-negation.rs index f3a6d8a342e..b28cdd8aa24 100644 --- a/src/test/compile-fail/typeck-default-trait-impl-negation.rs +++ b/src/test/compile-fail/typeck-default-trait-impl-negation.rs @@ -10,15 +10,9 @@ #![feature(optin_builtin_traits)] -trait MyTrait {} +auto trait MyTrait {} -#[allow(auto_impl)] -impl MyTrait for .. {} - -unsafe trait MyUnsafeTrait {} - -#[allow(auto_impl)] -unsafe impl MyUnsafeTrait for .. {} +unsafe auto trait MyUnsafeTrait {} struct ThisImplsTrait; diff --git a/src/test/compile-fail/typeck-default-trait-impl-precedence.rs b/src/test/compile-fail/typeck-default-trait-impl-precedence.rs index bdd6487b86d..d63d70bad22 100644 --- a/src/test/compile-fail/typeck-default-trait-impl-precedence.rs +++ b/src/test/compile-fail/typeck-default-trait-impl-precedence.rs @@ -10,14 +10,12 @@ // Test that declaring that `&T` is `Defaulted` if `T:Signed` implies // that other `&T` is NOT `Defaulted` if `T:Signed` does not hold. In -// other words, the `..` impl only applies if there are no existing +// other words, the auto impl only applies if there are no existing // impls whose types unify. #![feature(optin_builtin_traits)] -trait Defaulted { } -#[allow(auto_impl)] -impl Defaulted for .. { } +auto trait Defaulted { } impl<'a,T:Signed> Defaulted for &'a T { } impl<'a,T:Signed> Defaulted for &'a mut T { } fn is_defaulted() { } diff --git a/src/test/run-make/simd-ffi/simd.rs b/src/test/run-make/simd-ffi/simd.rs index 185476fb704..94b91c711cc 100644 --- a/src/test/run-make/simd-ffi/simd.rs +++ b/src/test/run-make/simd-ffi/simd.rs @@ -80,6 +80,4 @@ pub mod marker { } #[lang = "freeze"] -trait Freeze {} -#[allow(auto_impl)] -impl Freeze for .. {} +auto trait Freeze {} diff --git a/src/test/run-make/target-specs/foo.rs b/src/test/run-make/target-specs/foo.rs index a0feb727028..bbd1c5d900f 100644 --- a/src/test/run-make/target-specs/foo.rs +++ b/src/test/run-make/target-specs/foo.rs @@ -18,9 +18,7 @@ trait Copy { } trait Sized { } #[lang = "freeze"] -trait Freeze {} -#[allow(auto_impl)] -impl Freeze for .. {} +auto trait Freeze {} #[lang="start"] fn start(_main: *const u8, _argc: isize, _argv: *const *const u8) -> isize { 0 } diff --git a/src/test/run-pass/auto-traits.rs b/src/test/run-pass/auto-traits.rs index e42aca9ccbd..2511488c94e 100644 --- a/src/test/run-pass/auto-traits.rs +++ b/src/test/run-pass/auto-traits.rs @@ -11,9 +11,6 @@ #![feature(optin_builtin_traits)] auto trait Auto {} -// Redundant but accepted until we remove it. -#[allow(auto_impl)] -impl Auto for .. {} unsafe auto trait AutoUnsafe {} diff --git a/src/test/run-pass/issue-29516.rs b/src/test/run-pass/issue-29516.rs index 5fa0a002a10..465986583b1 100644 --- a/src/test/run-pass/issue-29516.rs +++ b/src/test/run-pass/issue-29516.rs @@ -10,9 +10,8 @@ #![feature(optin_builtin_traits)] -trait NotSame {} -#[allow(auto_impl)] -impl NotSame for .. {} +auto trait NotSame {} + impl !NotSame for (A, A) {} trait OneOfEach {} diff --git a/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs b/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs index 4fd55bd482c..34a1331353d 100644 --- a/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs +++ b/src/test/rustdoc/auxiliary/rustdoc-default-impl.rs @@ -14,10 +14,7 @@ pub mod bar { use std::marker; - pub trait Bar {} - - #[allow(auto_impl)] - impl Bar for .. {} + pub auto trait Bar {} pub trait Foo { fn foo(&self) {} diff --git a/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs b/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs index d886778278d..977d98ca87b 100644 --- a/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs +++ b/src/test/rustdoc/auxiliary/rustdoc-impl-parts-crosscrate.rs @@ -10,7 +10,4 @@ #![feature(optin_builtin_traits)] -pub trait AnOibit {} - -#[allow(auto_impl)] -impl AnOibit for .. {} +pub auto trait AnOibit {} diff --git a/src/test/rustdoc/impl-parts.rs b/src/test/rustdoc/impl-parts.rs index f74f66ce729..6e472da379c 100644 --- a/src/test/rustdoc/impl-parts.rs +++ b/src/test/rustdoc/impl-parts.rs @@ -10,10 +10,7 @@ #![feature(optin_builtin_traits)] -pub trait AnOibit {} - -#[allow(auto_impl)] -impl AnOibit for .. {} +pub auto trait AnOibit {} pub struct Foo { field: T } diff --git a/src/test/ui/feature-gate-optin-builtin-traits.rs b/src/test/ui/feature-gate-optin-builtin-traits.rs index 4c5502cec18..ab3313af16d 100644 --- a/src/test/ui/feature-gate-optin-builtin-traits.rs +++ b/src/test/ui/feature-gate-optin-builtin-traits.rs @@ -20,10 +20,6 @@ fn dummy(&self) {} auto trait AutoDummyTrait {} //~^ ERROR auto traits are experimental and possibly buggy -#[allow(auto_impl)] -impl DummyTrait for .. {} -//~^ ERROR auto trait implementations are experimental and possibly buggy - impl !DummyTrait for DummyStruct {} //~^ ERROR negative trait bounds are not yet fully implemented; use marker types for now diff --git a/src/test/ui/typeck-default-trait-impl-outside-crate.rs b/src/test/ui/typeck-default-trait-impl-outside-crate.rs deleted file mode 100644 index ff0446e23e6..00000000000 --- a/src/test/ui/typeck-default-trait-impl-outside-crate.rs +++ /dev/null @@ -1,15 +0,0 @@ -// Copyright 2015 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -#![feature(optin_builtin_traits)] - -#[allow(auto_impl)] -impl Copy for .. {} //~ ERROR E0318 -fn main() {} -- 2.44.0