diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs
index 72d326076384..b6ae6fde1e35 100644
--- a/src/libcore/slice.rs
+++ b/src/libcore/slice.rs
@@ -1830,6 +1830,9 @@ impl SlicePartialEq for [A]
if self.len() != other.len() {
return false;
}
+ if self.as_ptr() == other.as_ptr() {
+ return true;
+ }
unsafe {
let size = mem::size_of_val(self);
memcmp(self.as_ptr() as *const u8,