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.
This Week in Rust is openly developed on GitHub. If you find any errors in this week's issue, please submit a PR.
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
This week's crate is mtpng, a parallelized PNG encoder. Thanks to Willi Kappler for the suggestion!
Submit your suggestions and votes for next 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
#[macro_use]
- 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
flow_inits
andflow_{un,ever_}inits
- don't compute padding of braces unless they are unmatched
- don't suggest extra clone when converting cloned slice to Vec
- reexport
CheckLintNameResult
- miri: keep around some information for dead allocations
- miri loop detector hashing
- fix some uses of pointer intrinsics with invalid pointers
- first step towards
u128
instead ofConst
inPatternKind::Range
- stabilize outlives requirements
- stabilize
#[used]
- stabilize slice_align_to
- implement
tuple_struct_self_ctor
(RFC #2302) - implement
map_or_else
forResult<T, E>
- add a implementation of
From
for converting&'a Option<T>
intoOption<&'a T>
- cargo: add empty ctrlc handler on Windows
Approved RFCs
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.
RFCs
- [disposition: merge] Deny the
overflowing_literals
lint for the 2018 edition.
Tracking Issues & PRs
- [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.
New RFCs
Upcoming Events
Online
- 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.
Africa
Asia
Europe
- 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.
North America
- 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.
If you are running a Rust event please add it to the calendar to get it mentioned here. Please remember to add a link to the event too. Email the Rust Community Team for access.
Rust Jobs
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!
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.