File tree Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Expand file tree Collapse file tree 1 file changed +15
-1
lines changed Original file line number Diff line number Diff line change @@ -1803,6 +1803,21 @@ impl<T: Clone> SpecFromElem for T {
1803
1803
}
1804
1804
}
1805
1805
1806
+ impl SpecFromElem for i8 {
1807
+ #[ inline]
1808
+ fn from_elem ( elem : i8 , n : usize ) -> Vec < i8 > {
1809
+ if elem == 0 {
1810
+ return Vec { buf : RawVec :: with_capacity_zeroed ( n) , len : n } ;
1811
+ }
1812
+ unsafe {
1813
+ let mut v = Vec :: with_capacity ( n) ;
1814
+ ptr:: write_bytes ( v. as_mut_ptr ( ) , elem as u8 , n) ;
1815
+ v. set_len ( n) ;
1816
+ v
1817
+ }
1818
+ }
1819
+ }
1820
+
1806
1821
impl SpecFromElem for u8 {
1807
1822
#[ inline]
1808
1823
fn from_elem ( elem : u8 , n : usize ) -> Vec < u8 > {
@@ -1847,7 +1862,6 @@ macro_rules! impl_is_zero {
1847
1862
} ;
1848
1863
}
1849
1864
1850
- impl_is_zero ! ( i8 , |x| x == 0 ) ;
1851
1865
impl_is_zero ! ( i16 , |x| x == 0 ) ;
1852
1866
impl_is_zero ! ( i32 , |x| x == 0 ) ;
1853
1867
impl_is_zero ! ( i64 , |x| x == 0 ) ;
You can’t perform that action at this time.
0 commit comments