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? Tweet us at @ThisWeekInRust or send us an email! Want to get involved? We love contributions.
Updates from Rust Community
News & Blog Posts
- Baby steps: Slowly porting musl to Rust.
- Why Rust for Low-level Linux programming?
- Lambda crabs (part 1): A mathematical introduction to lifetimes and regions.
- Lambda crabs (part 2): Region inference is (not) magic.
- Lambda crabs (part 3): Region-based alias analysis.
- Interior mutability in Rust: what, why, how?
- Heterogeneous linked lists in Rust.
- Procedural macros vs. macros.
- Beware upcoming Dyon v0.8 - It will be awesome! Dyon is a dynamically typed programming language written in Rust.
- Sandboxing code in Rust.
- Recordings & slides from Rust Anniversary – Part II meetup. Featuring alexcrichton, llogiq, and flanfly.
- Rust out your C. Carol talks about her experience in rewriting Zopfli from C to Rust.
New Crates & Project Updates
- Rust Project changelog for 2016-06-10. Updates to bitflags, libc, nano-config, regex, rustfmt, rust-mode, rustup, rust.vim, sublime-rust, uuid, www.rustbyexample.com, www.rust-lang.org.
- error-chain, a library for consistent and reliable error handling. Initial release.
- rust-skeptic 0.5 released. A tool for testing Rust documentation.
- mayda. A Rust library to compress integer arrays.
- rust-metrics. Multi reporter metrics library.
- process-viewer. A process viewer GUI in Rust.
- strfmt. Rust library for formatting dynamic strings.
- This week in Servo 66.
- This week in Rust docs 7.
- This week in Ruma 2016-06-05.
Crate of the Week
Call for Participation
Always wanted to contribute to open-source projects but didn't know where to start? Every week we highlight some tasks from the Rust community for you to pick and get started!
Some of these tasks may also have mentors available, visit the task page for more information.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
110 pull requests were merged in the last two weeks.
- Implement RFC #495 for slice patterns (RFC text)
- Rust now requires LLVM3.7 or newer (3.6 was also removed from wrappers)
- Outdated -Z gc and -Z count_type_sizes no longer exist (potential script-breaking change)
- Some MIR edge case fixes
- ABI return casts now always use memcpy (will be in next beta)
- MIR now supports 16-bit pointers
- Visitors now visit Statement and Expression Attributes
#[macro_use]on macro-expanded crates
#[test]-annotated elements during non-test build
- MIR no longer double-rounds float consts (also TIL that NaNs are signed)
- Decorators are now run post-expansion
- Old follow checking removed (So we'll get errors instead of warnings for things like
$($x:expr),* ...in macros)
- MIR scopes are now more similar to the lexical structure
- Andrew Brinker
- Chris Tomlinson
- Hendrik Sollich
- Horace Abenga
- Jacob Clark
- Jakob Demler
- James Alan Preiss
- James Lucas
- Joachim Viide
- Mark Côté
- Mathieu De Coster
- Michael Necio
- Morten H. Solvang
- Wojciech Nawrocki
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved this week.
Final Comment Period
- Implement new methods for checked and wrapping casts for potentially lossy integer conversions.
- Change thread local variables to only accept async-signal-safe types.
- Add a initial, minimal form of
- Normalization for long error codes explanations.
- Standardise stream wrappers like compression, encryption.
- Add a
- Remove the one-type-only restriction on
- Dedicated strike team to resolve unsafe code guidelines.
- Default and expanded errors for rustc.
- Add Cortex-M targets to the compiler + binary releases of
DerefMovetrait, and the unsafe
Selfto appear in the where clause of trait impls.
- 6/14. Eat – Drink – Rust! Downtown Rust Meetup (San Diego)
- 6/15. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 6/15. Rust Los Angeles Monthly Meetup - Hack Night.
- 6/16. London Rust Meetup.
- 6/17. Rhein-Main Rust Regulars' Table.
- 6/22. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 6/23. Rust release triage at #rust-triage on irc.mozilla.org.
fn work(on: RustProject) -> Money
No jobs listed for this week.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Isn’t rust too difficult to be widely adopted?
I believe in people.
Thanks to Steven Allen for the suggestion.