@@ -462,13 +462,23 @@ impl std::os::unix::fs::FileExt for File {
462
462
#[ cfg( target_os = "wasi" ) ]
463
463
impl std:: os:: wasi:: fs:: FileExt for File {
464
464
#[ inline]
465
- fn read_at ( & self , bufs : & mut [ IoSliceMut ] , offset : u64 ) -> io:: Result < usize > {
466
- self . cap_std . read_at ( bufs, offset)
465
+ fn read_at ( & self , buf : & mut [ u8 ] , offset : u64 ) -> io:: Result < usize > {
466
+ self . cap_std . read_at ( buf, offset)
467
+ }
468
+
469
+ #[ inline]
470
+ fn write_at ( & self , buf : & [ u8 ] , offset : u64 ) -> io:: Result < usize > {
471
+ self . cap_std . write_at ( buf, offset)
472
+ }
473
+
474
+ #[ inline]
475
+ fn read_vectored_at ( & self , bufs : & mut [ IoSliceMut ] , offset : u64 ) -> io:: Result < usize > {
476
+ self . cap_std . read_vectored_at ( bufs, offset)
467
477
}
468
478
469
479
#[ inline]
470
- fn write_at ( & self , bufs : & [ IoSlice ] , offset : u64 ) -> io:: Result < usize > {
471
- self . cap_std . write_at ( bufs, offset)
480
+ fn write_vectored_at ( & self , bufs : & [ IoSlice ] , offset : u64 ) -> io:: Result < usize > {
481
+ self . cap_std . write_vectored_at ( bufs, offset)
472
482
}
473
483
474
484
#[ inline]
@@ -501,45 +511,39 @@ impl std::os::wasi::fs::FileExt for File {
501
511
}
502
512
503
513
#[ inline]
504
- fn create_directory < P : AsRef < Utf8Path > > (
505
- & self ,
506
- dir : P ,
507
- ) -> std:: result:: Result < ( ) , std:: io:: Error > {
508
- let path = from_utf8 ( path) ?;
509
- self . cap_std . create_directory ( dir)
514
+ fn create_directory < P : AsRef < Path > > ( & self , path : P ) -> std:: result:: Result < ( ) , std:: io:: Error > {
515
+ let path = path. as_ref ( ) ;
516
+ self . cap_std . create_directory ( path)
510
517
}
511
518
512
519
#[ inline]
513
- fn read_link < P : AsRef < Utf8Path > > (
520
+ fn read_link < P : AsRef < Path > > (
514
521
& self ,
515
522
path : P ,
516
523
) -> std:: result:: Result < std:: path:: PathBuf , std:: io:: Error > {
517
- let path = from_utf8 ( path) ? ;
524
+ let path = path. as_ref ( ) ;
518
525
self . cap_std . read_link ( path)
519
526
}
520
527
521
528
#[ inline]
522
- fn metadata_at < P : AsRef < Utf8Path > > (
529
+ fn metadata_at < P : AsRef < Path > > (
523
530
& self ,
524
531
lookup_flags : u32 ,
525
532
path : P ,
526
533
) -> std:: result:: Result < std:: fs:: Metadata , std:: io:: Error > {
527
- let path = from_utf8 ( path) ? ;
534
+ let path = path. as_ref ( ) ;
528
535
self . cap_std . metadata_at ( lookup_flags, path)
529
536
}
530
537
531
538
#[ inline]
532
- fn remove_file < P : AsRef < Utf8Path > > ( & self , path : P ) -> std:: result:: Result < ( ) , std:: io:: Error > {
533
- let path = from_utf8 ( path) ? ;
539
+ fn remove_file < P : AsRef < Path > > ( & self , path : P ) -> std:: result:: Result < ( ) , std:: io:: Error > {
540
+ let path = path. as_ref ( ) ;
534
541
self . cap_std . remove_file ( path)
535
542
}
536
543
537
544
#[ inline]
538
- fn remove_directory < P : AsRef < Utf8Path > > (
539
- & self ,
540
- path : P ,
541
- ) -> std:: result:: Result < ( ) , std:: io:: Error > {
542
- let path = from_utf8 ( path) ?;
545
+ fn remove_directory < P : AsRef < Path > > ( & self , path : P ) -> std:: result:: Result < ( ) , std:: io:: Error > {
546
+ let path = path. as_ref ( ) ;
543
547
self . cap_std . remove_directory ( path)
544
548
}
545
549
}
0 commit comments