diff --git a/library/core/src/slice/specialize.rs b/library/core/src/slice/specialize.rs index 425cf71626f4..80eb590587f9 100644 --- a/library/core/src/slice/specialize.rs +++ b/library/core/src/slice/specialize.rs @@ -1,6 +1,3 @@ -use crate::mem::{size_of, transmute_copy}; -use crate::ptr::write_bytes; - pub(super) trait SpecFill { fn spec_fill(&mut self, value: T); } @@ -19,17 +16,8 @@ impl SpecFill for [T] { impl SpecFill for [T] { fn spec_fill(&mut self, value: T) { - if size_of::() == 1 { - // SAFETY: The size_of check above ensures that values are 1 byte wide, as required - // for the transmute and write_bytes - unsafe { - let value: u8 = transmute_copy(&value); - write_bytes(self.as_mut_ptr(), value, self.len()); - } - } else { - for item in self.iter_mut() { - *item = value; - } + for item in self.iter_mut() { + *item = value; } } }