@@ -108,8 +108,8 @@ impl FileDesc {
108108 target_os = "vita" ,
109109 target_os = "nuttx"
110110 ) ) ) ]
111- pub fn read_vectored ( & self , mut bufs : & mut [ IoSliceMut < ' _ > ] ) -> io:: Result < usize > {
112- IoSliceMut :: limit_slices ( & mut bufs, max_iov ( ) ) ;
111+ pub fn read_vectored ( & self , bufs : & mut [ IoSliceMut < ' _ > ] ) -> io:: Result < usize > {
112+ let bufs = io :: limit_slices_mut! ( bufs, max_iov( ) ) ;
113113 let ret = cvt ( unsafe {
114114 libc:: readv (
115115 self . as_raw_fd ( ) ,
@@ -199,12 +199,8 @@ impl FileDesc {
199199 target_os = "netbsd" ,
200200 target_os = "openbsd" , // OpenBSD 2.7
201201 ) ) ]
202- pub fn read_vectored_at (
203- & self ,
204- mut bufs : & mut [ IoSliceMut < ' _ > ] ,
205- offset : u64 ,
206- ) -> io:: Result < usize > {
207- IoSliceMut :: limit_slices ( & mut bufs, max_iov ( ) ) ;
202+ pub fn read_vectored_at ( & self , bufs : & mut [ IoSliceMut < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
203+ let bufs = io:: limit_slices_mut!( bufs, max_iov( ) ) ;
208204 let ret = cvt ( unsafe {
209205 libc:: preadv (
210206 self . as_raw_fd ( ) ,
@@ -241,11 +237,7 @@ impl FileDesc {
241237 // passing 64-bits parameters to syscalls, so we fallback to the default
242238 // implementation if `preadv` is not available.
243239 #[ cfg( all( target_os = "android" , target_pointer_width = "64" ) ) ]
244- pub fn read_vectored_at (
245- & self ,
246- mut bufs : & mut [ IoSliceMut < ' _ > ] ,
247- offset : u64 ,
248- ) -> io:: Result < usize > {
240+ pub fn read_vectored_at ( & self , bufs : & mut [ IoSliceMut < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
249241 syscall ! (
250242 fn preadv(
251243 fd: libc:: c_int,
@@ -255,7 +247,7 @@ impl FileDesc {
255247 ) -> isize ;
256248 ) ;
257249
258- IoSliceMut :: limit_slices ( & mut bufs, max_iov ( ) ) ;
250+ let bufs = io :: limit_slices_mut! ( bufs, max_iov( ) ) ;
259251 let ret = cvt ( unsafe {
260252 preadv (
261253 self . as_raw_fd ( ) ,
@@ -271,11 +263,7 @@ impl FileDesc {
271263 // FIXME(#115199): Rust currently omits weak function definitions
272264 // and its metadata from LLVM IR.
273265 #[ no_sanitize( cfi) ]
274- pub fn read_vectored_at (
275- & self ,
276- mut bufs : & mut [ IoSliceMut < ' _ > ] ,
277- offset : u64 ,
278- ) -> io:: Result < usize > {
266+ pub fn read_vectored_at ( & self , bufs : & mut [ IoSliceMut < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
279267 weak ! (
280268 fn preadv64(
281269 fd: libc:: c_int,
@@ -287,7 +275,7 @@ impl FileDesc {
287275
288276 match preadv64. get ( ) {
289277 Some ( preadv) => {
290- IoSliceMut :: limit_slices ( & mut bufs, max_iov ( ) ) ;
278+ let bufs = io :: limit_slices_mut! ( bufs, max_iov( ) ) ;
291279 let ret = cvt ( unsafe {
292280 preadv (
293281 self . as_raw_fd ( ) ,
@@ -312,11 +300,7 @@ impl FileDesc {
312300 // These versions may be newer than the minimum supported versions of OS's we support so we must
313301 // use "weak" linking.
314302 #[ cfg( target_vendor = "apple" ) ]
315- pub fn read_vectored_at (
316- & self ,
317- mut bufs : & mut [ IoSliceMut < ' _ > ] ,
318- offset : u64 ,
319- ) -> io:: Result < usize > {
303+ pub fn read_vectored_at ( & self , bufs : & mut [ IoSliceMut < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
320304 weak ! (
321305 fn preadv(
322306 fd: libc:: c_int,
@@ -328,7 +312,7 @@ impl FileDesc {
328312
329313 match preadv. get ( ) {
330314 Some ( preadv) => {
331- IoSliceMut :: limit_slices ( & mut bufs, max_iov ( ) ) ;
315+ let bufs = io :: limit_slices_mut! ( bufs, max_iov( ) ) ;
332316 let ret = cvt ( unsafe {
333317 preadv (
334318 self . as_raw_fd ( ) ,
@@ -360,8 +344,8 @@ impl FileDesc {
360344 target_os = "vita" ,
361345 target_os = "nuttx"
362346 ) ) ) ]
363- pub fn write_vectored ( & self , mut bufs : & [ IoSlice < ' _ > ] ) -> io:: Result < usize > {
364- IoSlice :: limit_slices ( & mut bufs, max_iov ( ) ) ;
347+ pub fn write_vectored ( & self , bufs : & [ IoSlice < ' _ > ] ) -> io:: Result < usize > {
348+ let bufs = io :: limit_slices! ( bufs, max_iov( ) ) ;
365349 let ret = cvt ( unsafe {
366350 libc:: writev (
367351 self . as_raw_fd ( ) ,
@@ -430,8 +414,8 @@ impl FileDesc {
430414 target_os = "netbsd" ,
431415 target_os = "openbsd" , // OpenBSD 2.7
432416 ) ) ]
433- pub fn write_vectored_at ( & self , mut bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
434- IoSlice :: limit_slices ( & mut bufs, max_iov ( ) ) ;
417+ pub fn write_vectored_at ( & self , bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
418+ let bufs = io :: limit_slices! ( bufs, max_iov( ) ) ;
435419 let ret = cvt ( unsafe {
436420 libc:: pwritev (
437421 self . as_raw_fd ( ) ,
@@ -468,7 +452,7 @@ impl FileDesc {
468452 // passing 64-bits parameters to syscalls, so we fallback to the default
469453 // implementation if `pwritev` is not available.
470454 #[ cfg( all( target_os = "android" , target_pointer_width = "64" ) ) ]
471- pub fn write_vectored_at ( & self , mut bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
455+ pub fn write_vectored_at ( & self , bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
472456 syscall ! (
473457 fn pwritev(
474458 fd: libc:: c_int,
@@ -478,7 +462,7 @@ impl FileDesc {
478462 ) -> isize ;
479463 ) ;
480464
481- IoSlice :: limit_slices ( & mut bufs, max_iov ( ) ) ;
465+ let bufs = io :: limit_slices! ( bufs, max_iov( ) ) ;
482466 let ret = cvt ( unsafe {
483467 pwritev (
484468 self . as_raw_fd ( ) ,
@@ -491,7 +475,7 @@ impl FileDesc {
491475 }
492476
493477 #[ cfg( all( target_os = "android" , target_pointer_width = "32" ) ) ]
494- pub fn write_vectored_at ( & self , mut bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
478+ pub fn write_vectored_at ( & self , bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
495479 weak ! (
496480 fn pwritev64(
497481 fd: libc:: c_int,
@@ -503,7 +487,7 @@ impl FileDesc {
503487
504488 match pwritev64. get ( ) {
505489 Some ( pwritev) => {
506- IoSlice :: limit_slices ( & mut bufs, max_iov ( ) ) ;
490+ let bufs = io :: limit_slices! ( bufs, max_iov( ) ) ;
507491 let ret = cvt ( unsafe {
508492 pwritev (
509493 self . as_raw_fd ( ) ,
@@ -528,7 +512,7 @@ impl FileDesc {
528512 // These versions may be newer than the minimum supported versions of OS's we support so we must
529513 // use "weak" linking.
530514 #[ cfg( target_vendor = "apple" ) ]
531- pub fn write_vectored_at ( & self , mut bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
515+ pub fn write_vectored_at ( & self , bufs : & [ IoSlice < ' _ > ] , offset : u64 ) -> io:: Result < usize > {
532516 weak ! (
533517 fn pwritev(
534518 fd: libc:: c_int,
@@ -540,7 +524,7 @@ impl FileDesc {
540524
541525 match pwritev. get ( ) {
542526 Some ( pwritev) => {
543- IoSlice :: limit_slices ( & mut bufs, max_iov ( ) ) ;
527+ let bufs = io :: limit_slices! ( bufs, max_iov( ) ) ;
544528 let ret = cvt ( unsafe {
545529 pwritev (
546530 self . as_raw_fd ( ) ,
0 commit comments