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 and llogiq.
Updates from Rust Community
News & Blog Posts
- Scripting in Dyon without garbage collector. Dyon is a dynamically typed programming language written in Rust.
- (Almost) 6 Months of Rust Runtime Performance.
- Embrace the glow cloud. Part #5 of a series about a BigData in Rust experiment.
- First steps with Rust and Java Native Interface.
- Parallel iterators part 1: Foundations.
- First steps towards simple and efficient parsers. Making syslog-ng parser plugins with Rust.
- Are we web yet? is relaunched.
- This week in Servo 51.
- This week in Redox 11.
- This week in Amethyst 5. Amethyst is a data-oriented game engine written in Rust.
Notable New Crates & Project Updates
- termpix. Draw images in an ANSI terminal.
- tarpc. An RPC framework for Rust with a focus on ease of use.
- Rust + Haskell experiments in software rasterization, N-Body simulation and Game of Life.
- rust-wlc. Rust bindings for wlc, the Wayland compositor library.
- Afterparty. A library for building Github webhook integrations in Rust.
- Hubcaps. A Rust interface for GitHub.
Updates from Rust Core
107 pull requests were merged in the last week.
Notable changes
- regex: Add a lazy DFA.
- Enable building freestanding sysroot with cargo.
- Implement cfg-based target-specific dependencies.
- [MIR] A pass to type-check MIR.
- libsyntax: Restrict where non-inline modules can appear.
- Implement --unpretty mir.
- std: use more LFS functions on Linux.
- Use 32-bit mode_t on 64-bit Android devices.
- Make future-compat lint
match_of_unit_variant_via_paren_dotdot
deny by default. - Implement read_volatile and write_volatile.
- libc moved from rust-lang-nursery to rust-lang.
sys::libc
now has preliminary DragonFly support.- Another rebase on the 3.8 release branch of LLVM.
- Implement placement-in protocol for
LinkedList
.
New Contributors
- Chad Shaffer
- Gökhan Karabulut
- Jack O'Connor
- rphmeier
- Vlad Ureche
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 1419: Safe memcpy for slices (
[T]::copy_from_slice
). - RFC 1467: Stabilize volatile read and write.
- RFC 1443: Extend atomic compare_and_swap.
- RFC 1461: Move some net2 functionality into libstd.
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:
- Add a
let...else
expression, similar to Swift'sguard let...else
. - Propose a design for specialization, which permits multiple
impl
blocks to apply to the same type/trait.
New RFCs
libstd::sys
, the greatlibstd
refactor.- Add support for 128-bit integers.
- Add a generic
Atomic<T>
type. - Clarify the relationships between various kinds of structs and variants.
Upcoming Events
- 2/24. OpenTechSchool Berlin: Rust Hack and Learn.
- 2/25. Tokyo Rust Meetup #3.
- 3/1. Rust Detroit presents Hadoop Next Gen: Using Cloudera Kudu and Mozilla Rust to Crunch Big Data.
- 3/2. Rust Amsterdam - Talks and Drinks.
- 3/2. Cologne: Live Rust-Coding.
- 3/3. Rust São Paulo Meetup.
- 3/11. Darmstadt Rust Table of Regulars.
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
- Research Engineer - Servo at Mozilla.
- Senior Research Engineer - Rust at Mozilla.
- PhD and postdoc positions at MPI-SWS.
Tweet us at @ThisWeekInRust to get your job offers listed here!
GSoc Project
Hi students! Looking for an awesome summer project in Rust? Look no further! Chris Holcombe from Canonical is an experienced GSoC mentor and has a project to implement CephX protocol decoding. Check it out here.
Crate of the Week
This week's Crate of the Week is Diesel, a rustic typesafe extensible object-relational mapper and query builder. Just go to their site; the examples speak for themselves.
Thanks to LilianMoraru and DroidLogician for the suggestion.
Submit your suggestions for next week!
Quote of the Week
There is essentially no webpage out there that it cannot get through at multiple hundreds of frames-per-second
— pcwalton on Servo's astonishing new WebRender technology.
Thanks to adwhit for the suggestion.