This Week in Rust
Welcome to another issue of This Week in Rust.
What’s cooking on master?
46 PRs were merged this week.
std::rt::iohas moved on to become
#[fixed_stack_segment]attribute has been removed.
ascasts to functions are no longer allowed.
- The return value of the
io::processis no longer an int, but an enum that also represents termination by signal. It’s also ostensibly more portable: to check if a subprocess succeeded, just call
.success()on the return value.
std::cast::unsafe_copyhas has been removed. It is identical to
::is no longer allowed in paths
- Vectors have more overflow checking. This was the cause of a few mysterious segfaults.
- Crate maps can now be generated for libraries, for when you want to embed a Rust library in a non-Rust application.
- Creation of buffered readers/writers has been optimized a bit.
- If you use OS X, you’ll be happy to see that the frivolous “no debug symbols in executable” warning has been stomped out.
- The missing-documentation lint is now more accepting, and won’t warn about private items.
BufWriter, an implementation of Writer for already-existing buffers, is now implemented.
- The native IO backend has seen a good
boost; it will now be
seamlessly fallen back to when the libuv backend isn’t available (you can
test this out by adding
#[no_uv];to your crates).
- A lint for numeric literals which overflow their type has been implemented.
Buffertrait has been added to
- The error message when the trait’s method declaration and the method declaration in the implementation aren’t the same now includes the trait name.
- The libuv bindings were largely rewritten for performance, at the sacrifice of some flexibility (which was of questionable value).
_-prefixed variables no longer get an unused
Our first-time contributors this week are:
- Jaemin Moon
- Jay Anderson
- Joe Schafer
- Matthew Iselin
- Zach Kamsler
There was no meeting this week, as a bunch of the core developers were in South Korea for the Servo workweek with Samsung.
- (ML) Rethinking Linking in Rust
- (ML) The future of M:N threading
- (ML) Type system thoughts
- (ML)Changing roles, Tim’s “going-away” post. He did great work on rustpkg, and I hope he finds time to continue to contribute to Rust.
- Booting to Rust (with UEFI)
- Treating Vectors Like Any Other Container
- Moving forward with Rust website