<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/library/std/src/sys/wasi/stdio.rs, branch 1.76.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.76.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.76.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-10-10T13:47:22+00:00</updated>
<entry>
<title>Consolidate AsFd instances for stdio types into `library/std/src/os/fd/owned.rs`</title>
<updated>2022-10-10T13:47:22+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2022-10-10T13:47:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ef68327de76d5f2bb6f9b2a6fa47b92fbf3ff7cc'/>
<id>urn:sha1:ef68327de76d5f2bb6f9b2a6fa47b92fbf3ff7cc</id>
<content type='text'>
</content>
</entry>
<entry>
<title>impl AsFd for io::{Stdin, Stdout, Stderr}, not the sys versions</title>
<updated>2022-10-09T18:01:56+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2022-10-09T14:31:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=88bb4e4bda2e5ccafbc28ded2ef289841d5fb655'/>
<id>urn:sha1:88bb4e4bda2e5ccafbc28ded2ef289841d5fb655</id>
<content type='text'>
https://github.com/rust-lang/rust/pull/100892 implemented AsFd for the
sys versions, rather than for the public types. Change the
implementations to apply to the public types.
</content>
</entry>
<entry>
<title>Add SAFETY comments for AsFd implementations on stdin/stdout/stderr</title>
<updated>2022-10-03T15:30:58+00:00</updated>
<author>
<name>Josh Triplett</name>
<email>josh@joshtriplett.org</email>
</author>
<published>2022-10-03T11:58:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=905ebc31b1514d3d7f2a7043d437c82253727455'/>
<id>urn:sha1:905ebc31b1514d3d7f2a7043d437c82253727455</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add stability attributes.</title>
<updated>2022-10-03T15:30:55+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>dev@sunfishcode.online</email>
</author>
<published>2022-09-22T23:14:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=625ebf603d05e3a3e738a066cea37b578a83abaa'/>
<id>urn:sha1:625ebf603d05e3a3e738a066cea37b578a83abaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add `AsFd` implementations for stdio lock types on WASI.</title>
<updated>2022-09-22T23:16:39+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>dev@sunfishcode.online</email>
</author>
<published>2022-09-13T16:42:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ed812c7addb8871d9f644604513679263cebc43f'/>
<id>urn:sha1:ed812c7addb8871d9f644604513679263cebc43f</id>
<content type='text'>
This mirrors the implementations on Unix platforms, and also mirrors the
existing `AsRawFd` impls.

This is similar to #100892, but is for the `*Lock` types.
</content>
</entry>
<entry>
<title>Add `AsFd` implementations for stdio types on WASI.</title>
<updated>2022-08-22T22:46:41+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>dev@sunfishcode.online</email>
</author>
<published>2022-08-22T19:14:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2efe6b0d3d1cca5b0b360ff760f08cb7d647878a'/>
<id>urn:sha1:2efe6b0d3d1cca5b0b360ff760f08cb7d647878a</id>
<content type='text'>
This mirrors the implementations on Unix platforms, and also mirrors the
existing `AsRawFd` impls.
</content>
</entry>
<entry>
<title>wasi: update to wasi 0.11.0</title>
<updated>2022-01-28T12:27:29+00:00</updated>
<author>
<name>Harald Hoyer</name>
<email>harald@profian.com</email>
</author>
<published>2022-01-21T13:19:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=00cbc8d0c820b8ba09c73fe538852e1ee7d5d8d0'/>
<id>urn:sha1:00cbc8d0c820b8ba09c73fe538852e1ee7d5d8d0</id>
<content type='text'>
To make use of `sock_accept()`, update the wasi crate to `0.11.0`.

Signed-off-by: Harald Hoyer &lt;harald@profian.com&gt;
</content>
</entry>
<entry>
<title>I/O safety.</title>
<updated>2021-08-19T19:02:39+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>dev@sunfishcode.online</email>
</author>
<published>2021-07-01T04:44:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d15418586ca78ead4f87ad18fcffa3550c1b169e'/>
<id>urn:sha1:d15418586ca78ead4f87ad18fcffa3550c1b169e</id>
<content type='text'>
Introduce `OwnedFd` and `BorrowedFd`, and the `AsFd` trait, and
implementations of `AsFd`, `From&lt;OwnedFd&gt;` and `From&lt;T&gt; for OwnedFd`
for relevant types, along with Windows counterparts for handles and
sockets.

Tracking issue:
 - &lt;https://github.com/rust-lang/rust/issues/87074&gt;

RFC:
 - &lt;https://github.com/rust-lang/rfcs/blob/master/text/3128-io-safety.md&gt;
</content>
</entry>
<entry>
<title>Change WASI's `RawFd` from `u32` to `c_int` (`i32`).</title>
<updated>2021-08-13T16:10:22+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>dev@sunfishcode.online</email>
</author>
<published>2021-08-13T15:58:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=35de5c9b35be9feef992c3d03ed95a7176a15726'/>
<id>urn:sha1:35de5c9b35be9feef992c3d03ed95a7176a15726</id>
<content type='text'>
WASI previously used `u32` as its `RawFd` type, since its "file descriptors"
are unsigned table indices, and there's no fundamental reason why WASI can't
have more than 2^31 handles.

However, this creates myriad little incompability problems with code
that also supports Unix platforms, where `RawFd` is `c_int`. While WASI
isn't a Unix, it often shares code with Unix, and this difference made
such shared code inconvenient. #87329 is the most recent example of such
code.

So, switch WASI to use `c_int`, which is `i32`. This will mean that code
intending to support WASI should ideally avoid assuming that negative file
descriptors are invalid, even though POSIX itself says that file descriptors
are never negative.

This is a breaking change, but `RawFd` is considerd an experimental
feature in [the documentation].

[the documentation]: https://doc.rust-lang.org/stable/std/os/wasi/io/type.RawFd.html
</content>
</entry>
<entry>
<title>x.py fmt</title>
<updated>2021-02-24T18:58:21+00:00</updated>
<author>
<name>Dan Gohman</name>
<email>dev@sunfishcode.online</email>
</author>
<published>2021-02-24T18:58:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7d5242a03a9e30fe880ff1af83a3ad7df5e62159'/>
<id>urn:sha1:7d5242a03a9e30fe880ff1af83a3ad7df5e62159</id>
<content type='text'>
</content>
</entry>
</feed>
