wasi: Fill out std::fs
module for WASI · rust-lang/rust@38fb7a7 (original) (raw)
`@@ -2,60 +2,5 @@
`
2
2
``
3
3
`#![stable(feature = "rust1", since = "1.0.0")]
`
4
4
``
5
``
`-
use crate::ffi::{OsStr, OsString};
`
6
``
`-
use crate::mem;
`
7
``
`-
use crate::sys::os_str::Buf;
`
8
``
`-
use crate::sys_common::{FromInner, IntoInner, AsInner};
`
9
``
-
10
``
`` -
/// WASI-specific extensions to [OsString
].
``
11
``
`-
///
`
12
``
`` -
/// [OsString
]: ../../../../std/ffi/struct.OsString.html
``
13
``
`-
#[stable(feature = "rust1", since = "1.0.0")]
`
14
``
`-
pub trait OsStringExt {
`
15
``
`` -
/// Creates an OsString
from a byte vector.
``
16
``
`-
#[stable(feature = "rust1", since = "1.0.0")]
`
17
``
`-
fn from_vec(vec: Vec) -> Self;
`
18
``
-
19
``
`` -
/// Yields the underlying byte vector of this OsString
.
``
20
``
`-
#[stable(feature = "rust1", since = "1.0.0")]
`
21
``
`-
fn into_vec(self) -> Vec;
`
22
``
`-
}
`
23
``
-
24
``
`-
#[stable(feature = "rust1", since = "1.0.0")]
`
25
``
`-
impl OsStringExt for OsString {
`
26
``
`-
fn from_vec(vec: Vec) -> OsString {
`
27
``
`-
FromInner::from_inner(Buf { inner: vec })
`
28
``
`-
}
`
29
``
`-
fn into_vec(self) -> Vec {
`
30
``
`-
self.into_inner().inner
`
31
``
`-
}
`
32
``
`-
}
`
33
``
-
34
``
`` -
/// WASI-specific extensions to [OsStr
].
``
35
``
`-
///
`
36
``
`` -
/// [OsStr
]: ../../../../std/ffi/struct.OsStr.html
``
37
5
`#[stable(feature = "rust1", since = "1.0.0")]
`
38
``
`-
pub trait OsStrExt {
`
39
``
`-
#[stable(feature = "rust1", since = "1.0.0")]
`
40
``
`` -
/// Creates an [OsStr
] from a byte slice.
``
41
``
`-
///
`
42
``
`` -
/// [OsStr
]: ../../../ffi/struct.OsStr.html
``
43
``
`-
fn from_bytes(slice: &[u8]) -> &Self;
`
44
``
-
45
``
`` -
/// Gets the underlying byte view of the [OsStr
] slice.
``
46
``
`-
///
`
47
``
`` -
/// [OsStr
]: ../../../ffi/struct.OsStr.html
``
48
``
`-
#[stable(feature = "rust1", since = "1.0.0")]
`
49
``
`-
fn as_bytes(&self) -> &[u8];
`
50
``
`-
}
`
51
``
-
52
``
`-
#[stable(feature = "rust1", since = "1.0.0")]
`
53
``
`-
impl OsStrExt for OsStr {
`
54
``
`-
fn from_bytes(slice: &[u8]) -> &OsStr {
`
55
``
`-
unsafe { mem::transmute(slice) }
`
56
``
`-
}
`
57
``
`-
fn as_bytes(&self) -> &[u8] {
`
58
``
`-
&self.as_inner().inner
`
59
``
`-
}
`
60
``
`-
}
`
61
``
-
``
6
`+
pub use crate::sys_common::os_str_bytes::*;
`