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 a pull request. Want to get involved? We love contributions.
Updates from Rust Community
News & Blog Posts
- 🎈🎉 Announcing Rust 1.29. 🎉🎈
- Ripgrep is available as a package in Ubuntu 18.10.
- WebRender is now enabled by default in Firefox Nightly on Windows 10 with Nvidia GPUs.
- RustConf 2018 closing keynote (blog post).
- Rising Tide: building a modular web framework in the open.
- You can’t “turn off the borrow checker” in Rust.
- Measuring SmallVec footprint with Smallvectune.
- How we organize a complex Rust codebase.
- Desktop apps with Rust (Electorn + WebAssembly).
- Postgres over TLS with the postgres crate, r2d2_postgres and openssl.
- The Networking WG newsletter 1.
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.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
131 pull requests were merged in the last week
- temporarily prohibit proc macro attributes placed after derives
- add target thumbv7a-pc-windows-msvc
- PowerPC: fix the calling convention for i1 arguments on PPC32
- allow for opting out of ThinLTO and clean up LTO related cli flag handling
- resolve: allow only core, std, meta and --extern in Rust 2018 paths
- resolve: do not error on access to proc macros imported with
- add inspection and setter methods to proc_macro::Diagnostic
- support ascription for patterns in NLL
- allow named lifetimes in async functions
- suggest && and || instead of 'and' and 'or'
- use structured suggestion for "missing mut" label
- de-overlap the lifetimes of
- don't compute padding of braces unless they are unmatched
- don't suggest extra clone when converting cloned slice to Vec
- miri: keep around some information for dead allocations
- miri loop detector hashing
- fix some uses of pointer intrinsics with invalid pointers
- first step towards
- stabilize outlives requirements
- stabilize slice_align_to
- add a implementation of
- cargo: add empty ctrlc handler on Windows
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
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.
- [disposition: merge] Deny the
overflowing_literalslint for the 2018 edition.
- [disposition: merge] Tracking issue for eRFC 2497, "if- and while-let-chains, take 2", edition changes.
- [disposition: merge] Fix camel case type warning for types with trailing underscores.
- [disposition: merge] Support an explicit annotation for marker traits.
- Sep 25. Rust Community Content Subteam Meeting in Discord.
- Sep 26. Rust Events Team Meeting in Telegram.
- Sep 26. Rust Community Team Meeting in Discord.
- Oct 3. Rust Community Team Meeting in Discord.
- Sep 27. Helsinki, FI - Rust is back with Embedded topics.
- Oct 1. Barcelona, ES - BcnRust Meetup.
- Oct 3. Vilnius, LT - Vilnius Rust Meetup #3 - Network Simulation and WebAssembly.
- Oct 3. Berlin, DE - Berlin Rust Hack and Learn.
- Sep 23. Mountain View, US - Rust Dev in Mountain View!.
- Sep 24. Durham, US - Triangle Rustaceans.
- Sep 25. Dallas, US - Dallas Rust - Last Tuesday.
- Sep 30. Mountain View, US - Rust Dev in Mountain View!.
- Oct 3. Indianopolis, US - Indy.rs.
- Oct 3. Atlanta, US - Grab a beer with fellow Rustaceans.
- Oct 3. Vancouver, CA - Vancouver Rust meetup.
- Oct 19 & 20. Ann Arbor, US - Rust Belt Rust 2018.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Sometimes bad designs will fail faster in Rust
Thanks to kornel for the suggestion!