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.35.0. 🎉🎈
- Update on await syntax.
- Writing a compiler in Rust.
- Announcing Mockiato - A strict, yet friendly mocking library for Rust 2018.
- Programming Servo: Zen and the art of removing blocks from your system.
- Cross compiling and statically linking against Rust libraries.
- Rebuffing the attack of the clones - a newbie's guide to
- New Rustacean Meta 3 - A story and a dream (and the promise of Rust): the final episode of New Rustacean!
- Erebor, a Rust consultancy startup by Alexander Regueiro.
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.
No issues were proposed for CfP.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
286 pull requests were merged in the last week
- Turn turbo 🐟 🍨 into an error
- Make place projections concrete
- Simplify use of keyword symbols
- Fix overflowing literal lint in loops
Symbolmore in lint APIs
- Move gensym operations from
- Avoid symbol interning in
- Avoid more symbol interning
- Don't arena-allocate static symbols
- rustc: Improve type size assertions
- Allow null-pointer-optimized enums in FFI if their underlying representation is FFI safe
- Preserve local scopes in generator MIR
- Annotate each
- Vec: Avoid creating slices to the elements
- Fix dangling reference in
- crates.io: Further address performance regression in search
- rustbuild: Add clippy and fix commands to x.py
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.
No RFCs are currently in final comment period.
- [disposition: merge] Tracking issue for RFC 1789: Conversions from
- [disposition: merge] Tracking issue for reversing the bit pattern in an integer.
- [disposition: merge] Stabilize rustdoc theme options.
- [disposition: merge] Bors policy question: Auto-reassignment on r+.
- [disposition: merge] Stabilize RefCell::try_borrow_unguarded.
- [disposition: merge] Stabilize
- [disposition: merge] Add std::mem::take as suggested in #61129.
- Jun 5. Johannesburg, ZA - Johannesburg Rust Meetup - informal discussions on topics related to the language.
- Jun 5. Clermont-Ferrand, FR - Clermont'ech: Rust Workshop.
- Jun 6. Wroclaw, PL - Rust Wroclaw Meetup #11.
- Jun 12. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Jun 5. Atlanta, GA, US - Grab a beer with fellow Rustaceans.
- Jun 5. Indianapolis, IN, US - Indy.rs.
- Jun 11. Detroit, MI, US - Detroit Rust - June Detroit Rust at Bamboo.
- May 14. Redmond, WA, US - Seattle Rust Meetup - Monthly meetup.
- Jun 13. San Diego, CA, US - San Diego Rust May Meetup.
- Jun 13. Arlington, VA, US - Rust DC — Mid-month Rustful.
- Jun 13. Columbus, OH, US - Columbus Rust Society - Monthly Meeting.
- Jun 12. Vancouver, BC, CA - Vancouver Rust meetup.
- Jun 18. Denver, CO, US - Rust Boulder/Denver - Rust Meetup for June.
- DevOps Storage Engineer at Comcast, Pennsylvania, US.
- Rust Developer at enhance, London, UK or remote.
- Rust Developer at Kaspersky Lab, Moscow, RU.
- Blockchain Runtime Engineer at Parity, Berlin, DE or remote.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
I used to think of programs as execution flowing and think about what the CPU is doing. As I moved to rust I started thinking a lot more about memory: how the data was laid out in memory, and how ownership of different parts of memory is given to different parts of the program at run time.
Thanks to infogulch for the suggestion!