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.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
This week's edition was edited by: Vikrant Chaudhary, Brian Anderson.
From the Blogosphere
- MaidSafe switches to Rust from C++.
- Servo developer tools overview. Peek into one of the largest Rust projects' build systems.
- Extending Zabbix monitoring using the Rust programming language.
- Learning Rust With Entirely Too Many Linked Lists.
- Creating A Multi-echo Server using Rust and mio.
- Rust: A modern programming environment.
- Rewriting a Java web-service in Rustful framework.
- My first unsafe code. Llogiq writing space-efficient
Option<_>
replacements.
New Releases & Project Updates
- Cupid. Native Rust access to the x86 and x86_64 CPUID instruction.
- nue. I/O and binary data encoding for Rust.
- oxcable. A signal processing framework for making music with Rust.
- rsmpi. Message Passing Interface (MPI) bindings for Rust.
- rust_box2d. Rust bindings for Box2D physics engine.
- avr-emulator. Atmel 8-bit AVR Emulator in React and Rust.
- Piston 0.5 released.
- font-atlas. A set of crates for creating and using 'font atlases'.
- Hound 1.0.0. A crate for reading and writing wav audio.
- Rusty_Dodge. A simple polar dodging game using glium.
Friend of the Tree
The Rust Team likes to occasionally recognize people who have made outstanding contributions to The Rust Project, its ecosystem, and its community. These people are 'friends of the tree'.
This week's friend of the tree was @tshepang.
Over the last year Tshepang has landed over 100 improvements to our documentation. Tshepang saw where documentation was not, and said "No. This will not do."
We should all endeavor to care about docs as much as Tshepang.
Subteam reports
Every week The Rust Teams release a report on what is going on in their corner of the project. Here are the highlights from this week's report.
- The compiler is being refactored to work on an HIR and an MIR.
- Work is proceeding on stabilizing the core library.
- Basic allocators will soon be available.
- MSVC integration is proceeding rapidly.
What's cooking on nightly?
134 pull requests were merged in the last week.
- Rewrite the improper_ctypes lint. Makes the lint a bit more accurate , and improves the quality of the diagnostic messages.
- Resolve lifetime parameters for foreign functions
- Allow and implement recursive static variables
- Implement default type-parameter fallback
- Create proper debug info for functions and function pointers
- Fix negate_unsigned feature gate check
- Add
IntoRaw{Fd,Handle,Socket}
traits - Get cargo working on i686-pc-windows-msvc
New Contributors
- Andy Caldwell
- Antti Keränen
- eternaleye
- Jason Schein
- Jonathan Hansford
- Kornel Lesiński
- Leif Arne Storset
- midinastasurazz
- mitaa
- Ticki
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 837: Allow macros in types
- RFC 1191: Add an HIR to the compiler
- RFC 1193: Prevent lint changes being breaking
Final Comment Period
Every week the team announces the 'final comment period' for RFCs and key PRs which are reaching a decision. Express your opinions now. This week's FCPs are:
- I/O error handling design
- Expand the std::net module
- Allow changing the default allocator
- Stabilize the #[no_std] attribute
- Multiple import
renaming. e.g.
use foo::{self as bar, baz as quux}
.
New RFCs
- Clarify (and improve) rules for projections and well-formedness
- Promote
!
to a type - Checked integer conversions
- Multiple import renaming
- Update the RFC process with sub-teams, amongst other things
Internals discussions
- Pre-RFC: Making extern methods invalid
- New crater reports: 1.1 stable vs beta-2015-07-10 and nightly-2015-07-10.
Upcoming Events
If you are running a Rust event please add it to the calendar to get it mentioned here. Email Erick Tryzelaar or Brian Anderson for access.
fn work(on: RustProject) -> Money
There are some jobs writing Rust! This week's listings:
- Student Research Assistant in Karlsruhe, Germany for embedded development on ARM stm32. Contact Oliver Schneider
Quote of the Week
Opening a vortex to Hell is actually safe, but de-referencing anything you pull from the vortex isn't safe. — Steve Klabnik
Thanks to Gankro for the tip. Submit your quotes for next week!.