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
- ππ Announcing Rust 1.39.0. ππ
- Async-await on stable Rust.
- Announcing async-std 1.0.
- Futures 0.3 released (with async/await support).
- Comparing parallel Rust and C++.
- Using type-level programming in Rust to make safer hardware abstractions.
- Demystifying asynchronous Rust.
- CSS in librsvg is now in Rust, courtesy of Mozilla Servo.
- How Swift achieved dynamic linking where Rust couldn't.
- Experimental rewrite of a low-level system component of the Windows codebase.
- iou: Rust bindings for liburing.
- Generalizing coroutines in Rust.
- Notes on type layouts and ABIs in Rust.
- Putting Rust in the kernel with eBPF.
- Adventures in Motion Control: Working With G-Code.
- Search for Rust crates with Meili.
#Rust2020
Find all #Rust2020 posts at Read Rust.
Crate of the Week
This week has multiple crates:
- accurate, accumulator types for more accurate (or even provably correct) sum and dot product of floating-point numbers
- transfer, a crate to transfer values between pinned instances.
- genawaiter, a crate to allow generators on stable Rust.
Thanks to Nestor Demeure and Willi Kappler for the suggestions!
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.
- crates.io: carols10cents will be mentoring multiple issues for the month of November & December.
- simdeez: Create SIMD sin/cos/log etc functions as in agner fog's vector libraries.
- Spirit: Tokio 0.2 and hyper 0.13 support.
- Spirit: Support for slog.
If you are a Rust project owner and are looking for contributors, please submit tasks here.
Updates from Rust Core
310 pull requests were merged in the last week
- compiler-builtins: Gate atomic intrinsics on presence of instructions
- Fix C aggregate-passing ABI on powerpc
- Reduce amount of errors given unclosed delimiter
- Remove LintBuffer from Session
- Rename
MethodSig
βFnSig
and use it inItemKind::Fn
- Cheaper doc comments
- Chalk: Implement lowering errors manually
- Use
ptr::drop_in_place
forVecDeque::
{truncate
,clear
} - Stabilize the
re_rebalance_coherence
feature - Add
MaybeUninit
methodsuninit_array
,slice_get_ref
,slice_get_mut
- hashbrown: Remove BuildHasher requirement from raw entry APIs
- hashbrown: Optimize set union and intersection
- clippy: Remove plugin interface
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] Stabilize
!
in Rust 1.41.0. - [disposition: merge] Stabilize Result::map_or_else.
New RFCs
Upcoming Events
Europe
- Nov 14. Zurich, CH - Rust Zurich - RustFest Decompression ZΓΌrich.
- Nov 14. Moscow, RU - Rust Moscow November 2019 Meetup.
- Nov 14. Zagreb, HR - impl Zagreb for Rust - Rust Meetup 201911: Proceduralni makroi.
- Nov 15. Barcelona, ES - Rust GTK/GStreamer Workshop at Linux Application Summit 2019.
- Nov 19-21, Rome, Italy - Weekly Rust course at "La Sapienza" University.
- Nov 21. Turin, IT - Mozilla Torino - Gruppo di studio Rust.
- Nov 27. Berlin, DE - OpenTechSchool Berlin - Rust Hack and Learn.
North America
- Nov 14. San Diego, CA, US - San Diego Rust November Meetup.
- Nov 14. Lehi, UT, US - Utah Rust - November 2019 Regular Meetup.
- Nov 14. Columbus, OH, US - Columbus Rust Society - Monthly Meeting.
- Nov 14. Montreal, QC, CA - Montreal Rust Meetup - November 2019 RustMTL: November Common Traits & Causal Profiling.
- Nov 14. Arlington, VA, US - Rust DC β Mid-month Rustful.
- Nov 20. Portland, OR, US - PDXRust - Hack Night.
- Nov 20. Ann Arbor, MI, US - Ann Arbor Rust Meetup - Monthly Gathering.
- Nov 20. Chicago, IL, US - Chicago Rust Meetup - Constructing a Repl(like) from scratch.
- Nov 25. Durham, NC, US - Triangle Rustaceans - Project Night & Lightning Talks.
- Nov 26. Dallas, TX, US - Dallas Rust - Last Tuesday.
- Nov 27. Vancouver, BC, 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 Team Engineer at Mozilla, multiple locations & remote.
- Rust/Core Developer at Parity, Berlin, DE (Remote available).
Tweet us at @ThisWeekInRust to get your job offers listed here!
Quote of the Week
In my experience, prayers are not a very effective concurrency primitive.
Thanks to Stephan Sokolow for the suggestion!
Please submit quotes and vote for next week!
This Week in Rust is edited by: nasa42, llogiq, and Flavsditz.