@@ -682,7 +682,7 @@ mod _socket {
682682 let mut buffer = Vec :: with_capacity ( bufsize) ;
683683 let sock = self . sock ( vm) ?;
684684 let n = self . sock_op ( vm, SelectKind :: Read , || {
685- sock. recv_with_flags ( spare_capacity_mut ( & mut buffer ) , flags)
685+ sock. recv_with_flags ( buffer . spare_capacity_mut ( ) , flags)
686686 } ) ?;
687687 unsafe { buffer. set_len ( n) } ;
688688 Ok ( buffer)
@@ -718,7 +718,7 @@ mod _socket {
718718 let mut buffer = Vec :: with_capacity ( bufsize) ;
719719 let ( n, addr) = self . sock_op ( vm, SelectKind :: Read , || {
720720 self . sock_io ( ) ?
721- . recv_from_with_flags ( spare_capacity_mut ( & mut buffer ) , flags)
721+ . recv_from_with_flags ( buffer . spare_capacity_mut ( ) , flags)
722722 } ) ?;
723723 unsafe { buffer. set_len ( n) } ;
724724 Ok ( ( buffer, get_addr_tuple ( & addr, vm) ) )
@@ -1205,16 +1205,6 @@ mod _socket {
12051205 Ok ( s. to_string_lossy ( ) . into_owned ( ) )
12061206 }
12071207
1208- // TODO: use `Vec::spare_capacity_mut` once stable.
1209- fn spare_capacity_mut < T > ( v : & mut Vec < T > ) -> & mut [ MaybeUninit < T > ] {
1210- let ( len, cap) = ( v. len ( ) , v. capacity ( ) ) ;
1211- unsafe {
1212- std:: slice:: from_raw_parts_mut (
1213- v. as_mut_ptr ( ) . add ( len) as * mut MaybeUninit < T > ,
1214- cap - len,
1215- )
1216- }
1217- }
12181208 fn slice_as_uninit < T > ( v : & mut [ T ] ) -> & mut [ MaybeUninit < T > ] {
12191209 unsafe { & mut * ( v as * mut [ T ] as * mut [ MaybeUninit < T > ] ) }
12201210 }
0 commit comments