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
- 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.
- 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_dotdotdeny by default.
- Implement read_volatile and write_volatile.
- libc moved from rust-lang-nursery to rust-lang.
sys::libcnow has preliminary DragonFly support.
- Another rebase on the 3.8 release branch of LLVM.
- Implement placement-in protocol for
- Chad Shaffer
- Gökhan Karabulut
- Jack O'Connor
- Vlad Ureche
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 (
- 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
- Add a
let...elseexpression, similar to Swift's
- Propose a design for specialization, which permits multiple
implblocks to apply to the same type/trait.
libstd::sys, the great
- Add support for 128-bit integers.
- Add a generic
- Clarify the relationships between various kinds of structs and variants.
- 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.
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!
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.
Quote of the Week
There is essentially no webpage out there that it cannot get through at multiple hundreds of frames-per-second
Thanks to adwhit for the suggestion.