diff options
| author | Jonathan S <gereeter@gmail.com> | 2014-11-20 10:34:54 -0600 |
|---|---|---|
| committer | Jonathan S <gereeter@gmail.com> | 2014-11-20 10:34:54 -0600 |
| commit | 07af6f0f43a2f96c0f4fa8afbf1c383539d18030 (patch) | |
| tree | 70ef17fe4f8aa0818808bcdfe92f0730b17198af | |
| parent | 394269d16e3752a23ffa273e68f8aaefd2a510c4 (diff) | |
| download | rust-07af6f0f43a2f96c0f4fa8afbf1c383539d18030.tar.gz rust-07af6f0f43a2f96c0f4fa8afbf1c383539d18030.zip | |
Implement BorrowFrom<&'a T> for T (with mutable variants)
| -rw-r--r-- | src/libcore/borrow.rs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libcore/borrow.rs b/src/libcore/borrow.rs index f0a14c02382..70b1bc16227 100644 --- a/src/libcore/borrow.rs +++ b/src/libcore/borrow.rs @@ -69,8 +69,16 @@ impl<Sized? T> BorrowFromMut<T> for T { fn borrow_from_mut(owned: &mut T) -> &mut T { owned } } -impl BorrowFrom<&'static str> for str { - fn borrow_from<'a>(owned: &'a &'static str) -> &'a str { &**owned } +impl<'a, Sized? T> BorrowFrom<&'a T> for T { + fn borrow_from<'b>(owned: &'b &'a T) -> &'b T { &**owned } +} + +impl<'a, Sized? T> BorrowFrom<&'a mut T> for T { + fn borrow_from<'b>(owned: &'b &'a mut T) -> &'b T { &**owned } +} + +impl<'a, Sized? T> BorrowFromMut<&'a mut T> for T { + fn borrow_from_mut<'b>(owned: &'b mut &'a mut T) -> &'b mut T { &mut **owned } } /// A generalization of Clone to borrowed data. |
