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
- Five super helpful Rust things that nobody told you about.
- RaptorQ (RFC6330) and performance optimization in Rust.
- Idiomatic monads in Rust.
- BoringTun, a userspace WireGuard implementation in Rust.
- Understanding futures in Rust - part 1.
- Mocking in Rust with conditional compilation.
- Face detection with Tensorflow Rust.
- DSL in Rust: Challenges.
- Explained: How does async work in Rust?
- This week in Rust and WebAssembly 15.
Crate of the Week
This week's crate is sonic, a fast, lightweight & schema-less search backend. Thanks to Vikrant 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
251 pull requests were merged in the last week
- Add intial support for
wasm32-unknown-wasi
- Allow closure to unsafe fn coercion
- Include bounds in generic re-ordering diagnostic
- Optimize indentation in the pretty printer
- Use
SmallVec
inTokenStreamBuilder
- Make ASCII case conversions more than 4× faster
- Adjust
MaybeUninit
API to discussions - Introduce
proc_macro::Span::source_text
- Add
Default
tostd::alloc::System
- Add
FromStr
impl forNonZero
types - Implement
AsRawFd
for stdio locks - Simplify
checked_duration_since
- Stabilize
refcell_replace_swap
- stabilize
ptr::hash
- Stabilize {
f32
,f64
}::copysign()
- cargo metadata: Don't show
null
deps - cargo install: Be more restrictive about cli flags
- rustdoc: Fix infinite recursion
- rustdoc: collapse blanket impls in the same way as normal impls
Approved RFCs
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.
RFCs
- [disposition: postpone] Destructuring assignment.
Tracking Issues & PRs
- [disposition: merge] More restrictive 2 phase borrows - take 2.
- [disposition: merge] Tracking issue: const fn std::mem::needs_drop.
New RFCs
No new RFCs were proposed this week.
Upcoming Events
Asia Pacific
Europe
- Apr 4. Zagreb, HR - Rust Meetup 201904: Persistent data in Rust.
- Apr 4. Wroclaw, PL - Rust Wroclaw Meetup.
- Apr 4. Madrid, ES - Madrid Rust Meetup.
- Apr 13. Kyiv, UA - PeerLab Kyiv #NativeDev: Rust 1.34 Release in Depth.
- Apr 17. Berlin, DE - Berlin Rust Hack and Learn.
- Apr 18. Turin, IT - Mozilla Torino - Gruppo di studio Rust.
North America
- Apr 9. Seattle, US - Seattle Rust Meetup - Monthly meetup.
- Apr 9. Irvine, US - Orange County Rust - C2Rust - Rewrite all the things.
- Apr 11. Arlington, US - Rust DC — Mid-month Rustful.
- Apr 11. Columbus, US - Columbus Rust Society - Monthly Meeting.
- Apr 18. Denver, US - Rust Boulder/Denver - Rust Meetup for April.
- Apr 17. 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 Smarkets, London, UK.
- Database Engine Developer at Parity, Berlin, DE.
- Lead Engineer (Cryptography) at Cosmian, Paris, FR.
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
Thanks for walking through the process.
Quite the mental exercise, some people do Sudoku, others solve borrow puzzles!
Thanks to Tom Phinney for the suggestion!
Please submit your quotes for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.