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
- Writing a simple REST app in Rust.
- Paradigms of Rust for the Go developer.
- Using ltrace to debug a memory leak.
- Scheduling timers on OS X with Rust and Kqueue.
- Problem in Rust adoption.
- [podcast] New Rustacean podcast episode 15.
Archave this in common: they're not dumb.
New Crates & Project Updates
- cargo-deb. A cargo subcommand that generates Debian packages from information in Cargo.toml.
- Habitat. Build modern applications with built-in automation.
- Ruru. Native Ruby extensions written in Rust.
- FasterPath. Faster Pathname handling for Ruby written in Rust.
- Polydraw. 2D graphics engine written in Rust.
- Lia. A High-Level Language for Rust.
- json-rust. JSON implementation in Rust.
- OxideNES. NES emulator written in Rust.
- jamal. Bi-directional interface for transformations between JSON and YAML.
- atarashii_imap. IMAP client in Rust.
- This week in Servo 67.
- This week in Rust docs 8.
- This week in Ruma 2016-06-12.
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.
- [easy] rust: Add error explanations for all error codes.
- [easy] rust: List all available ABI strings in reference.md.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
73 pull requests were merged in the last two weeks.
- The pretty-printer will now
try!again instead of questioning (since
?isn't stable, this eases backporting)
- MIR drop handling got a little easier by caching in some cases and dropping less
-Z dump_mirnow writes parent- and promoted MIR to different files
- Creating a file can now
Err(ERROR_FILE_EXISTS)on Windows, too
- Fixed macro call site spans
- Fixed a macro scoping error introduced last week
#[cfg..]attributes in decorator-generated items
- Support nested
- HIR no longer concerned with identifier hygiene (lint-breaking change)
- Debuginfo now contains absolute file paths
- More helpful errors when mixing up function arguments (also arbitrary milestone #34000)
- Map entries can now remove key or both key and value (and are still underused IMHO)
- Esteban Küber
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 1567: Normalization for long error codes explanations.
- RFC 1590: Add a
Final Comment Period
- Remove the one-type-only restriction on
- Introduce more conventions around documenting Rust projects.
- Standardise stream wrappers like compression, encryption.
- Add a initial, minimal form of
- Change thread local variables to only accept async-signal-safe types.
- Implement new methods for checked and wrapping casts for potentially lossy integer conversions.
- Add extra access methods for atomic types.
- Add the ability to define closures that are generic over types.
Cellto work with non-
- 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.
- 6/29. Rust Community Team Meeting at #rust-community on irc.mozilla.org.
- 6/30. Zurich, Switzerland - Introduction to Rust.
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
The Rust standard libs aren't quite batteries included, but they come with a pile of adaptor cables and an optional chemistry lab.
Thanks to llogiq for the suggestion.