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.2. 🎉🎈
- Rust has a static garbage collector.
- Serverless Rust with Cloudflare Workers.
- Notes on type layouts and ABIs in Rust.
- Game dev from zero - part 1: Hello, Rust lang.
- Fixing a Clippy crash.
- Handling configurations in a Rust app with envy.
- Routing and extraction in Tide: a first sketch.
- Amethyst is growing; news on ongoing projects.
Crate of the Week
This week's crate is Noria, a new streaming data-flow system designed to act as a fast storage backend for read-heavy web applications. Thanks to Stevensonmt 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.
- Rust Web Survey from Networking Services WG.
- Alpine Linux is looking for help with porting Rust to non-x86 architectures.
- Rav1e, an encoder for the new AV1 codec written in Rust, has some open issues for Hacktoberfest 2018.
- Call for participation in the Rust devroom at FOSDEM (2-3 Feb 2019, Brussels, Belgium).
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
124 pull requests were merged in the last week
- rustc: allow targets to specify SIMD args are by-val
- stabilize tool lints
- user annotations in patterns
impl Eq+Hash for TyLayout
- prepare miri engine for enforcing validity invariant during execution
- miri engine: fix run-time validation
- fix handling of
#[must_use]
on unit and uninhabited types #[must_use]
for associated functions is supposed to actually work- the
#[panic_handler]
attribute can be applied to non-functions - NLL is missing struct field suggestion
- add chalk rules related to associated type defs
- better Diagnostic for Trait Object Capture
- structured suggestions for unused-lifetimes lint
- mir-inlining: don't inline virtual calls
- use
MaybeUninit
in liballoc - stabilize the
Option::replace
method - std: implement Thread-local storage for wasm32-unknown-unknown
- std: synchronize global allocator on wasm32
- rustdoc: fix mobile docs
Approved RFCs
Changes to Rust follow the Rust RFC (request for comments) process. These are the RFCs that were approved for implementation this week:
No RFCs were approved 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] Clippy 1.0.
- [disposition: merge] Allow non-ASCII identifiers.
- [disposition: merge] Formatting guidelines.
Tracking Issues & PRs
- [disposition: merge] Report const eval error inside the query.
- [disposition: close] Introduce the
Result::into_inner
method.
New RFCs
Upcoming Events
Online
- Oct 22. Rust Community Content Subteam Meeting in Discord.
- Oct 24. Rust Events Team Meeting in Telegram.
- Oct 31. Rust Community Team Meeting in Discord.
Africa
Europe
- Oct 18. Oslo, NO - Fuzzing and property-based testing in Rust.
- Oct 18. Cambridge, GB - Cambridge Rust Meetup.
- Oct 24. Zurich, CH - Rust Zurich - Atomics.
- Oct 25. Wroclaw, PL - Rust Wroclaw Meetup.
- Oct 27. St. Petersburg, RU - Неформальная встреча Rust-разработчиков.
- Oct 30. Paris, FR - Rust Paris meetup #43.
- Oct 31. Prague, CZ - Prague Containers Meetup - The way of Rust.
- Oct 31. Berlin, DE - Berlin Rust Hack and Learn.
North America
- Oct 18. Ann Arbor, US - Pre Rust Belt Impl Day.
- Oct 19 & 20. Ann Arbor, US - Rust Belt Rust 2018.
- Oct 20 & 21. Vancouver, CA - Vancouver Rust Hackathon.
- Oct 21. Mountain View, US - Rust Dev in Mountain View!.
- Oct 22. Durham, US - Triangle Rustaceans.
- Oct 23. Chicago, US - The Rust Ecosystem: What to Know After "Hello World".
- Oct 28. Mountain View, US - Rust Dev in Mountain View!.
- Oct 30. Dallas, US - Dallas Rust - Last Tuesday.
- Oct 31. Vancouver, CA - Vancouver Rust meetup.
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
- Rust Developer at Parity, Berlin, DE.
- Rust Developer at 1aim, Berlin.
- Rust Engineer at Commure, Inc. (San Francisco, Boston, Montreal).
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
There actually are NOT very many places where the C code’s behavior conflicts with Rust’s borrowing rules. This is both somewhat surprising, because there’s no way this code was written with Rust’s borrowing semantics in mind, and also entirely sensible, since Rust’s borrowing semantics are often quite close to how you actually want your code to behave anyway.
– SimonHeath porting C to Rust
Thanks to StyMaar for the suggestion!
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.