Title: This Week in Rust 68 Date: 2015-02-02 Category: This Week in Rust
Hello and welcome to another issue of This Week in Rust! Rust is a systems language pursuing the trifecta: safety, concurrency, and speed. This is a weekly summary of its progress and community. Want something mentioned? Send me an email! Want to get involved? We love contributions.
This Week in Rust is openly developed on GitHub. If you find any errors or omissions in this week's issue, please submit a PR.
86 pull requests were merged in the last week, and 1 RFCs.
Now you can follow breaking changes as they happen!
forloops now operate on theIntoIteratortrait, which eliminates the need to call.iter(), etc. to iterate over collections. There are some new subtleties to remember though regarding what sort of iterators various types yield, in particular thatfor foo in bar { }yields values from a move iterator, destroying the original collection. RFC.std::iowas renamed tostd::old_ioin preparation for implementing the I/O overhaul RFC.- The return type of
Fn,FnMut, andFnOnceare associated types. The unsugared forms of these traits are unstable so this shouldn't break stable code. RFC. FullRange, the type that represents a slice over a complete collection, has been renamed toRangeFull, and removed from the prelude.
- The standard library now partipates in feature gating, so
use of unstable libraries now requires a
#![feature(...)]attribute. The impact of this change is described on the forum. RFC. - References to types that implement
Deref<U>now automatically coerce to references to the dereferenced typeU, e.g.&T where T: Deref<U>automatically coerces to&U. This should eliminate many unsightly uses of&*, as when converting from references to vectors into references to slices. RFC. - The
private_no_mangle_fnslint warns about functions that are#[no_mangle]but not exported.
- Carl Lerche
- Dominik Inführ
- emanueLczirai
- jatinn
- John Hodge
- Loïc Damien
- Luke Steensen
- Nelson Chen
- Orpheus Lummis
- Pyfisch
- Sébastien Marie
- Tyler Thrailkill
- Victory
- Vojtech Kral
- RFC 517 on I/O has been updated with material on
std::env.
- Allow closure expressions to expand to a
&or&muttemporary. Make it so you don't have to write&or&mutin front of closure literals in some circumstances. - Extensible enums. Adds a type of enum that can be extended to new variants without breaking downstream users by disabling exhaustiveness checks.
- Sound generic drop. Makes
Dropsafely implementable on more types, eliminating#[unsafe_destructor]. - io error handling design. Deals with the semantics of closing I/O types.
- std::iter::once. Adds a fn
oncethat returns an iterator yielding a single element. - Add linear type facility. Adds a type that requires explicit drop.
- Welcome to the new Rust forum. There's a new user forum.
- Weekly-meetings/2015-01-27: Slow meeting.
- Heartbleed in Rust. It is possible to write Heartbleed-style bugs in Rust, though there is nothing to be alarmed about - Rust still rules. HN. /r/rust. /r/programming.
- Some notes on Rust, the language. First thread about Rust at LtU in a while. HN. /r/rust. /r/programming.
- An Adventure in API Design and Concurrency in Rust.
- On Rust and Nim. Similar but different. /r/rust. /r/programming.
- updated crates.io dependency graph. The registry is growing fast. Thanks /u/corevette.
- Pre-RFC: resolve support for hyphens in crate names. People love the aesthetics of hyphens-between-words, but hyphens are not valid identifiers.
- Crates.io and namespacing.
- Testing Rust's I/O Speed vs. C. Not such a good showing.
- There was bigtime drama after strcat stopped maintaining his Arch packages.
- SHA1 Performance Quest. Implementing SHA1 in Rust.
- Trace Quest 5. A raytracer in Rust.
- soa. Struct-of-array types, a sometimes more efficient version of
Vec<(A, B)>from cgaebel. /r/rust. - valico. JSON schema validator, from the rustless RESTful micro-framework project.
- FFI-Platypus-Lang-Rust. Call Rust from Perl.
- glassful. kmc strikes again with a syntax extension that translates from Rust syntax to OpenGL Shader Language. /r/rust.
- secretshare. Shamir's secret sharing.
- chip8-rust. A emulator for the Chip-8 VM used to implement some old video games. Uses Piston for graphics.
- snowflake. Library for generating process-unique IDs.
- rust-dev-box. A Vagrantfile for working on Rust.
- rust-roller. A simple console dice-rolling app using the sweet rustbox termbox clone.
- Glium project update. Glium is a safe wrapper for OpenGL that is making a lot of progress.
- This Week in Servo 21.
- Feb 3. N Languages in N Months NY. John Barker is giving an intro to Rust.
- Feb 9. Sydney Meetup. Huon Wilson and Steve Klabnik will be in attendance.
- Feb 9. Seattle Meetup.