diff options
| author | Simon Sapin <simon.sapin@exyr.org> | 2017-07-14 12:37:57 +0200 |
|---|---|---|
| committer | Simon Sapin <simon.sapin@exyr.org> | 2017-07-22 20:38:40 +0200 |
| commit | 1ef24bb3e23975b8183a04b0691ee0ecb878c17e (patch) | |
| tree | 221ec21e8d5cbaddaf3e04d2c963d3287652df3a /src/libcore | |
| parent | ddaf9b24f035f11a5ce53b39352d3e76093b766e (diff) | |
| download | rust-1ef24bb3e23975b8183a04b0691ee0ecb878c17e.tar.gz rust-1ef24bb3e23975b8183a04b0691ee0ecb878c17e.zip | |
Implement From<Unique<T>> for Shared<T>
Diffstat (limited to 'src/libcore')
| -rw-r--r-- | src/libcore/ptr.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libcore/ptr.rs b/src/libcore/ptr.rs index 633cd20bbf2..29e2114f38a 100644 --- a/src/libcore/ptr.rs +++ b/src/libcore/ptr.rs @@ -16,6 +16,7 @@ #![stable(feature = "rust1", since = "1.0.0")] +use convert::From; use intrinsics; use ops::CoerceUnsized; use fmt; @@ -1288,3 +1289,10 @@ impl<T: ?Sized> fmt::Pointer for Shared<T> { fmt::Pointer::fmt(&self.as_ptr(), f) } } + +#[unstable(feature = "shared", issue = "27730")] +impl<T: ?Sized> From<Unique<T>> for Shared<T> { + fn from(unique: Unique<T>) -> Self { + Shared { pointer: unique.pointer, _marker: PhantomData } + } +} |
