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
- Rust's 2019 roadmap.
- Amethyst receives Mozilla grant for WASM development.
- 6 useful Rust macros that you might not have seen before.
- Learning parser combinators with Rust.
- What not to do in Rust.
- Generic returns in Rust.
- Futures 0.1 compatibility layer.
- What I learned from my failed attempt of writing baremetal android in Rust.
- Building a plugin system using Rust and Wasmer (part 2, part 3).
- Using DMA to transfer data with embedded Rust.
- AiC: Adventures in consensus.
- rustup 1.18.0 released.
- RustFest 2019 - next stop: Barcelona.
- Videos from Rust Latam 2019.
Crate of the Week
This week's crate is color-backtrace, a crate to give panic backtraces more information (and some color, too). 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.
- The CFP for "Everything in Rust" in COSCUP is open now. Rust Taiwan Community is looking for speakers. COSCUP is one of the biggest open source conferences in Asia and takes place in Taipei, Taiwan.
- The CFP for Colorado Gold Rust is open now. The organizers are also looking for volunteers to help people draft talk proposals. If you can help out send them an email or DM them on Twitter at @COGoldRust.
- Evolution Island: Amethyst showcase game looking for collaborators.
- [good first issue] futures-jsonrpc: Handler track request/reply.
- Out-of-band crate evaluation for 2019-04-19: uuid.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
221 pull requests were merged in the last week
- Implement event filtering for self-profiler
- Continue evaluating after missing main
- Point at try
?
on errors affecting the err match arm of the desugared code - Make const parameters enforce no variance constraints
- save-analysis: Use serde instead of libserialize to dump JSON data
- Fix ICE on const evaluation of const method
- Specialize
nth_back()
forBytes
,Fuse
andEnumerate
- Fix the max value of
usize
on 16-bit platforms - Fix
LinkedList
invalidating mutable references - Allow multiple args to
dbg!(..)
- Add
must_use
annotations toResult::is_ok
andis_err
- chalk: Remove coinductive_traits from
ProgramEnvironment
- chalk: Simplify crate structure
- cargo: Treat HTTP/2 stream errors as spurious network errors
- cargo: Validate registry token before operations that require it
- cargo: Pass
OsStr
/OsString
args through to the process spawned by cargo run - rustdoc: Remove
default
keyword from re-exported trait methods
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] Attributes in formal function parameter position.
Tracking Issues & PRs
- [disposition: merge] [Stabilization] Future APIs.
- [disposition: merge] Tracking issue for vectored IO support.
- [disposition: merge] Tracking issue for Iterator::copied.
- [disposition: merge] Implement
iter::Sum
anditer::Product
forOption
.
New RFCs
- Add
f16b
floating-point type for native support ofbfloat16
. - Allow floating-point operations to provide extra precision than specified, as an optimization.
- Introduce "compiler-team contributors".
Upcoming Events
Africa
Asia Pacific
- Apr 20. Beijing, CN - RustCon Asia.
- Apr 20. Taipei, TW - Rust Taiwan Meetup.
- Apr 24. Tokyo, JP - Tokyo Rust Meetup.
- May 6. Auckland, NZ - Rust AKL - Rust Debugging Techniques + Lightening Talks.
- May 8. Kuala Lumpur, MY - Rust Meetup May 2019.
Europe
- Apr 25. Paris, FR - Rust Paris meetup #44.
- Apr 25. Brno, CZ - Rust Brno meetup.
- Apr 26. Stuttgart, DE - Rust Meetup #2
- Apr 26. Berlin, DE - Oxidize Berlin Conference.
- Apr 30. London, UK - Rust London User Group - LDN Talks.
- Apr 30. Vienna, AT - Rust Meetup.
- May 1. Berlin, DE - Berlin Rust Hack and Learn.
- May 2. Munich, DE - Rust Munich - Rust libp2p.
- May 6. Budapest, HU - Rust Hungary Meetup.
- May 9. Wrocław, PL - Rust Wroclaw Meetup #10.
- May 9. Berlin, DE - Rust+GNOME 2019 Hackfest#5.
North America
- Apr 25. San Francisco, US - WebAssembly SF - Let's talk about Rust and a microkernel @ Cloudflare.
- Apr 30. Dallas, US - Dallas Rust - Last Tuesday.
- May 1. Vancouver, CA - Vancouver Rust meetup.
- May 1. Atlanta, US - Grab a beer with fellow Rustaceans.
- May 9. San Diego, US - San Diego Rust May Meetup.
- May 9. Arlington, US - Rust DC — Mid-month Rustful.
- May 9. Columbus, US - Columbus Rust Society - Monthly Meeting.
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.
- Senior Firware Engineer (Rust/C) at Helium, San Francisco, US.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
No quote was selected for QotW.
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.