From a5734ca41748dfd62904c1b5a1ade7ecd0f9c11e Mon Sep 17 00:00:00 2001 From: mendess Date: Sat, 23 May 2020 14:08:53 +0100 Subject: [PATCH] Override Box::<[T]>::clone_from --- src/liballoc/boxed.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs index 8ef6090c743..bbe68e4222a 100644 --- a/src/liballoc/boxed.rs +++ b/src/liballoc/boxed.rs @@ -1090,6 +1090,14 @@ impl Clone for Box<[T]> { fn clone(&self) -> Self { self.to_vec().into_boxed_slice() } + + fn clone_from(&mut self, other: &Self) { + if self.len() == other.len() { + self.clone_from_slice(&other); + } else { + *self = other.clone(); + } + } } #[stable(feature = "box_borrow", since = "1.1.0")]