<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys_common, branch 1.35.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.35.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.35.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2019-04-05T21:51:07+00:00</updated>
<entry>
<title>Use for_each to extend collections</title>
<updated>2019-04-05T21:51:07+00:00</updated>
<author>
<name>Josh Stone</name>
<email>jistone@redhat.com</email>
</author>
<published>2019-04-05T21:51:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0730a01c5ca3b0e8760d72a05c47d4199bd64728'/>
<id>urn:sha1:0730a01c5ca3b0e8760d72a05c47d4199bd64728</id>
<content type='text'>
This updates the `Extend` implementations to use `for_each` for many
collections: `BinaryHeap`, `BTreeMap`, `BTreeSet`, `LinkedList`, `Path`,
`TokenStream`, `VecDeque`, and `Wtf8Buf`.

Folding with `for_each` enables better performance than a `for`-loop for
some iterators, especially if they can just forward to internal
iterators, like `Chain` and `FlatMap` do.
</content>
</entry>
<entry>
<title>Rollup merge of #59690 - xfix:patch-17, r=cramertj</title>
<updated>2019-04-05T10:46:51+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-04-05T10:46:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c392832195ec9e900fe38cb76de7bf1e8e98df46'/>
<id>urn:sha1:c392832195ec9e900fe38cb76de7bf1e8e98df46</id>
<content type='text'>
Mark unix::ffi::OsStrExt methods as inline

This is a small change, but I found it surprising it's not inlined looking at the assembly.
</content>
</entry>
<entry>
<title>Auto merge of #59619 - alexcrichton:wasi-fs, r=fitzgen</title>
<updated>2019-04-04T12:46:20+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2019-04-04T12:46:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2d065712cf96328093400fd0a1a0c4e0f3b1d51c'/>
<id>urn:sha1:2d065712cf96328093400fd0a1a0c4e0f3b1d51c</id>
<content type='text'>
wasi: Implement more of the standard library

This commit fills out more of the `wasm32-unknown-wasi` target's standard library, notably the `std::fs` module and all of its internals. A few tweaks were made along the way to non-`fs` modules, but the last commit contains the bulk of the work which is to wire up all APIs to their equivalent on WASI targets instead of unconditionally returning "unsupported". After this some basic filesystem operations and such should all be working in WASI!
</content>
</entry>
<entry>
<title>Mark unix::ffi::OsStrExt methods as inline</title>
<updated>2019-04-04T08:55:31+00:00</updated>
<author>
<name>Konrad Borowski</name>
<email>konrad@borowski.pw</email>
</author>
<published>2019-04-04T08:51:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a37c33b9261f534b56434c83258ff24d24bf9351'/>
<id>urn:sha1:a37c33b9261f534b56434c83258ff24d24bf9351</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wasi: Fill out `std::fs` module for WASI</title>
<updated>2019-04-03T15:05:46+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2019-03-29T22:57:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=61b487ca8be1d8667a82c1357dc2729cfe56186d'/>
<id>urn:sha1:61b487ca8be1d8667a82c1357dc2729cfe56186d</id>
<content type='text'>
This commit fills out the `std::fs` module and implementation for WASI.
Not all APIs are implemented, such as permissions-related ones and
`canonicalize`, but all others APIs have been implemented and very
lightly tested so far. We'll eventually want to run a more exhaustive
test suite!

For now the highlights of this commit are:

* The `std::fs::File` type is now backed by `WasiFd`, a raw WASI file
  descriptor.
* All APIs in `std::fs` (except permissions/canonicalize) have
  implementations for the WASI target.
* A suite of unstable extension traits were added to
  `std::os::wasi::fs`. These traits expose the raw filesystem
  functionality of WASI, namely `*at` syscalls (opening a file relative
  to an already opened one, for example). Additionally metadata only
  available on wasi is exposed through these traits.

Perhaps one of the most notable parts is the implementation of
path-taking APIs. WASI actually has no fundamental API that just takes a
path, but rather everything is relative to a previously opened file
descriptor. To allow existing APIs to work (that only take a path) WASI
has a few syscalls to learn about "pre opened" file descriptors by the
runtime. We use these to build a map of existing directory names to file
descriptors, and then when using a path we try to anchor it at an
already-opened file.

This support is very rudimentary though and is intended to be shared
with C since it's likely to be so tricky. For now though the C library
doesn't expose quite an API for us to use, so we implement it for now
and will swap it out as soon as one is available.
</content>
</entry>
<entry>
<title>SGX target: convert a bunch of panics to aborts</title>
<updated>2019-04-01T19:24:46+00:00</updated>
<author>
<name>Jethro Beekman</name>
<email>jethro@fortanix.com</email>
</author>
<published>2019-02-17T10:01:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6d96c8979d37dd137d29a992fc9b962ebe089aaf'/>
<id>urn:sha1:6d96c8979d37dd137d29a992fc9b962ebe089aaf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libstd: deny(elided_lifetimes_in_paths)</title>
<updated>2019-03-31T10:56:51+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-03-01T08:34:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=379c380a60e7b3adb6c6f595222cbfa2d9160a20'/>
<id>urn:sha1:379c380a60e7b3adb6c6f595222cbfa2d9160a20</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #59370 - Centril:rollup, r=Centril</title>
<updated>2019-03-22T21:00:07+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2019-03-22T21:00:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9f91bee03f3eea93285330354dda54706028671c'/>
<id>urn:sha1:9f91bee03f3eea93285330354dda54706028671c</id>
<content type='text'>
Rollup of 18 pull requests

Successful merges:

 - #59106 (Add peer_addr function to UdpSocket)
 - #59170 (Add const generics to rustdoc)
 - #59172 (Update and clean up several parts of CONTRIBUTING.md)
 - #59190 (consistent naming for Rhs type parameter in libcore/ops)
 - #59236 (Rename miri component to miri-preview)
 - #59266 (Do not complain about non-existing fields after parse recovery)
 - #59273 (some small HIR doc improvements)
 - #59291 (Make Option&lt;ThreadId&gt; no larger than ThreadId, with NonZeroU64)
 - #59297 (convert field/method confusion help to suggestions)
 - #59304 (Move some bench tests back from libtest)
 - #59309 (Add messages for different verbosity levels. Output copy actions.)
 - #59321 (Unify E0109, E0110 and E0111)
 - #59322 (Tweak incorrect escaped char diagnostic)
 - #59323 (use suggestions for "enum instead of variant" error)
 - #59327 (Add NAN test to docs)
 - #59329 (cleanup: Remove compile-fail-fulldeps directory again)
 - #59347 (Move one test from run-make-fulldeps to ui)
 - #59360 (Add tracking issue number for `seek_convenience`)

Failed merges:

r? @ghost
</content>
</entry>
<entry>
<title>Auto merge of #58953 - jethrogb:jb/unify-ffi, r=alexcrichton</title>
<updated>2019-03-22T17:34:06+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2019-03-22T17:34:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cb2f34dc6d7e83d8bcfef79e0388d49f0c24aca7'/>
<id>urn:sha1:cb2f34dc6d7e83d8bcfef79e0388d49f0c24aca7</id>
<content type='text'>
Unify OsString/OsStr for byte-based implementations

As requested in #57860

r? @joshtriplett
</content>
</entry>
<entry>
<title>Unify OsString/OsStr for byte-based implementations</title>
<updated>2019-03-21T20:45:35+00:00</updated>
<author>
<name>Jethro Beekman</name>
<email>jethro@fortanix.com</email>
</author>
<published>2019-03-05T23:05:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2079df1c8740dd76d5c28bb8f6193826f6afdec4'/>
<id>urn:sha1:2079df1c8740dd76d5c28bb8f6193826f6afdec4</id>
<content type='text'>
</content>
</entry>
</feed>
