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
- Comparing Rust and Java.
- Performance analysis of Ethereum clients Parity (Rust) and Geth (Go).
- Programming for Servo: Experience and knowledge gained.
- Parallel iterators part 2: Producers.
- [video] Ferris makes emulators: Episode 6. Live stream of Ferris developing a N64 emulator in Rust (also on Twitch).
- Query2 in timely dataflow. Part #6 of a series about a BigData in Rust experiment.
- [opinion] Rewrite Everything In Rust.
- Deciding to rewrite getaddrinfo in Rust.
- Testing Rust on iOS with Travis.
- Create GitHub releases with Rust using Hubcaps.
- More type-level shenanigans.
- Measuring Rust Runtime Performance: cargo bench vs. getrusage().
- The highs and lows of Rust.
- This week in Amethyst 6.
- This week in Servo 52.
Notable New Crates & Project Updates
- You can now output the generated MIR on play.rust-lang.org.
- Serde 0.7 - Changelog.
- Mio: Proposal to unify sockets, timers, and channels.
- rust-everywhere. Use CI services to generate binary releases of your Rust program for Linux, Mac and Windows.
- rust-bisect. Find the Rust nightly that that changed some behavior.
- Polly. A truly logic-less templating language for Rust servers.
- mrusty. mruby safe bindings for Rust.
- glitter. A safe, low-level, zero-cost Rust OpenGL wrapper library.
Crate of the Week
Thanks to LilianMoraru for the suggestion.
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: repr(i64) picks 32-bit discriminant on 32-bit platform.
- [Easy] Rust: -C suggestions to use llc for details is annoying.
- [Easy] Rust: JSON errors with suggestions are incomplete.
- [Easy] Rust: All callable types could have better error messages in the "no method found" case to suggest that you may have forgotten to actually call them.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
95 pull requests were merged in the last week.
- Make for loop desugaring for iterators more precise.
- Avoid excessive reallocations during item-bodies checking.
- more check_*_post methods for LintPasses.
- Make sure formatter errors are emitted by the default
- rand: Fix
- std: Cap read/write limits on Windows networking.
- Resolve: fix scoping bug (fixes #31845) and improve unused import detection.
- Update libc to
- Add unstable
- mk: Move disable-jemalloc logic into makefiles.
- Resolve: Fix the visibility of extern crates.
- std: Use Android LFS
#[thread_local]attr on extern static. Fixes #30795
- Kevin Stock
- Michael Huynh
- Stephan Hügel
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
- RFC 1210: Propose a design for specialization, which permits multiple
implblocks to apply to the same type/trait.
Final Comment Period
No RFCs are currently in final comment period.
- Add a new crate-type, rdylib.
- Stabilize implementing panics as aborts.
- Exclude macros from importing with
- Add space-friendly arguments. Add
-C llvm-argwhich allows you to pass along argument with spaces.
- 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/9. OpenTechSchool Berlin: Rust Hack and Learn.
- 3/9. Rust Boulder/Denver Monthly Meeting.
- 3/10. Columbus Rust Society.
- 3/11. Darmstadt Rust Table of Regulars.
- 3/14. Seattle Rust Meetup.
fn work(on: RustProject) -> Money
No jobs listed for this week.
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.
Quote of the Week
Haskell: When you want to feel smarter than everyone else in the universe.
Rust: When you want to feel like an idiot because even a mere compiler is smarter than you.
Thanks to Sinistersnare for the suggestion.