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 {
161
161
unsafe fn assume_init ( self ) -> Self :: Target ;
162
162
}
163
163
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
+ }
176
172
}
177
173
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
-
183
174
/// Upper/Lower specification for seveal usages
184
175
#[ derive( Debug , Clone , Copy ) ]
185
176
#[ repr( u8 ) ]
You can’t perform that action at this time.
0 commit comments