std/sys/fs/
unsupported.rs1use crate::ffi::OsString;
2use crate::fmt;
3use crate::fs::TryLockError;
4use crate::hash::{Hash, Hasher};
5use crate::io::{self, BorrowedCursor, IoSlice, IoSliceMut, SeekFrom};
6use crate::path::{Path, PathBuf};
7pub use crate::sys::fs::common::Dir;
8use crate::sys::time::SystemTime;
9use crate::sys::unsupported;
10
11pub struct File(!);
12
13pub struct FileAttr(!);
14
15pub struct ReadDir(!);
16
17pub struct DirEntry(!);
18
19#[derive(Clone, Debug)]
20pub struct OpenOptions {}
21
22#[derive(Copy, Clone, Debug, Default)]
23pub struct FileTimes {}
24
25pub struct FilePermissions(!);
26
27pub struct FileType(!);
28
29#[derive(Debug)]
30pub struct DirBuilder {}
31
32impl FileAttr {
33 pub fn size(&self) -> u64 {
34 self.0
35 }
36
37 pub fn perm(&self) -> FilePermissions {
38 self.0
39 }
40
41 pub fn file_type(&self) -> FileType {
42 self.0
43 }
44
45 pub fn modified(&self) -> io::Result<SystemTime> {
46 self.0
47 }
48
49 pub fn accessed(&self) -> io::Result<SystemTime> {
50 self.0
51 }
52
53 pub fn created(&self) -> io::Result<SystemTime> {
54 self.0
55 }
56}
57
58impl Clone for FileAttr {
59 fn clone(&self) -> FileAttr {
60 self.0
61 }
62}
63
64impl FilePermissions {
65 pub fn readonly(&self) -> bool {
66 self.0
67 }
68
69 pub fn set_readonly(&mut self, _readonly: bool) {
70 self.0
71 }
72}
73
74impl Clone for FilePermissions {
75 fn clone(&self) -> FilePermissions {
76 self.0
77 }
78}
79
80impl PartialEq for FilePermissions {
81 fn eq(&self, _other: &FilePermissions) -> bool {
82 self.0
83 }
84}
85
86impl Eq for FilePermissions {}
87
88impl fmt::Debug for FilePermissions {
89 fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
90 self.0
91 }
92}
93
94impl FileTimes {
95 pub fn set_accessed(&mut self, _t: SystemTime) {}
96 pub fn set_modified(&mut self, _t: SystemTime) {}
97}
98
99impl FileType {
100 pub fn is_dir(&self) -> bool {
101 self.0
102 }
103
104 pub fn is_file(&self) -> bool {
105 self.0
106 }
107
108 pub fn is_symlink(&self) -> bool {
109 self.0
110 }
111}
112
113impl Clone for FileType {
114 fn clone(&self) -> FileType {
115 self.0
116 }
117}
118
119impl Copy for FileType {}
120
121impl PartialEq for FileType {
122 fn eq(&self, _other: &FileType) -> bool {
123 self.0
124 }
125}
126
127impl Eq for FileType {}
128
129impl Hash for FileType {
130 fn hash<H: Hasher>(&self, _h: &mut H) {
131 self.0
132 }
133}
134
135impl fmt::Debug for FileType {
136 fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
137 self.0
138 }
139}
140
141impl fmt::Debug for ReadDir {
142 fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
143 self.0
144 }
145}
146
147impl Iterator for ReadDir {
148 type Item = io::Result<DirEntry>;
149
150 fn next(&mut self) -> Option<io::Result<DirEntry>> {
151 self.0
152 }
153}
154
155impl DirEntry {
156 pub fn path(&self) -> PathBuf {
157 self.0
158 }
159
160 pub fn file_name(&self) -> OsString {
161 self.0
162 }
163
164 pub fn metadata(&self) -> io::Result<FileAttr> {
165 self.0
166 }
167
168 pub fn file_type(&self) -> io::Result<FileType> {
169 self.0
170 }
171}
172
173impl OpenOptions {
174 pub fn new() -> OpenOptions {
175 OpenOptions {}
176 }
177
178 pub fn read(&mut self, _read: bool) {}
179 pub fn write(&mut self, _write: bool) {}
180 pub fn append(&mut self, _append: bool) {}
181 pub fn truncate(&mut self, _truncate: bool) {}
182 pub fn create(&mut self, _create: bool) {}
183 pub fn create_new(&mut self, _create_new: bool) {}
184}
185
186impl File {
187 pub fn open(_path: &Path, _opts: &OpenOptions) -> io::Result<File> {
188 unsupported()
189 }
190
191 pub fn file_attr(&self) -> io::Result<FileAttr> {
192 self.0
193 }
194
195 pub fn fsync(&self) -> io::Result<()> {
196 self.0
197 }
198
199 pub fn datasync(&self) -> io::Result<()> {
200 self.0
201 }
202
203 pub fn lock(&self) -> io::Result<()> {
204 self.0
205 }
206
207 pub fn lock_shared(&self) -> io::Result<()> {
208 self.0
209 }
210
211 pub fn try_lock(&self) -> Result<(), TryLockError> {
212 self.0
213 }
214
215 pub fn try_lock_shared(&self) -> Result<(), TryLockError> {
216 self.0
217 }
218
219 pub fn unlock(&self) -> io::Result<()> {
220 self.0
221 }
222
223 pub fn truncate(&self, _size: u64) -> io::Result<()> {
224 self.0
225 }
226
227 pub fn read(&self, _buf: &mut [u8]) -> io::Result<usize> {
228 self.0
229 }
230
231 pub fn read_vectored(&self, _bufs: &mut [IoSliceMut<'_>]) -> io::Result<usize> {
232 self.0
233 }
234
235 pub fn is_read_vectored(&self) -> bool {
236 self.0
237 }
238
239 pub fn read_buf(&self, _cursor: BorrowedCursor<'_>) -> io::Result<()> {
240 self.0
241 }
242
243 pub fn write(&self, _buf: &[u8]) -> io::Result<usize> {
244 self.0
245 }
246
247 pub fn write_vectored(&self, _bufs: &[IoSlice<'_>]) -> io::Result<usize> {
248 self.0
249 }
250
251 pub fn is_write_vectored(&self) -> bool {
252 self.0
253 }
254
255 pub fn flush(&self) -> io::Result<()> {
256 self.0
257 }
258
259 pub fn seek(&self, _pos: SeekFrom) -> io::Result<u64> {
260 self.0
261 }
262
263 pub fn size(&self) -> Option<io::Result<u64>> {
264 self.0
265 }
266
267 pub fn tell(&self) -> io::Result<u64> {
268 self.0
269 }
270
271 pub fn duplicate(&self) -> io::Result<File> {
272 self.0
273 }
274
275 pub fn set_permissions(&self, _perm: FilePermissions) -> io::Result<()> {
276 self.0
277 }
278
279 pub fn set_times(&self, _times: FileTimes) -> io::Result<()> {
280 self.0
281 }
282}
283
284impl DirBuilder {
285 pub fn new() -> DirBuilder {
286 DirBuilder {}
287 }
288
289 pub fn mkdir(&self, _p: &Path) -> io::Result<()> {
290 unsupported()
291 }
292}
293
294impl fmt::Debug for File {
295 fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result {
296 self.0
297 }
298}
299
300pub fn readdir(_p: &Path) -> io::Result<ReadDir> {
301 unsupported()
302}
303
304pub fn unlink(_p: &Path) -> io::Result<()> {
305 unsupported()
306}
307
308pub fn rename(_old: &Path, _new: &Path) -> io::Result<()> {
309 unsupported()
310}
311
312pub fn set_perm(_p: &Path, perm: FilePermissions) -> io::Result<()> {
313 match perm.0 {}
314}
315
316pub fn set_times(_p: &Path, _times: FileTimes) -> io::Result<()> {
317 unsupported()
318}
319
320pub fn set_times_nofollow(_p: &Path, _times: FileTimes) -> io::Result<()> {
321 unsupported()
322}
323
324pub fn rmdir(_p: &Path) -> io::Result<()> {
325 unsupported()
326}
327
328pub fn remove_dir_all(_path: &Path) -> io::Result<()> {
329 unsupported()
330}
331
332pub fn exists(_path: &Path) -> io::Result<bool> {
333 unsupported()
334}
335
336pub fn readlink(_p: &Path) -> io::Result<PathBuf> {
337 unsupported()
338}
339
340pub fn symlink(_original: &Path, _link: &Path) -> io::Result<()> {
341 unsupported()
342}
343
344pub fn link(_src: &Path, _dst: &Path) -> io::Result<()> {
345 unsupported()
346}
347
348pub fn stat(_p: &Path) -> io::Result<FileAttr> {
349 unsupported()
350}
351
352pub fn lstat(_p: &Path) -> io::Result<FileAttr> {
353 unsupported()
354}
355
356pub fn canonicalize(_p: &Path) -> io::Result<PathBuf> {
357 unsupported()
358}
359
360pub fn copy(_from: &Path, _to: &Path) -> io::Result<u64> {
361 unsupported()
362}