cap_fs_ext/
is_file_read_write.rs1use cap_primitives::fs::is_file_read_write;
2use io_lifetimes::AsFilelike;
3use std::io;
4
5pub trait IsFileReadWrite {
12 fn is_file_read_write(&self) -> io::Result<(bool, bool)>;
14}
15
16impl IsFileReadWrite for std::fs::File {
17 #[inline]
18 fn is_file_read_write(&self) -> io::Result<(bool, bool)> {
19 is_file_read_write(self)
20 }
21}
22
23#[cfg(feature = "std")]
24impl IsFileReadWrite for cap_std::fs::File {
25 #[inline]
26 fn is_file_read_write(&self) -> io::Result<(bool, bool)> {
27 is_file_read_write(&self.as_filelike_view::<std::fs::File>())
28 }
29}
30
31#[cfg(all(feature = "std", feature = "fs_utf8"))]
32impl IsFileReadWrite for cap_std::fs_utf8::File {
33 #[inline]
34 fn is_file_read_write(&self) -> io::Result<(bool, bool)> {
35 is_file_read_write(&self.as_filelike_view::<std::fs::File>())
36 }
37}