diff options
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/clone.rs | 5 | ||||
| -rw-r--r-- | src/libcore/ops/deref.rs | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/libcore/clone.rs b/src/libcore/clone.rs index 9a412e57294..629c197e376 100644 --- a/src/libcore/clone.rs +++ b/src/libcore/clone.rs @@ -227,4 +227,9 @@ mod impls { *self } } + + // Shared references can be cloned, but mutable references *cannot*! + #[stable(feature = "rust1", since = "1.0.0")] + #[cfg(not(bootstrap))] + impl<T: ?Sized> !Clone for &mut T {} } diff --git a/src/libcore/ops/deref.rs b/src/libcore/ops/deref.rs index 68244fdb381..e2deeb55661 100644 --- a/src/libcore/ops/deref.rs +++ b/src/libcore/ops/deref.rs @@ -81,6 +81,10 @@ impl<T: ?Sized> Deref for &T { } } +#[cfg(not(bootstrap))] +#[stable(feature = "rust1", since = "1.0.0")] +impl<T: ?Sized> !DerefMut for &T {} + #[stable(feature = "rust1", since = "1.0.0")] impl<T: ?Sized> Deref for &mut T { type Target = T; |
