diff options
| author | bors <bors@rust-lang.org> | 2018-01-13 21:48:12 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2018-01-13 21:48:12 +0000 |
| commit | cf4c3cbe5524608fd3a8fcd626f3c73223022be7 (patch) | |
| tree | f805e0b886a4355f85d277d83731b16d19a6baad /src/libstd | |
| parent | e6072a7b3835f1875e81c9fd27799f9b20a0770c (diff) | |
| parent | 22598776b04cc947f001191b47c18d981b46eec7 (diff) | |
| download | rust-cf4c3cbe5524608fd3a8fcd626f3c73223022be7.tar.gz rust-cf4c3cbe5524608fd3a8fcd626f3c73223022be7.zip | |
Auto merge of #47416 - petrochenkov:remove-impl-for-dot-dot, r=petrochenkov
Remove `impl Foo for .. {}` in favor `auto trait Foo {}`
Rebase of https://github.com/rust-lang/rust/pull/46480 with restored parsing support.
Diffstat (limited to 'src/libstd')
| -rw-r--r-- | src/libstd/panic.rs | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/libstd/panic.rs b/src/libstd/panic.rs index 219e55d6c12..53c2211745c 100644 --- a/src/libstd/panic.rs +++ b/src/libstd/panic.rs @@ -101,7 +101,7 @@ pub use panicking::{take_hook, set_hook, PanicInfo, Location}; #[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. /// @@ -187,10 +187,7 @@ pub struct AssertUnwindSafe<T>( // * Unique, an owning pointer, lifts an implementation // * Types like Mutex/RwLock which are explicilty poisoned are unwind safe // * Our custom AssertUnwindSafe wrapper is indeed unwind safe -#[stable(feature = "catch_unwind", since = "1.9.0")] -#[allow(unknown_lints)] -#[allow(auto_impl)] -impl UnwindSafe for .. {} + #[stable(feature = "catch_unwind", since = "1.9.0")] impl<'a, T: ?Sized> !UnwindSafe for &'a mut T {} #[stable(feature = "catch_unwind", since = "1.9.0")] @@ -219,14 +216,10 @@ impl<T: RefUnwindSafe + ?Sized> UnwindSafe for Rc<T> {} impl<T: RefUnwindSafe + ?Sized> UnwindSafe for Arc<T> {} // Pretty simple implementations for the `RefUnwindSafe` marker trait, -// basically just saying that this is a marker trait and `UnsafeCell` is the +// basically just saying that `UnsafeCell` is the // only thing which doesn't implement it (which then transitively applies to // everything else). #[stable(feature = "catch_unwind", since = "1.9.0")] -#[allow(unknown_lints)] -#[allow(auto_impl)] -impl RefUnwindSafe for .. {} -#[stable(feature = "catch_unwind", since = "1.9.0")] impl<T: ?Sized> !RefUnwindSafe for UnsafeCell<T> {} #[stable(feature = "catch_unwind", since = "1.9.0")] impl<T> RefUnwindSafe for AssertUnwindSafe<T> {} |
