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
- State of Rust survey 2016.
- rust-brotli: Lossless compression with Brotli in Rust.
- A toy front-end for LLVM, written in Rust.
- First steps in Rust. Early impressions of Rust from the perspective of a C, C++ and Python coder.
- Attention! Span. Llogiq on
syntax::codemap::Span, Rust's interface between macros and lints.
- Implementing an IMAP client in Rust.
- [podcast] New Rustacean interview. Raph Levien on Rust's current strengths and places it can improve.
- [video] Shar Bringer. Demo of a video game written entirely in Rust. (Discussion thread).
New Crates & Project Updates
- Servo nightly builds are now available.
- clap-rs can now generate Bash tab-completion scripts at compile time
- Thrussh. Portable SSH client and server library.
- Rust Playground Reimplementation. An alternate implementation of the Rust Playground.
- Rust on Tessel. Example of using Rust development on Tessel 2.
- S.U.P.E.R. Android Analyzer. An Android applications vulnerability analyzer written in Rust.
- Takkerus. A Tak AI and board in the Rust language.
- envy. Deserialize env vars into typesafe structs.
- This week in Rust docs 11.
- This week in Ruma - July 03, 2016.
- What’s coming up in imag (10).
Crate of the Week
This week's Crate of the Week is Kerosene2000's reustmann a Von-Neumann Architecture written in Rust. This is presumably useful as a base substrate to train genetic algorithms on. Thanks, Kerosene2000!
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.
- [easy] rust: Make
-C opt-leveloverride each other.
- [easy] rust: Fix error about multiple
- [easy] rust: Move some tests into run-pass-valgrind.
- [moderate] rust: Convert compiler-rt builtins to a Rust crate.
- [moderate] rust: Teach rustc to print CPU, etc. features.
- [easy] rustfmt: Overlong function signatures.
- [easy] rustfmt: Overlong impl signatures.
- [easy] rust-by-example: Add a Mutex chapter.
- [easy] rust-by-exapmle: Add an Arc chapter.
- [easy] rustup: Print new rustup version during
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
103 pull requests were merged in the last two weeks.
- Release Notes for 1.10 (if you want to know early)
- Beta is now more lenient with regards to Clang version
- MultiDecorators are now a special case of MultiModifiers (also some cleanup)
- Methods that require
Self: Sizedare no longer in the vtable (breaking change, also on beta)
- There can be only one...
- Paren-expressions now share their child node's IDs (simplifies lookup)
ThinAttributesare now a
Defaultnow own their target type's
- Trait items can now be macro-expanded
- MIR: Dominators (control flow graph)
- Looking up hosts is now more picky about addresses
HashMaps now use SipHash-1-3 hasher by default
- obligation errors now transitive (fix some memory leaks)
- More robust metadata lock (also in beta)
- Alexander Merritt
- Jonathan L
- Jonathan Price
- Jupp Müller
- Peter Landoll
- Tatsuya Kawano
- Will Crichton
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
- Default and expanded errors for rustc.
- RFC process for formatting style and Rustfmt defaults.
- Introduce more conventions around documenting Rust projects.
- Add space-friendly arguments. Add
-C llvm-argwhich allow you to pass along argument with spaces.
- Add a used attribute to prevent symbols from being discarded.
- Refine the unguarded-escape-hatch from RFC 1238 (nonparametric dropck).
- Propose asserts. This rfc proposes that the following macros be added:
- Clarify behaviour when writing to a union field that implements Drop.
- Windows subsystem support.
- Extend the
fn delimitto support one-shot hashing.
- 7/6. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 7/6. Rust Cologne/Bonn: Open Night.
- 7/6. Symfony User Group Cologne - Rust für PHP Entwickler.
- 7/7. Rust DC: Ownership and Borrowing.
- 7/11. Seattle Rust Meetup.
- 7/12. (San Diego) Eat– Drink– Rust! Downtown Rust Meetup.
- 7/13. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 7/13. Rust Boulder/Denver - Hello, Rust!.
- 7/14. Rust release triage at #rust-triage on irc.mozilla.org.
- 7/14. Columbus Rust Society: Monthly Meeting.
- 7/18. Rust Paris Meetup #30.
fn work(on: RustProject) -> Money
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.