Skip to content

Commit 529f8bc

Browse files
committed
auto merge of #19146 : gereeter/rust/reference-borrow, r=aturon
This should be a more general version of #19131.
2 parents 2274996 + 07af6f0 commit 529f8bc

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/libcore/borrow.rs

+10-2
Original file line numberDiff line numberDiff line change
@@ -69,8 +69,16 @@ impl<Sized? T> BorrowFromMut<T> for T {
6969
fn borrow_from_mut(owned: &mut T) -> &mut T { owned }
7070
}
7171

72-
impl BorrowFrom<&'static str> for str {
73-
fn borrow_from<'a>(owned: &'a &'static str) -> &'a str { &**owned }
72+
impl<'a, Sized? T> BorrowFrom<&'a T> for T {
73+
fn borrow_from<'b>(owned: &'b &'a T) -> &'b T { &**owned }
74+
}
75+
76+
impl<'a, Sized? T> BorrowFrom<&'a mut T> for T {
77+
fn borrow_from<'b>(owned: &'b &'a mut T) -> &'b T { &**owned }
78+
}
79+
80+
impl<'a, Sized? T> BorrowFromMut<&'a mut T> for T {
81+
fn borrow_from_mut<'b>(owned: &'b mut &'a mut T) -> &'b mut T { &mut **owned }
7482
}
7583

7684
/// A generalization of Clone to borrowed data.

0 commit comments

Comments
 (0)