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.38.0. 🎉🎈
- Security advisory for Cargo.
- Async-await hits beta.
- Accurate mental model for Rust's reference types.
- Fighting the Async fragmentation.
- Making a RISC-V Operating System using Rust.
- Plugins in Rust.
- Building the Azure IoT Edge Security Daemon in Rust.
- Adventures in motion control: FPS counter.
- Causal profiling Rust code.
- gfx-rs 2019 update.
- Announcing Drone OS - an embedded operating system for writing real-time applications in Rust.
Crate of the Week
This week's crate is pin-project, a proc-macro-derive for ergonomic and safe
Thanks to Krishna Sannasi for the suggestion!
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.
- vector: Update
stdinsource to use a thread instead of using the tokio version. Vector is a high-performance observability data router.
- mundane: Build docs.rs documentation with all features enabled. Mundane is a Rust cryptography library backed by BoringSSL.
- rustfm-scrobble: Issues for Hacktoberfest. rustfm-scrobble is a Last.fm scrobble API library in Rust.
- Tokamak is looking for maintainers. Tokamak is a Rust IDE for Atom.
- Bastion is looking for maintainers. Bastion is a fault-tolerant runtime for Rust applications
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
278 pull requests were merged in the last week
- Rest In Peace, AST borrowck (2012-2019)
- Fix double panic when printing query stack during an ICE
- or-patterns: Push
PatKind/PatternKind::Orat top level to HIR & HAIR
- Fix format macro expansions spans to be macro-generated
- Remove blanket silencing of "type annotation needed" errors
- Include message on tests that should panic but do not
- Point at definition when misusing ADT
- Account for tail expressions when pointing at return type
- On obligation errors point at the unfulfilled binding when possible
- Fix coherence checking for impl trait in type aliases
types.errin locals further to avoid spurious knock-down errors
- check_match: Improve diagnostics for
let A = 2;with
const A: i32 = 3
- Point at enclosing match when expecting
- Add a cycle detector for generic
- Add const-eval support for SIMD types, insert, and extract
- Implement dataflow-based const validation
try_eval_bitsto avoid layout queries
- Even more
- A more explanatory thread local storage panic message
str::as_bytesas const fn
impl<T> From<!> for T
- Remove manual unrolling from
- compiler-builtins: Implement bcmp
- cargo: Improve test output with
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] Minimum supported Rust version.
- [disposition: close] Project-based Examples for Cargo Projects.
- [disposition: merge] Tracking issue for RFC 2008: Future-proofing enums/structs with #[non_exhaustive] attribute.
- [disposition: merge] Stabilize
- [disposition: merge] Stabilize mem::take (mem_take).
- [disposition: merge] Stabilize
- Oct 4. Toulouse, FR - Toulouse Rust Meetup - Future.
- Oct 4. Darmstadt, DE - Hacktoberfest for Rustaceans.
- Oct 5. Kharkiv, UA - PeerLab Kharkiv #Rust: AsyncIO.
- Oct 9. Zagreb, HR - impl Zagreb for Rust: Rust, FFmpeg i TensorFlow.
- Oct 10. Helsinki, FI - Finland Rust-lang Group - October meetup.
- Oct 10. Warsaw, PL - Rust Warsaw - reboot.
- Oct 16. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
- Oct 5. Cleveland, OH, US - Cleveland RustBridge.
- Oct 8. Detroit, MI, US - Detroit Rust - Diving into Rust web frameworks.
- Oct 9. Atlanta, GA, US - Grab a beer with fellow Rustaceans.
- Oct 10. Columbus, OH, US - Columbus Rust Society - Monthly Meeting.
- Oct 10. Arlington, VA, US - Rust DC — Mid-month Rustful.
- Oct 16. Vancouver, BC, CA - Vancouver Rust meetup.
- Oct 18 & 19. Dayton, OH, US - Rust Belt Rust.
- Official /r/rust "Who's Hiring" thread for job-seekers and job-offerers [Rust 1.38].
- Software engineer (New grad) at Embark Studios, Stockholm, SE.
- Multiple Rust jobs at Matter Labs (Berlin, Kiev, remote).
- Rust internship at Tsuru Capital, Tokyo, JP.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Sadly, there were no nominations this week.