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
- Tokio alpha release with async & await.
- Await a minute, why bother?
- Functional programming jargon in Rust.
- Migrating the TiKV Rust client from futures 0.1 to 0.3.
- Updating to async/await.
- Follow-up to Method on Emulating Higher-Kinded Types (HKTs) in Rust.
- Runtime configuration reloading.
- Parsing Rust strings into slices.
- Why is there a large performance impact when looping over an array over 240 elements?
Crate of the Week
This week's crate is topgrade, a command-line program to upgrade all the things.
Thanks to Dror Levin 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
270 pull requests were merged in the last week
- Sort the fat LTO modules to produce deterministic output
- More explicit diagnostic when using a
vec![]
in a pattern - Give built-in macros stable addresses in the standard library
- Remove gensym in
format_args
- Cleanup & Simplify stuff in lowering
- Revert "Simplify MIR generation for logical ops"
- CTFE: Simplify
ConstValue
by not checking for alignment - Miri: Use ldexp from cmath instead
- Fix generator size regressions due to optimization
- Improve invalid_value lint message
- Fix for "ambiguous associated type" issue with ATBs
- Add implementations for converting boxed slices into boxed arrays
- Add {
IoSlice
,IoSliceMut
}::advance
- Stabilize
duration_float
- Deprecate
try!
macro - Use internal iteration in the Sum and Product impls of
Result
andOption
- Implement
DoubleEndedIterator
foriter::
{StepBy
,Peekable
,Take
} - Skip roundtrip on few structs on OpenBSD
- cargo: Improve error message when using API command with non-remote registry
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
No RFCs are currently in final comment period.
Tracking Issues & PRs
- [disposition: merge] Remove recommendation about idiomatic syntax for Arc::clone.
- [disposition: merge] Tracking issue for {HashMap, BTreeMap}::get_key_value stabilization.
- [disposition: merge] Tracking issue for Pin::{into_inner, into_inner_unchecked} (feature
pin_into_inner
). - [disposition: merge] Clarify
Box<T>
representation and its use in FFI.
New RFCs
No new RFCs were proposed this week.
Upcoming Events
Asia Pacific
- Aug 17. Taipei, TW - "Everything in Rust" at COSCUP 2019.
- Aug 27. Seoul, KR - Seoul Rust Meetup, Hapjeong.
- Aug 20. Wellington, NZ - Rust Wellington - Talks: "A C++ Programmer Learns Rust!" + "Ergonomic Errors".
Europe
- Aug 19. Berlin, DE - Rust Berlin - Rust for Decentralised Technology.
- Aug 21. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Aug 21. Berlin, DE - In Rust We Trust - VM on Blockchain.
- Aug 26. Thessaloniki, GR - Rust + GNOME Workshop at GUADEC.
- Aug 27. Thessaloniki, GR - Rust + GNOME BoF at GUADEC.
- Aug 29. Zurich, CH - Rust Zurich - August Community Meetup.
North America
- Aug 21. Vancouver, BC, CA - Vancouver Rust meetup.
- Aug 21. Portland, OR, US - PDXRust - Hack Night (not the usual meetup!).
- Aug 26. Durham, NC, US - Triangle Rustaceans - Build a syslog server with mio.
- Aug 27. Dallas, TX, US - Dallas Rust - Last Tuesday.
- Aug 27. Chicago, IL, US - Chicago Rust Meetup - Macros Rule! A Dive Into Rust's Syntax Extension Toolbox.
- Aug 28. Ann Arbor, MI, US - Ann Arbor Rust Meetup - Monthly Gathering.
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
- Blockchain Runtime Engineer at Parity, Berlin, DE or remote.
- Security Engineer at Parity, Berlin, DE.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
For me, acquiring a taste for rustfmt-style seems worthwhile to 'eliminate broad classes of debate', even if I didn't like some of the style when I first looked. I've resisted the temptation to even read about how to customise.
Years ago, I was that person writing style guides etc. I now prefer this problem to be automated-away; freeing up time for malloc-memcpy-golf (most popular sport in the Rust community).
Thanks to troiganto for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.