about summary refs log tree commit diff
diff options
context:
space:
mode:
authorDan Gohman <dev@sunfishcode.online>2020-10-08 07:31:55 -0700
committerDan Gohman <dev@sunfishcode.online>2020-10-08 14:34:54 -0700
commit8d2c622d48fc3e39c466e67608450ce078f900ea (patch)
tree5c49196eeaf0772033a25a89eb97ab8c7b6932f8
parent6b8d7911a1d329d0d98b90606d8c2cb808af090a (diff)
downloadrust-8d2c622d48fc3e39c466e67608450ce078f900ea.tar.gz
rust-8d2c622d48fc3e39c466e67608450ce078f900ea.zip
Implement `AsRawFd` for `StdinLock` etc. on WASI.
WASI implements `AsRawFd` for `Stdin`, `Stdout`, and `Stderr`, so
implement it for `StdinLock`, `StdoutLock`, and `StderrLock` as well.
-rw-r--r--library/std/src/sys/wasi/ext/io.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/library/std/src/sys/wasi/ext/io.rs b/library/std/src/sys/wasi/ext/io.rs
index 661214e8f4c..81413f39dc1 100644
--- a/library/std/src/sys/wasi/ext/io.rs
+++ b/library/std/src/sys/wasi/ext/io.rs
@@ -160,3 +160,21 @@ impl AsRawFd for io::Stderr {
         sys::stdio::Stderr.as_raw_fd()
     }
 }
+
+impl<'a> AsRawFd for io::StdinLock<'a> {
+    fn as_raw_fd(&self) -> RawFd {
+        sys::stdio::Stdin.as_raw_fd()
+    }
+}
+
+impl<'a> AsRawFd for io::StdoutLock<'a> {
+    fn as_raw_fd(&self) -> RawFd {
+        sys::stdio::Stdout.as_raw_fd()
+    }
+}
+
+impl<'a> AsRawFd for io::StderrLock<'a> {
+    fn as_raw_fd(&self) -> RawFd {
+        sys::stdio::Stderr.as_raw_fd()
+    }
+}