diff options
| author | Steve Klabnik <steve@steveklabnik.com> | 2015-03-08 09:32:18 -0400 |
|---|---|---|
| committer | Steve Klabnik <steve@steveklabnik.com> | 2015-03-08 09:32:18 -0400 |
| commit | 9653a521b51611d9af79b480dbc3db6a49e7f1a7 (patch) | |
| tree | 9543d589baae9b9ff6afd345ffb134d73a4cd423 /src/libcore | |
| parent | b2f09c1165db805ed00707257dd94bb309faf0fe (diff) | |
Clean up references to opt-out traits
They're opt-in now. Fixes #22572
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/cell.rs | 3 | ||||
| -rw-r--r-- | src/libcore/marker.rs | 11 |
2 files changed, 3 insertions, 11 deletions
diff --git a/src/libcore/cell.rs b/src/libcore/cell.rs index b8a22c30f9e..4f77a20c7ca 100644 --- a/src/libcore/cell.rs +++ b/src/libcore/cell.rs @@ -631,9 +631,6 @@ impl<'b, T> DerefMut for RefMut<'b, T> { /// /// Types like `Cell<T>` and `RefCell<T>` use this type to wrap their internal data. /// -/// `UnsafeCell<T>` doesn't opt-out from any marker traits, instead, types with an `UnsafeCell<T>` -/// interior are expected to opt-out from those traits themselves. -/// /// # Examples /// /// ``` diff --git a/src/libcore/marker.rs b/src/libcore/marker.rs index 868a671b956..26c43a0abd0 100644 --- a/src/libcore/marker.rs +++ b/src/libcore/marker.rs @@ -193,14 +193,9 @@ pub trait Copy : MarkerTrait { /// the `sync` crate do ensure that any mutation cannot cause data /// races. Hence these types are `Sync`. /// -/// Users writing their own types with interior mutability (or anything -/// else that is not thread-safe) should use the `NoSync` marker type -/// (from `std::marker`) to ensure that the compiler doesn't -/// consider the user-defined type to be `Sync`. Any types with -/// interior mutability must also use the `std::cell::UnsafeCell` wrapper -/// around the value(s) which can be mutated when behind a `&` -/// reference; not doing this is undefined behaviour (for example, -/// `transmute`-ing from `&T` to `&mut T` is illegal). +/// Any types with interior mutability must also use the `std::cell::UnsafeCell` wrapper around the +/// value(s) which can be mutated when behind a `&` reference; not doing this is undefined +/// behaviour (for example, `transmute`-ing from `&T` to `&mut T` is illegal). #[stable(feature = "rust1", since = "1.0.0")] #[lang="sync"] #[rustc_on_unimplemented = "`{Self}` cannot be shared between threads safely"] |
