added missing refcell ref/refmut coercions to unsized
This commit is contained in:
parent
102a5be712
commit
33db2d65ff
2 changed files with 28 additions and 2 deletions
|
|
@ -147,8 +147,8 @@
|
|||
use clone::Clone;
|
||||
use cmp::{PartialEq, Eq};
|
||||
use default::Default;
|
||||
use marker::{Copy, Send, Sync, Sized};
|
||||
use ops::{Deref, DerefMut, Drop, FnOnce};
|
||||
use marker::{Copy, Send, Sync, Sized, Unsize};
|
||||
use ops::{Deref, DerefMut, Drop, FnOnce, CoerceUnsized};
|
||||
use option::Option;
|
||||
use option::Option::{None, Some};
|
||||
|
||||
|
|
@ -638,6 +638,9 @@ impl<'b, T: ?Sized> Ref<'b, T> {
|
|||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "coerce_unsized", issue = "27732")]
|
||||
impl<'b, T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<Ref<'b, U>> for Ref<'b, T> {}
|
||||
|
||||
impl<'b, T: ?Sized> RefMut<'b, T> {
|
||||
/// Make a new `RefMut` for a component of the borrowed data, e.g. an enum
|
||||
/// variant.
|
||||
|
|
@ -770,6 +773,9 @@ impl<'b, T: ?Sized> DerefMut for RefMut<'b, T> {
|
|||
}
|
||||
}
|
||||
|
||||
#[unstable(feature = "coerce_unsized", issue = "27732")]
|
||||
impl<'b, T: ?Sized + Unsize<U>, U: ?Sized> CoerceUnsized<RefMut<'b, U>> for RefMut<'b, T> {}
|
||||
|
||||
/// The core primitive for interior mutability in Rust.
|
||||
///
|
||||
/// `UnsafeCell<T>` is a type that wraps some `T` and indicates unsafe interior operations on the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue