X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=library%2Fcore%2Fsrc%2Fslice%2Fspecialize.rs;h=80eb590587f993b1e248a65a1c481368c44e994a;hb=72067c77bdc1e8e339b9ed378a2c0ca0a9367c4d;hp=425cf71626f40edae9d5f8dd2ce577c5e1a07549;hpb=90be409db0ef219bad25e38ec7b1902683389b07;p=rust.git diff --git a/library/core/src/slice/specialize.rs b/library/core/src/slice/specialize.rs index 425cf71626f..80eb590587f 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; } } }