about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorOliver Middleton <olliemail27@gmail.com>2016-11-04 18:47:32 +0000
committerOliver Middleton <olliemail27@gmail.com>2016-11-04 18:47:32 +0000
commit775d399da84776bfd8ae09af5f402874372e299c (patch)
tree869464ae11e364cffceaf6a6484910010890b0d9 /src
parentacfe959701ce221af37516401726be6d2814cc3f (diff)
downloadrust-775d399da84776bfd8ae09af5f402874372e299c.tar.gz
rust-775d399da84776bfd8ae09af5f402874372e299c.zip
Remove recursive call from Cow::to_mut
It seems to prevent it from being inlined.
Diffstat (limited to 'src')
-rw-r--r--src/libcollections/borrow.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libcollections/borrow.rs b/src/libcollections/borrow.rs
index 8f9c3578337..30286fb243c 100644
--- a/src/libcollections/borrow.rs
+++ b/src/libcollections/borrow.rs
@@ -159,7 +159,10 @@ impl<'a, B: ?Sized> Cow<'a, B> where B: ToOwned {
         match *self {
             Borrowed(borrowed) => {
                 *self = Owned(borrowed.to_owned());
-                self.to_mut()
+                match *self {
+                    Borrowed(..) => unreachable!(),
+                    Owned(ref mut owned) => owned,
+                }
             }
             Owned(ref mut owned) => owned,
         }