File tree Expand file tree Collapse file tree 1 file changed +8
-17
lines changed
Expand file tree Collapse file tree 1 file changed +8
-17
lines changed Original file line number Diff line number Diff line change @@ -161,25 +161,16 @@ pub(crate) trait VecAssumeInit {
161161 unsafe fn assume_init ( self ) -> Self :: Target ;
162162}
163163
164- macro_rules! impl_vec_assume_init {
165- ( $e: ty) => {
166- impl VecAssumeInit for Vec <MaybeUninit <$e>> {
167- type Target = Vec <$e>;
168- unsafe fn assume_init( self ) -> Self :: Target {
169- // FIXME use Vec::into_raw_parts instead after stablized
170- // https://doc.rust-lang.org/std/vec/struct.Vec.html#method.into_raw_parts
171- let mut me = std:: mem:: ManuallyDrop :: new( self ) ;
172- Vec :: from_raw_parts( me. as_mut_ptr( ) as * mut $e, me. len( ) , me. capacity( ) )
173- }
174- }
175- } ;
164+ impl < T > VecAssumeInit for Vec < MaybeUninit < T > > {
165+ type Target = Vec < T > ;
166+ unsafe fn assume_init ( self ) -> Self :: Target {
167+ // FIXME use Vec::into_raw_parts instead after stablized
168+ // https://doc.rust-lang.org/std/vec/struct.Vec.html#method.into_raw_parts
169+ let mut me = std:: mem:: ManuallyDrop :: new ( self ) ;
170+ Vec :: from_raw_parts ( me. as_mut_ptr ( ) as * mut T , me. len ( ) , me. capacity ( ) )
171+ }
176172}
177173
178- impl_vec_assume_init ! ( f32 ) ;
179- impl_vec_assume_init ! ( f64 ) ;
180- impl_vec_assume_init ! ( c32) ;
181- impl_vec_assume_init ! ( c64) ;
182-
183174/// Upper/Lower specification for seveal usages
184175#[ derive( Debug , Clone , Copy ) ]
185176#[ repr( u8 ) ]
You can’t perform that action at this time.
0 commit comments